move per_frame and view_projection matrix into shared file
This commit is contained in:
Binary file not shown.
@@ -1,5 +1,7 @@
|
|||||||
#language 2026
|
#language 2026
|
||||||
|
|
||||||
|
#include "shared.slang"
|
||||||
|
|
||||||
struct VertexShaderInput {
|
struct VertexShaderInput {
|
||||||
uint32_t vertex_index : SV_VulkanVertexID;
|
uint32_t vertex_index : SV_VulkanVertexID;
|
||||||
|
|
||||||
@@ -20,8 +22,6 @@ struct FragmentShaderOutput {
|
|||||||
float4 color : SV_Target;
|
float4 color : SV_Target;
|
||||||
};
|
};
|
||||||
|
|
||||||
[vk::binding(0, 1)] ConstantBuffer<float4x4> view_projection_matrix : register(b0, space1);
|
|
||||||
|
|
||||||
[shader("vertex")]
|
[shader("vertex")]
|
||||||
VertexShaderOutput main_vertex(VertexShaderInput input) {
|
VertexShaderOutput main_vertex(VertexShaderInput input) {
|
||||||
var output: VertexShaderOutput;
|
var output: VertexShaderOutput;
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#language 2026
|
#language 2026
|
||||||
|
|
||||||
|
#include "shared.slang"
|
||||||
|
|
||||||
struct VertexShaderInput {
|
struct VertexShaderInput {
|
||||||
uint32_t vertex_index : SV_VulkanVertexID;
|
uint32_t vertex_index : SV_VulkanVertexID;
|
||||||
};
|
};
|
||||||
@@ -17,18 +19,6 @@ struct FragmentShaderOutput {
|
|||||||
float4 color : SV_Target;
|
float4 color : SV_Target;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct Per_Frame_Data {
|
|
||||||
int2 drag_start;
|
|
||||||
int2 mouse;
|
|
||||||
float2 grid_offset;
|
|
||||||
uint32_t grid_width;
|
|
||||||
uint32_t map_width;
|
|
||||||
uint32_t grid_height;
|
|
||||||
};
|
|
||||||
|
|
||||||
[vk::binding(0, 1)] ConstantBuffer<float4x4> view_projection_matrix : register(b0, space1);
|
|
||||||
[vk::binding(1, 1)] ConstantBuffer<Per_Frame_Data> per_frame : register(b1, space1);
|
|
||||||
|
|
||||||
[shader("vertex")]
|
[shader("vertex")]
|
||||||
VertexShaderOutput main_vertex(VertexShaderInput input) {
|
VertexShaderOutput main_vertex(VertexShaderInput input) {
|
||||||
var output: VertexShaderOutput;
|
var output: VertexShaderOutput;
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
struct Per_Frame_Data {
|
||||||
|
int2 drag_start;
|
||||||
|
int2 mouse;
|
||||||
|
float2 grid_offset;
|
||||||
|
uint32_t grid_width;
|
||||||
|
uint32_t map_width;
|
||||||
|
uint32_t grid_height;
|
||||||
|
};
|
||||||
|
|
||||||
|
[vk::binding(0, 1)] ConstantBuffer<float4x4> view_projection_matrix : register(b0, space1);
|
||||||
|
[vk::binding(1, 1)] ConstantBuffer<Per_Frame_Data> per_frame : register(b1, space1);
|
||||||
+10
-27
@@ -1,5 +1,6 @@
|
|||||||
#language 2026
|
#language 2026
|
||||||
|
|
||||||
|
#include "shared.slang"
|
||||||
#include "wgsl_workaround.slang"
|
#include "wgsl_workaround.slang"
|
||||||
|
|
||||||
struct VertexShaderInput {
|
struct VertexShaderInput {
|
||||||
@@ -18,41 +19,23 @@ struct FragmentShaderOutput {
|
|||||||
float4 color : SV_Target;
|
float4 color : SV_Target;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct Per_Frame_Data {
|
|
||||||
int2 drag_start;
|
|
||||||
int2 mouse;
|
|
||||||
float2 grid_offset;
|
|
||||||
uint32_t grid_width;
|
|
||||||
uint32_t map_width;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct Block0 {
|
|
||||||
[format("r16ui")]
|
[format("r16ui")]
|
||||||
Texture2D<uint32_t> map_texture;
|
[vk::binding(0, 0)] Texture2D<uint32_t> map_texture;
|
||||||
};
|
|
||||||
|
|
||||||
struct Block1 {
|
|
||||||
ConstantBuffer<float4x4> view_projection_matrix;
|
|
||||||
ConstantBuffer<Per_Frame_Data> per_frame;
|
|
||||||
};
|
|
||||||
|
|
||||||
ParameterBlock<Block0> block0;
|
|
||||||
ParameterBlock<Block1> block1;
|
|
||||||
|
|
||||||
[shader("vertex")]
|
[shader("vertex")]
|
||||||
VertexShaderOutput main_vertex(VertexShaderInput input) {
|
VertexShaderOutput main_vertex(VertexShaderInput input) {
|
||||||
var output: VertexShaderOutput;
|
var output: VertexShaderOutput;
|
||||||
|
|
||||||
let tile_pos = uint32_t2(input.instance_index % block1.per_frame.map_width, input.instance_index / block1.per_frame.map_width);
|
let tile_pos = uint32_t2(input.instance_index % per_frame.map_width, input.instance_index / per_frame.map_width);
|
||||||
output.tile = block0.map_texture.Load(uint32_t3(tile_pos, 0));
|
output.tile = map_texture.Load(uint32_t3(tile_pos, 0));
|
||||||
|
|
||||||
switch (input.vertex_index) {
|
switch (input.vertex_index) {
|
||||||
case 0: { output.pos = mul(float4(float2(tile_pos) - float2(0.5, 0.5) + float2(-0.5, 0.5), 0, 1), block1.view_projection_matrix); output.uv = float2(0, 0); } break;
|
case 0: { output.pos = mul(float4(float2(tile_pos) - float2(0.5, 0.5) + float2(-0.5, 0.5), 0, 1), view_projection_matrix); output.uv = float2(0, 0); } break;
|
||||||
case 1: { output.pos = mul(float4(float2(tile_pos) - float2(0.5, 0.5) + float2(-0.5, -0.5), 0, 1), block1.view_projection_matrix); output.uv = float2(0, 1); } break;
|
case 1: { output.pos = mul(float4(float2(tile_pos) - float2(0.5, 0.5) + float2(-0.5, -0.5), 0, 1), view_projection_matrix); output.uv = float2(0, 1); } break;
|
||||||
case 2: { output.pos = mul(float4(float2(tile_pos) - float2(0.5, 0.5) + float2( 0.5, -0.5), 0, 1), block1.view_projection_matrix); output.uv = float2(1, 1); } break;
|
case 2: { output.pos = mul(float4(float2(tile_pos) - float2(0.5, 0.5) + float2( 0.5, -0.5), 0, 1), view_projection_matrix); output.uv = float2(1, 1); } break;
|
||||||
case 3: { output.pos = mul(float4(float2(tile_pos) - float2(0.5, 0.5) + float2(-0.5, 0.5), 0, 1), block1.view_projection_matrix); output.uv = float2(0, 0); } break;
|
case 3: { output.pos = mul(float4(float2(tile_pos) - float2(0.5, 0.5) + float2(-0.5, 0.5), 0, 1), view_projection_matrix); output.uv = float2(0, 0); } break;
|
||||||
case 4: { output.pos = mul(float4(float2(tile_pos) - float2(0.5, 0.5) + float2( 0.5, -0.5), 0, 1), block1.view_projection_matrix); output.uv = float2(1, 1); } break;
|
case 4: { output.pos = mul(float4(float2(tile_pos) - float2(0.5, 0.5) + float2( 0.5, -0.5), 0, 1), view_projection_matrix); output.uv = float2(1, 1); } break;
|
||||||
case 5: { output.pos = mul(float4(float2(tile_pos) - float2(0.5, 0.5) + float2( 0.5, 0.5), 0, 1), block1.view_projection_matrix); output.uv = float2(1, 0); } break;
|
case 5: { output.pos = mul(float4(float2(tile_pos) - float2(0.5, 0.5) + float2( 0.5, 0.5), 0, 1), view_projection_matrix); output.uv = float2(1, 0); } break;
|
||||||
default: {}
|
default: {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+18
-17
@@ -1,9 +1,3 @@
|
|||||||
struct _MatrixStorage_float4x4_ColMajorstd140_0
|
|
||||||
{
|
|
||||||
@align(16) data_0 : array<vec4<f32>, i32(4)>,
|
|
||||||
};
|
|
||||||
|
|
||||||
@binding(0) @group(1) var<uniform> block1_view_projection_matrix_0 : _MatrixStorage_float4x4_ColMajorstd140_0;
|
|
||||||
struct Per_Frame_Data_std140_0
|
struct Per_Frame_Data_std140_0
|
||||||
{
|
{
|
||||||
@align(16) drag_start_0 : vec2<i32>,
|
@align(16) drag_start_0 : vec2<i32>,
|
||||||
@@ -11,11 +5,18 @@ struct Per_Frame_Data_std140_0
|
|||||||
@align(16) grid_offset_0 : vec2<f32>,
|
@align(16) grid_offset_0 : vec2<f32>,
|
||||||
@align(8) grid_width_0 : u32,
|
@align(8) grid_width_0 : u32,
|
||||||
@align(4) map_width_0 : u32,
|
@align(4) map_width_0 : u32,
|
||||||
|
@align(16) grid_height_0 : u32,
|
||||||
};
|
};
|
||||||
|
|
||||||
@binding(1) @group(1) var<uniform> block1_per_frame_0 : Per_Frame_Data_std140_0;
|
@binding(1) @group(1) var<uniform> per_frame_0 : Per_Frame_Data_std140_0;
|
||||||
@binding(0) @group(0) var block0_map_texture_0 : texture_2d<u32>;
|
@binding(0) @group(0) var map_texture_0 : texture_2d<u32>;
|
||||||
|
|
||||||
|
struct _MatrixStorage_float4x4_ColMajorstd140_0
|
||||||
|
{
|
||||||
|
@align(16) data_0 : array<vec4<f32>, i32(4)>,
|
||||||
|
};
|
||||||
|
|
||||||
|
@binding(0) @group(1) var<uniform> view_projection_matrix_0 : _MatrixStorage_float4x4_ColMajorstd140_0;
|
||||||
@binding(0) @group(2) var block2_tile_atlas_texture_0 : texture_2d<f32>;
|
@binding(0) @group(2) var block2_tile_atlas_texture_0 : texture_2d<f32>;
|
||||||
|
|
||||||
@binding(1) @group(2) var block2_tile_atlas_sampler_0 : sampler;
|
@binding(1) @group(2) var block2_tile_atlas_sampler_0 : sampler;
|
||||||
@@ -33,43 +34,43 @@ struct VertexShaderOutput_0
|
|||||||
@vertex
|
@vertex
|
||||||
fn main_vertex(@builtin(vertex_index) vertex_index_0 : u32, @builtin(instance_index) instance_index_0 : u32) -> VertexShaderOutput_0
|
fn main_vertex(@builtin(vertex_index) vertex_index_0 : u32, @builtin(instance_index) instance_index_0 : u32) -> VertexShaderOutput_0
|
||||||
{
|
{
|
||||||
var _S1 : u32 = instance_index_0 % block1_per_frame_0.map_width_0;
|
var _S1 : u32 = instance_index_0 % per_frame_0.map_width_0;
|
||||||
var _S2 : u32 = instance_index_0 / block1_per_frame_0.map_width_0;
|
var _S2 : u32 = instance_index_0 / per_frame_0.map_width_0;
|
||||||
var _S3 : vec2<u32> = vec2<u32>(_S1, _S2);
|
var _S3 : vec2<u32> = vec2<u32>(_S1, _S2);
|
||||||
var output_0 : VertexShaderOutput_0;
|
var output_0 : VertexShaderOutput_0;
|
||||||
var _S4 : vec3<i32> = vec3<i32>(vec3<u32>(_S3, u32(0)));
|
var _S4 : vec3<i32> = vec3<i32>(vec3<u32>(_S3, u32(0)));
|
||||||
output_0.tile_0 = (textureLoad((block0_map_texture_0), ((_S4)).xy, ((_S4)).z).x);
|
output_0.tile_0 = (textureLoad((map_texture_0), ((_S4)).xy, ((_S4)).z).x);
|
||||||
switch(vertex_index_0)
|
switch(vertex_index_0)
|
||||||
{
|
{
|
||||||
case u32(0):
|
case u32(0):
|
||||||
{
|
{
|
||||||
output_0.pos_0 = (((mat4x4<f32>(block1_view_projection_matrix_0.data_0[i32(0)][i32(0)], block1_view_projection_matrix_0.data_0[i32(1)][i32(0)], block1_view_projection_matrix_0.data_0[i32(2)][i32(0)], block1_view_projection_matrix_0.data_0[i32(3)][i32(0)], block1_view_projection_matrix_0.data_0[i32(0)][i32(1)], block1_view_projection_matrix_0.data_0[i32(1)][i32(1)], block1_view_projection_matrix_0.data_0[i32(2)][i32(1)], block1_view_projection_matrix_0.data_0[i32(3)][i32(1)], block1_view_projection_matrix_0.data_0[i32(0)][i32(2)], block1_view_projection_matrix_0.data_0[i32(1)][i32(2)], block1_view_projection_matrix_0.data_0[i32(2)][i32(2)], block1_view_projection_matrix_0.data_0[i32(3)][i32(2)], block1_view_projection_matrix_0.data_0[i32(0)][i32(3)], block1_view_projection_matrix_0.data_0[i32(1)][i32(3)], block1_view_projection_matrix_0.data_0[i32(2)][i32(3)], block1_view_projection_matrix_0.data_0[i32(3)][i32(3)])) * (vec4<f32>(vec2<f32>(_S3) - vec2<f32>(0.5f, 0.5f) + vec2<f32>(-0.5f, 0.5f), 0.0f, 1.0f))));
|
output_0.pos_0 = (((mat4x4<f32>(view_projection_matrix_0.data_0[i32(0)][i32(0)], view_projection_matrix_0.data_0[i32(1)][i32(0)], view_projection_matrix_0.data_0[i32(2)][i32(0)], view_projection_matrix_0.data_0[i32(3)][i32(0)], view_projection_matrix_0.data_0[i32(0)][i32(1)], view_projection_matrix_0.data_0[i32(1)][i32(1)], view_projection_matrix_0.data_0[i32(2)][i32(1)], view_projection_matrix_0.data_0[i32(3)][i32(1)], view_projection_matrix_0.data_0[i32(0)][i32(2)], view_projection_matrix_0.data_0[i32(1)][i32(2)], view_projection_matrix_0.data_0[i32(2)][i32(2)], view_projection_matrix_0.data_0[i32(3)][i32(2)], view_projection_matrix_0.data_0[i32(0)][i32(3)], view_projection_matrix_0.data_0[i32(1)][i32(3)], view_projection_matrix_0.data_0[i32(2)][i32(3)], view_projection_matrix_0.data_0[i32(3)][i32(3)])) * (vec4<f32>(vec2<f32>(_S3) - vec2<f32>(0.5f, 0.5f) + vec2<f32>(-0.5f, 0.5f), 0.0f, 1.0f))));
|
||||||
output_0.uv_0 = vec2<f32>(0.0f, 0.0f);
|
output_0.uv_0 = vec2<f32>(0.0f, 0.0f);
|
||||||
}
|
}
|
||||||
case u32(1):
|
case u32(1):
|
||||||
{
|
{
|
||||||
output_0.pos_0 = (((mat4x4<f32>(block1_view_projection_matrix_0.data_0[i32(0)][i32(0)], block1_view_projection_matrix_0.data_0[i32(1)][i32(0)], block1_view_projection_matrix_0.data_0[i32(2)][i32(0)], block1_view_projection_matrix_0.data_0[i32(3)][i32(0)], block1_view_projection_matrix_0.data_0[i32(0)][i32(1)], block1_view_projection_matrix_0.data_0[i32(1)][i32(1)], block1_view_projection_matrix_0.data_0[i32(2)][i32(1)], block1_view_projection_matrix_0.data_0[i32(3)][i32(1)], block1_view_projection_matrix_0.data_0[i32(0)][i32(2)], block1_view_projection_matrix_0.data_0[i32(1)][i32(2)], block1_view_projection_matrix_0.data_0[i32(2)][i32(2)], block1_view_projection_matrix_0.data_0[i32(3)][i32(2)], block1_view_projection_matrix_0.data_0[i32(0)][i32(3)], block1_view_projection_matrix_0.data_0[i32(1)][i32(3)], block1_view_projection_matrix_0.data_0[i32(2)][i32(3)], block1_view_projection_matrix_0.data_0[i32(3)][i32(3)])) * (vec4<f32>(vec2<f32>(_S3) - vec2<f32>(0.5f, 0.5f) + vec2<f32>(-0.5f, -0.5f), 0.0f, 1.0f))));
|
output_0.pos_0 = (((mat4x4<f32>(view_projection_matrix_0.data_0[i32(0)][i32(0)], view_projection_matrix_0.data_0[i32(1)][i32(0)], view_projection_matrix_0.data_0[i32(2)][i32(0)], view_projection_matrix_0.data_0[i32(3)][i32(0)], view_projection_matrix_0.data_0[i32(0)][i32(1)], view_projection_matrix_0.data_0[i32(1)][i32(1)], view_projection_matrix_0.data_0[i32(2)][i32(1)], view_projection_matrix_0.data_0[i32(3)][i32(1)], view_projection_matrix_0.data_0[i32(0)][i32(2)], view_projection_matrix_0.data_0[i32(1)][i32(2)], view_projection_matrix_0.data_0[i32(2)][i32(2)], view_projection_matrix_0.data_0[i32(3)][i32(2)], view_projection_matrix_0.data_0[i32(0)][i32(3)], view_projection_matrix_0.data_0[i32(1)][i32(3)], view_projection_matrix_0.data_0[i32(2)][i32(3)], view_projection_matrix_0.data_0[i32(3)][i32(3)])) * (vec4<f32>(vec2<f32>(_S3) - vec2<f32>(0.5f, 0.5f) + vec2<f32>(-0.5f, -0.5f), 0.0f, 1.0f))));
|
||||||
output_0.uv_0 = vec2<f32>(0.0f, 1.0f);
|
output_0.uv_0 = vec2<f32>(0.0f, 1.0f);
|
||||||
}
|
}
|
||||||
case u32(2):
|
case u32(2):
|
||||||
{
|
{
|
||||||
output_0.pos_0 = (((mat4x4<f32>(block1_view_projection_matrix_0.data_0[i32(0)][i32(0)], block1_view_projection_matrix_0.data_0[i32(1)][i32(0)], block1_view_projection_matrix_0.data_0[i32(2)][i32(0)], block1_view_projection_matrix_0.data_0[i32(3)][i32(0)], block1_view_projection_matrix_0.data_0[i32(0)][i32(1)], block1_view_projection_matrix_0.data_0[i32(1)][i32(1)], block1_view_projection_matrix_0.data_0[i32(2)][i32(1)], block1_view_projection_matrix_0.data_0[i32(3)][i32(1)], block1_view_projection_matrix_0.data_0[i32(0)][i32(2)], block1_view_projection_matrix_0.data_0[i32(1)][i32(2)], block1_view_projection_matrix_0.data_0[i32(2)][i32(2)], block1_view_projection_matrix_0.data_0[i32(3)][i32(2)], block1_view_projection_matrix_0.data_0[i32(0)][i32(3)], block1_view_projection_matrix_0.data_0[i32(1)][i32(3)], block1_view_projection_matrix_0.data_0[i32(2)][i32(3)], block1_view_projection_matrix_0.data_0[i32(3)][i32(3)])) * (vec4<f32>(vec2<f32>(_S3) - vec2<f32>(0.5f, 0.5f) + vec2<f32>(0.5f, -0.5f), 0.0f, 1.0f))));
|
output_0.pos_0 = (((mat4x4<f32>(view_projection_matrix_0.data_0[i32(0)][i32(0)], view_projection_matrix_0.data_0[i32(1)][i32(0)], view_projection_matrix_0.data_0[i32(2)][i32(0)], view_projection_matrix_0.data_0[i32(3)][i32(0)], view_projection_matrix_0.data_0[i32(0)][i32(1)], view_projection_matrix_0.data_0[i32(1)][i32(1)], view_projection_matrix_0.data_0[i32(2)][i32(1)], view_projection_matrix_0.data_0[i32(3)][i32(1)], view_projection_matrix_0.data_0[i32(0)][i32(2)], view_projection_matrix_0.data_0[i32(1)][i32(2)], view_projection_matrix_0.data_0[i32(2)][i32(2)], view_projection_matrix_0.data_0[i32(3)][i32(2)], view_projection_matrix_0.data_0[i32(0)][i32(3)], view_projection_matrix_0.data_0[i32(1)][i32(3)], view_projection_matrix_0.data_0[i32(2)][i32(3)], view_projection_matrix_0.data_0[i32(3)][i32(3)])) * (vec4<f32>(vec2<f32>(_S3) - vec2<f32>(0.5f, 0.5f) + vec2<f32>(0.5f, -0.5f), 0.0f, 1.0f))));
|
||||||
output_0.uv_0 = vec2<f32>(1.0f, 1.0f);
|
output_0.uv_0 = vec2<f32>(1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
case u32(3):
|
case u32(3):
|
||||||
{
|
{
|
||||||
output_0.pos_0 = (((mat4x4<f32>(block1_view_projection_matrix_0.data_0[i32(0)][i32(0)], block1_view_projection_matrix_0.data_0[i32(1)][i32(0)], block1_view_projection_matrix_0.data_0[i32(2)][i32(0)], block1_view_projection_matrix_0.data_0[i32(3)][i32(0)], block1_view_projection_matrix_0.data_0[i32(0)][i32(1)], block1_view_projection_matrix_0.data_0[i32(1)][i32(1)], block1_view_projection_matrix_0.data_0[i32(2)][i32(1)], block1_view_projection_matrix_0.data_0[i32(3)][i32(1)], block1_view_projection_matrix_0.data_0[i32(0)][i32(2)], block1_view_projection_matrix_0.data_0[i32(1)][i32(2)], block1_view_projection_matrix_0.data_0[i32(2)][i32(2)], block1_view_projection_matrix_0.data_0[i32(3)][i32(2)], block1_view_projection_matrix_0.data_0[i32(0)][i32(3)], block1_view_projection_matrix_0.data_0[i32(1)][i32(3)], block1_view_projection_matrix_0.data_0[i32(2)][i32(3)], block1_view_projection_matrix_0.data_0[i32(3)][i32(3)])) * (vec4<f32>(vec2<f32>(_S3) - vec2<f32>(0.5f, 0.5f) + vec2<f32>(-0.5f, 0.5f), 0.0f, 1.0f))));
|
output_0.pos_0 = (((mat4x4<f32>(view_projection_matrix_0.data_0[i32(0)][i32(0)], view_projection_matrix_0.data_0[i32(1)][i32(0)], view_projection_matrix_0.data_0[i32(2)][i32(0)], view_projection_matrix_0.data_0[i32(3)][i32(0)], view_projection_matrix_0.data_0[i32(0)][i32(1)], view_projection_matrix_0.data_0[i32(1)][i32(1)], view_projection_matrix_0.data_0[i32(2)][i32(1)], view_projection_matrix_0.data_0[i32(3)][i32(1)], view_projection_matrix_0.data_0[i32(0)][i32(2)], view_projection_matrix_0.data_0[i32(1)][i32(2)], view_projection_matrix_0.data_0[i32(2)][i32(2)], view_projection_matrix_0.data_0[i32(3)][i32(2)], view_projection_matrix_0.data_0[i32(0)][i32(3)], view_projection_matrix_0.data_0[i32(1)][i32(3)], view_projection_matrix_0.data_0[i32(2)][i32(3)], view_projection_matrix_0.data_0[i32(3)][i32(3)])) * (vec4<f32>(vec2<f32>(_S3) - vec2<f32>(0.5f, 0.5f) + vec2<f32>(-0.5f, 0.5f), 0.0f, 1.0f))));
|
||||||
output_0.uv_0 = vec2<f32>(0.0f, 0.0f);
|
output_0.uv_0 = vec2<f32>(0.0f, 0.0f);
|
||||||
}
|
}
|
||||||
case u32(4):
|
case u32(4):
|
||||||
{
|
{
|
||||||
output_0.pos_0 = (((mat4x4<f32>(block1_view_projection_matrix_0.data_0[i32(0)][i32(0)], block1_view_projection_matrix_0.data_0[i32(1)][i32(0)], block1_view_projection_matrix_0.data_0[i32(2)][i32(0)], block1_view_projection_matrix_0.data_0[i32(3)][i32(0)], block1_view_projection_matrix_0.data_0[i32(0)][i32(1)], block1_view_projection_matrix_0.data_0[i32(1)][i32(1)], block1_view_projection_matrix_0.data_0[i32(2)][i32(1)], block1_view_projection_matrix_0.data_0[i32(3)][i32(1)], block1_view_projection_matrix_0.data_0[i32(0)][i32(2)], block1_view_projection_matrix_0.data_0[i32(1)][i32(2)], block1_view_projection_matrix_0.data_0[i32(2)][i32(2)], block1_view_projection_matrix_0.data_0[i32(3)][i32(2)], block1_view_projection_matrix_0.data_0[i32(0)][i32(3)], block1_view_projection_matrix_0.data_0[i32(1)][i32(3)], block1_view_projection_matrix_0.data_0[i32(2)][i32(3)], block1_view_projection_matrix_0.data_0[i32(3)][i32(3)])) * (vec4<f32>(vec2<f32>(_S3) - vec2<f32>(0.5f, 0.5f) + vec2<f32>(0.5f, -0.5f), 0.0f, 1.0f))));
|
output_0.pos_0 = (((mat4x4<f32>(view_projection_matrix_0.data_0[i32(0)][i32(0)], view_projection_matrix_0.data_0[i32(1)][i32(0)], view_projection_matrix_0.data_0[i32(2)][i32(0)], view_projection_matrix_0.data_0[i32(3)][i32(0)], view_projection_matrix_0.data_0[i32(0)][i32(1)], view_projection_matrix_0.data_0[i32(1)][i32(1)], view_projection_matrix_0.data_0[i32(2)][i32(1)], view_projection_matrix_0.data_0[i32(3)][i32(1)], view_projection_matrix_0.data_0[i32(0)][i32(2)], view_projection_matrix_0.data_0[i32(1)][i32(2)], view_projection_matrix_0.data_0[i32(2)][i32(2)], view_projection_matrix_0.data_0[i32(3)][i32(2)], view_projection_matrix_0.data_0[i32(0)][i32(3)], view_projection_matrix_0.data_0[i32(1)][i32(3)], view_projection_matrix_0.data_0[i32(2)][i32(3)], view_projection_matrix_0.data_0[i32(3)][i32(3)])) * (vec4<f32>(vec2<f32>(_S3) - vec2<f32>(0.5f, 0.5f) + vec2<f32>(0.5f, -0.5f), 0.0f, 1.0f))));
|
||||||
output_0.uv_0 = vec2<f32>(1.0f, 1.0f);
|
output_0.uv_0 = vec2<f32>(1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
case u32(5):
|
case u32(5):
|
||||||
{
|
{
|
||||||
const _S5 : vec2<f32> = vec2<f32>(0.5f, 0.5f);
|
const _S5 : vec2<f32> = vec2<f32>(0.5f, 0.5f);
|
||||||
output_0.pos_0 = (((mat4x4<f32>(block1_view_projection_matrix_0.data_0[i32(0)][i32(0)], block1_view_projection_matrix_0.data_0[i32(1)][i32(0)], block1_view_projection_matrix_0.data_0[i32(2)][i32(0)], block1_view_projection_matrix_0.data_0[i32(3)][i32(0)], block1_view_projection_matrix_0.data_0[i32(0)][i32(1)], block1_view_projection_matrix_0.data_0[i32(1)][i32(1)], block1_view_projection_matrix_0.data_0[i32(2)][i32(1)], block1_view_projection_matrix_0.data_0[i32(3)][i32(1)], block1_view_projection_matrix_0.data_0[i32(0)][i32(2)], block1_view_projection_matrix_0.data_0[i32(1)][i32(2)], block1_view_projection_matrix_0.data_0[i32(2)][i32(2)], block1_view_projection_matrix_0.data_0[i32(3)][i32(2)], block1_view_projection_matrix_0.data_0[i32(0)][i32(3)], block1_view_projection_matrix_0.data_0[i32(1)][i32(3)], block1_view_projection_matrix_0.data_0[i32(2)][i32(3)], block1_view_projection_matrix_0.data_0[i32(3)][i32(3)])) * (vec4<f32>(vec2<f32>(_S3) - _S5 + _S5, 0.0f, 1.0f))));
|
output_0.pos_0 = (((mat4x4<f32>(view_projection_matrix_0.data_0[i32(0)][i32(0)], view_projection_matrix_0.data_0[i32(1)][i32(0)], view_projection_matrix_0.data_0[i32(2)][i32(0)], view_projection_matrix_0.data_0[i32(3)][i32(0)], view_projection_matrix_0.data_0[i32(0)][i32(1)], view_projection_matrix_0.data_0[i32(1)][i32(1)], view_projection_matrix_0.data_0[i32(2)][i32(1)], view_projection_matrix_0.data_0[i32(3)][i32(1)], view_projection_matrix_0.data_0[i32(0)][i32(2)], view_projection_matrix_0.data_0[i32(1)][i32(2)], view_projection_matrix_0.data_0[i32(2)][i32(2)], view_projection_matrix_0.data_0[i32(3)][i32(2)], view_projection_matrix_0.data_0[i32(0)][i32(3)], view_projection_matrix_0.data_0[i32(1)][i32(3)], view_projection_matrix_0.data_0[i32(2)][i32(3)], view_projection_matrix_0.data_0[i32(3)][i32(3)])) * (vec4<f32>(vec2<f32>(_S3) - _S5 + _S5, 0.0f, 1.0f))));
|
||||||
output_0.uv_0 = vec2<f32>(1.0f, 0.0f);
|
output_0.uv_0 = vec2<f32>(1.0f, 0.0f);
|
||||||
}
|
}
|
||||||
default :
|
default :
|
||||||
|
|||||||
Reference in New Issue
Block a user