430 lines
21 KiB
Plaintext
430 lines
21 KiB
Plaintext
; SPIR-V
|
|
; Version: 1.3
|
|
; Generator: Google Tint Compiler; 0
|
|
; Bound: 258
|
|
; Schema: 0
|
|
OpCapability Shader
|
|
%168 = OpExtInstImport "GLSL.std.450"
|
|
OpMemoryModel Logical GLSL450
|
|
OpEntryPoint Vertex %vertexMain "vertexMain" %position_1 %normal_1 %tangent_1 %texcoord_1 %joints_1 %weights_1 %instance0_1 %instance1_1 %instance2_1 %instance3_1 %instanceColor_1 %position_2 %worldPos_1 %view_1 %texcoord_2 %texcoord2_1 %color_1 %instanceColor_2 %normal_2 %tangent_2 %bitangent_1 %vertex_point_size
|
|
OpName %position_1 "position_1"
|
|
OpName %normal_1 "normal_1"
|
|
OpName %tangent_1 "tangent_1"
|
|
OpName %texcoord_1 "texcoord_1"
|
|
OpName %joints_1 "joints_1"
|
|
OpName %weights_1 "weights_1"
|
|
OpName %instance0_1 "instance0_1"
|
|
OpName %instance1_1 "instance1_1"
|
|
OpName %instance2_1 "instance2_1"
|
|
OpName %instance3_1 "instance3_1"
|
|
OpName %instanceColor_1 "instanceColor_1"
|
|
OpName %position_2 "position_2"
|
|
OpName %worldPos_1 "worldPos_1"
|
|
OpName %view_1 "view_1"
|
|
OpName %texcoord_2 "texcoord_2"
|
|
OpName %texcoord2_1 "texcoord2_1"
|
|
OpName %color_1 "color_1"
|
|
OpName %instanceColor_2 "instanceColor_2"
|
|
OpName %normal_2 "normal_2"
|
|
OpName %tangent_2 "tangent_2"
|
|
OpName %bitangent_1 "bitangent_1"
|
|
OpName %vertex_point_size "vertex_point_size"
|
|
OpName %Camera "Camera"
|
|
OpMemberName %Camera 0 "projection"
|
|
OpMemberName %Camera 1 "inverseProjection"
|
|
OpMemberName %Camera 2 "view"
|
|
OpMemberName %Camera 3 "position"
|
|
OpMemberName %Camera 4 "time"
|
|
OpMemberName %Camera 5 "outputSize"
|
|
OpMemberName %Camera 6 "zNear"
|
|
OpMemberName %Camera 7 "zFar"
|
|
OpName %camera "camera"
|
|
OpName %Joints "Joints"
|
|
OpMemberName %Joints 0 "matrices"
|
|
OpName %joint "joint"
|
|
OpName %inverseBind "inverseBind"
|
|
OpName %VertexInput "VertexInput"
|
|
OpMemberName %VertexInput 0 "position"
|
|
OpMemberName %VertexInput 1 "normal"
|
|
OpMemberName %VertexInput 2 "tangent"
|
|
OpMemberName %VertexInput 3 "texcoord"
|
|
OpMemberName %VertexInput 4 "joints"
|
|
OpMemberName %VertexInput 5 "weights"
|
|
OpMemberName %VertexInput 6 "instance0"
|
|
OpMemberName %VertexInput 7 "instance1"
|
|
OpMemberName %VertexInput 8 "instance2"
|
|
OpMemberName %VertexInput 9 "instance3"
|
|
OpMemberName %VertexInput 10 "instanceColor"
|
|
OpName %getInstanceMatrix "getInstanceMatrix"
|
|
OpName %input "input"
|
|
OpName %getSkinMatrix "getSkinMatrix"
|
|
OpName %input_0 "input"
|
|
OpName %VertexOutput "VertexOutput"
|
|
OpMemberName %VertexOutput 0 "position"
|
|
OpMemberName %VertexOutput 1 "worldPos"
|
|
OpMemberName %VertexOutput 2 "view"
|
|
OpMemberName %VertexOutput 3 "texcoord"
|
|
OpMemberName %VertexOutput 4 "texcoord2"
|
|
OpMemberName %VertexOutput 5 "color"
|
|
OpMemberName %VertexOutput 6 "instanceColor"
|
|
OpMemberName %VertexOutput 7 "normal"
|
|
OpMemberName %VertexOutput 8 "tangent"
|
|
OpMemberName %VertexOutput 9 "bitangent"
|
|
OpName %vertexMain_inner "vertexMain_inner"
|
|
OpName %input_1 "input"
|
|
OpName %output "output"
|
|
OpName %vertexMain "vertexMain"
|
|
OpDecorate %position_1 Location 0
|
|
OpDecorate %normal_1 Location 1
|
|
OpDecorate %tangent_1 Location 2
|
|
OpDecorate %texcoord_1 Location 3
|
|
OpDecorate %joints_1 Location 6
|
|
OpDecorate %weights_1 Location 7
|
|
OpDecorate %instance0_1 Location 8
|
|
OpDecorate %instance1_1 Location 9
|
|
OpDecorate %instance2_1 Location 10
|
|
OpDecorate %instance3_1 Location 11
|
|
OpDecorate %instanceColor_1 Location 12
|
|
OpDecorate %position_2 BuiltIn Position
|
|
OpDecorate %worldPos_1 Location 0
|
|
OpDecorate %view_1 Location 1
|
|
OpDecorate %texcoord_2 Location 2
|
|
OpDecorate %texcoord2_1 Location 3
|
|
OpDecorate %color_1 Location 4
|
|
OpDecorate %instanceColor_2 Location 5
|
|
OpDecorate %normal_2 Location 6
|
|
OpDecorate %tangent_2 Location 7
|
|
OpDecorate %bitangent_1 Location 8
|
|
OpDecorate %vertex_point_size BuiltIn PointSize
|
|
OpDecorate %Camera Block
|
|
OpMemberDecorate %Camera 0 Offset 0
|
|
OpMemberDecorate %Camera 0 ColMajor
|
|
OpMemberDecorate %Camera 0 MatrixStride 16
|
|
OpMemberDecorate %Camera 1 Offset 64
|
|
OpMemberDecorate %Camera 1 ColMajor
|
|
OpMemberDecorate %Camera 1 MatrixStride 16
|
|
OpMemberDecorate %Camera 2 Offset 128
|
|
OpMemberDecorate %Camera 2 ColMajor
|
|
OpMemberDecorate %Camera 2 MatrixStride 16
|
|
OpMemberDecorate %Camera 3 Offset 192
|
|
OpMemberDecorate %Camera 4 Offset 204
|
|
OpMemberDecorate %Camera 5 Offset 208
|
|
OpMemberDecorate %Camera 6 Offset 216
|
|
OpMemberDecorate %Camera 7 Offset 220
|
|
OpDecorate %camera NonWritable
|
|
OpDecorate %camera Binding 0
|
|
OpDecorate %camera DescriptorSet 0
|
|
OpDecorate %Joints Block
|
|
OpMemberDecorate %Joints 0 Offset 0
|
|
OpMemberDecorate %Joints 0 ColMajor
|
|
OpMemberDecorate %Joints 0 MatrixStride 16
|
|
OpDecorate %_runtimearr_mat4v4float ArrayStride 64
|
|
OpDecorate %joint NonWritable
|
|
OpDecorate %joint Binding 1
|
|
OpDecorate %joint DescriptorSet 0
|
|
OpDecorate %inverseBind NonWritable
|
|
OpDecorate %inverseBind Binding 2
|
|
OpDecorate %inverseBind DescriptorSet 0
|
|
OpMemberDecorate %VertexInput 0 Offset 0
|
|
OpMemberDecorate %VertexInput 1 Offset 16
|
|
OpMemberDecorate %VertexInput 2 Offset 32
|
|
OpMemberDecorate %VertexInput 3 Offset 48
|
|
OpMemberDecorate %VertexInput 4 Offset 64
|
|
OpMemberDecorate %VertexInput 5 Offset 80
|
|
OpMemberDecorate %VertexInput 6 Offset 96
|
|
OpMemberDecorate %VertexInput 7 Offset 112
|
|
OpMemberDecorate %VertexInput 8 Offset 128
|
|
OpMemberDecorate %VertexInput 9 Offset 144
|
|
OpMemberDecorate %VertexInput 10 Offset 160
|
|
OpMemberDecorate %VertexOutput 0 Offset 0
|
|
OpMemberDecorate %VertexOutput 1 Offset 16
|
|
OpMemberDecorate %VertexOutput 2 Offset 32
|
|
OpMemberDecorate %VertexOutput 3 Offset 48
|
|
OpMemberDecorate %VertexOutput 4 Offset 56
|
|
OpMemberDecorate %VertexOutput 5 Offset 64
|
|
OpMemberDecorate %VertexOutput 6 Offset 80
|
|
OpMemberDecorate %VertexOutput 7 Offset 96
|
|
OpMemberDecorate %VertexOutput 8 Offset 112
|
|
OpMemberDecorate %VertexOutput 9 Offset 128
|
|
%float = OpTypeFloat 32
|
|
%v4float = OpTypeVector %float 4
|
|
%_ptr_Input_v4float = OpTypePointer Input %v4float
|
|
%position_1 = OpVariable %_ptr_Input_v4float Input
|
|
%v3float = OpTypeVector %float 3
|
|
%_ptr_Input_v3float = OpTypePointer Input %v3float
|
|
%normal_1 = OpVariable %_ptr_Input_v3float Input
|
|
%tangent_1 = OpVariable %_ptr_Input_v4float Input
|
|
%v2float = OpTypeVector %float 2
|
|
%_ptr_Input_v2float = OpTypePointer Input %v2float
|
|
%texcoord_1 = OpVariable %_ptr_Input_v2float Input
|
|
%uint = OpTypeInt 32 0
|
|
%v4uint = OpTypeVector %uint 4
|
|
%_ptr_Input_v4uint = OpTypePointer Input %v4uint
|
|
%joints_1 = OpVariable %_ptr_Input_v4uint Input
|
|
%weights_1 = OpVariable %_ptr_Input_v4float Input
|
|
%instance0_1 = OpVariable %_ptr_Input_v4float Input
|
|
%instance1_1 = OpVariable %_ptr_Input_v4float Input
|
|
%instance2_1 = OpVariable %_ptr_Input_v4float Input
|
|
%instance3_1 = OpVariable %_ptr_Input_v4float Input
|
|
%instanceColor_1 = OpVariable %_ptr_Input_v4float Input
|
|
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
|
%24 = OpConstantNull %v4float
|
|
%position_2 = OpVariable %_ptr_Output_v4float Output %24
|
|
%_ptr_Output_v3float = OpTypePointer Output %v3float
|
|
%27 = OpConstantNull %v3float
|
|
%worldPos_1 = OpVariable %_ptr_Output_v3float Output %27
|
|
%view_1 = OpVariable %_ptr_Output_v3float Output %27
|
|
%_ptr_Output_v2float = OpTypePointer Output %v2float
|
|
%31 = OpConstantNull %v2float
|
|
%texcoord_2 = OpVariable %_ptr_Output_v2float Output %31
|
|
%texcoord2_1 = OpVariable %_ptr_Output_v2float Output %31
|
|
%color_1 = OpVariable %_ptr_Output_v4float Output %24
|
|
%instanceColor_2 = OpVariable %_ptr_Output_v4float Output %24
|
|
%normal_2 = OpVariable %_ptr_Output_v3float Output %27
|
|
%tangent_2 = OpVariable %_ptr_Output_v3float Output %27
|
|
%bitangent_1 = OpVariable %_ptr_Output_v3float Output %27
|
|
%_ptr_Output_float = OpTypePointer Output %float
|
|
%40 = OpConstantNull %float
|
|
%vertex_point_size = OpVariable %_ptr_Output_float Output %40
|
|
%mat4v4float = OpTypeMatrix %v4float 4
|
|
%Camera = OpTypeStruct %mat4v4float %mat4v4float %mat4v4float %v3float %float %v2float %float %float
|
|
%_ptr_Uniform_Camera = OpTypePointer Uniform %Camera
|
|
%camera = OpVariable %_ptr_Uniform_Camera Uniform
|
|
%_runtimearr_mat4v4float = OpTypeRuntimeArray %mat4v4float
|
|
%Joints = OpTypeStruct %_runtimearr_mat4v4float
|
|
%_ptr_StorageBuffer_Joints = OpTypePointer StorageBuffer %Joints
|
|
%joint = OpVariable %_ptr_StorageBuffer_Joints StorageBuffer
|
|
%inverseBind = OpVariable %_ptr_StorageBuffer_Joints StorageBuffer
|
|
%VertexInput = OpTypeStruct %v4float %v3float %v4float %v2float %v4uint %v4float %v4float %v4float %v4float %v4float %v4float
|
|
%50 = OpTypeFunction %mat4v4float %VertexInput
|
|
%uint_0 = OpConstant %uint 0
|
|
%_ptr_StorageBuffer_mat4v4float = OpTypePointer StorageBuffer %mat4v4float
|
|
%VertexOutput = OpTypeStruct %v4float %v3float %v3float %v2float %v2float %v4float %v4float %v3float %v3float %v3float
|
|
%155 = OpTypeFunction %VertexOutput %VertexInput
|
|
%_ptr_Function_VertexOutput = OpTypePointer Function %VertexOutput
|
|
%162 = OpConstantNull %VertexOutput
|
|
%uint_7 = OpConstant %uint 7
|
|
%_ptr_Function_v3float = OpTypePointer Function %v3float
|
|
%float_0 = OpConstant %float 0
|
|
%uint_8 = OpConstant %uint 8
|
|
%uint_9 = OpConstant %uint 9
|
|
%uint_5 = OpConstant %uint 5
|
|
%_ptr_Function_v4float = OpTypePointer Function %v4float
|
|
%float_1 = OpConstant %float 1
|
|
%202 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
|
%uint_3 = OpConstant %uint 3
|
|
%_ptr_Function_v2float = OpTypePointer Function %v2float
|
|
%uint_6 = OpConstant %uint 6
|
|
%uint_1 = OpConstant %uint 1
|
|
%uint_2 = OpConstant %uint 2
|
|
%_ptr_Uniform_v3float = OpTypePointer Uniform %v3float
|
|
%_ptr_Uniform_mat4v4float = OpTypePointer Uniform %mat4v4float
|
|
%void = OpTypeVoid
|
|
%231 = OpTypeFunction %void
|
|
%getInstanceMatrix = OpFunction %mat4v4float None %50
|
|
%input = OpFunctionParameter %VertexInput
|
|
%54 = OpLabel
|
|
%55 = OpCompositeExtract %v4float %input 6
|
|
%56 = OpCompositeExtract %v4float %input 7
|
|
%57 = OpCompositeExtract %v4float %input 8
|
|
%58 = OpCompositeExtract %v4float %input 9
|
|
%59 = OpCompositeConstruct %mat4v4float %55 %56 %57 %58
|
|
OpReturnValue %59
|
|
OpFunctionEnd
|
|
%getSkinMatrix = OpFunction %mat4v4float None %50
|
|
%input_0 = OpFunctionParameter %VertexInput
|
|
%62 = OpLabel
|
|
%64 = OpCompositeExtract %v4uint %input_0 4
|
|
%65 = OpCompositeExtract %uint %64 0
|
|
%67 = OpAccessChain %_ptr_StorageBuffer_mat4v4float %joint %uint_0 %65
|
|
%68 = OpLoad %mat4v4float %67
|
|
%69 = OpCompositeExtract %v4uint %input_0 4
|
|
%70 = OpCompositeExtract %uint %69 0
|
|
%71 = OpAccessChain %_ptr_StorageBuffer_mat4v4float %inverseBind %uint_0 %70
|
|
%72 = OpLoad %mat4v4float %71
|
|
%73 = OpMatrixTimesMatrix %mat4v4float %68 %72
|
|
%74 = OpCompositeExtract %v4uint %input_0 4
|
|
%75 = OpCompositeExtract %uint %74 1
|
|
%76 = OpAccessChain %_ptr_StorageBuffer_mat4v4float %joint %uint_0 %75
|
|
%77 = OpLoad %mat4v4float %76
|
|
%78 = OpCompositeExtract %v4uint %input_0 4
|
|
%79 = OpCompositeExtract %uint %78 1
|
|
%80 = OpAccessChain %_ptr_StorageBuffer_mat4v4float %inverseBind %uint_0 %79
|
|
%81 = OpLoad %mat4v4float %80
|
|
%82 = OpMatrixTimesMatrix %mat4v4float %77 %81
|
|
%83 = OpCompositeExtract %v4uint %input_0 4
|
|
%84 = OpCompositeExtract %uint %83 2
|
|
%85 = OpAccessChain %_ptr_StorageBuffer_mat4v4float %joint %uint_0 %84
|
|
%86 = OpLoad %mat4v4float %85
|
|
%87 = OpCompositeExtract %v4uint %input_0 4
|
|
%88 = OpCompositeExtract %uint %87 2
|
|
%89 = OpAccessChain %_ptr_StorageBuffer_mat4v4float %inverseBind %uint_0 %88
|
|
%90 = OpLoad %mat4v4float %89
|
|
%91 = OpMatrixTimesMatrix %mat4v4float %86 %90
|
|
%92 = OpCompositeExtract %v4uint %input_0 4
|
|
%93 = OpCompositeExtract %uint %92 3
|
|
%94 = OpAccessChain %_ptr_StorageBuffer_mat4v4float %joint %uint_0 %93
|
|
%95 = OpLoad %mat4v4float %94
|
|
%96 = OpCompositeExtract %v4uint %input_0 4
|
|
%97 = OpCompositeExtract %uint %96 3
|
|
%98 = OpAccessChain %_ptr_StorageBuffer_mat4v4float %inverseBind %uint_0 %97
|
|
%99 = OpLoad %mat4v4float %98
|
|
%100 = OpMatrixTimesMatrix %mat4v4float %95 %99
|
|
%101 = OpCompositeExtract %v4float %input_0 5
|
|
%102 = OpCompositeExtract %float %101 0
|
|
%103 = OpMatrixTimesScalar %mat4v4float %73 %102
|
|
%104 = OpCompositeExtract %v4float %input_0 5
|
|
%105 = OpCompositeExtract %float %104 1
|
|
%106 = OpMatrixTimesScalar %mat4v4float %82 %105
|
|
%108 = OpCompositeExtract %v4float %103 0
|
|
%109 = OpCompositeExtract %v4float %106 0
|
|
%110 = OpFAdd %v4float %108 %109
|
|
%111 = OpCompositeExtract %v4float %103 1
|
|
%112 = OpCompositeExtract %v4float %106 1
|
|
%113 = OpFAdd %v4float %111 %112
|
|
%114 = OpCompositeExtract %v4float %103 2
|
|
%115 = OpCompositeExtract %v4float %106 2
|
|
%116 = OpFAdd %v4float %114 %115
|
|
%117 = OpCompositeExtract %v4float %103 3
|
|
%118 = OpCompositeExtract %v4float %106 3
|
|
%119 = OpFAdd %v4float %117 %118
|
|
%120 = OpCompositeConstruct %mat4v4float %110 %113 %116 %119
|
|
%121 = OpCompositeExtract %v4float %input_0 5
|
|
%122 = OpCompositeExtract %float %121 2
|
|
%123 = OpMatrixTimesScalar %mat4v4float %91 %122
|
|
%125 = OpCompositeExtract %v4float %120 0
|
|
%126 = OpCompositeExtract %v4float %123 0
|
|
%127 = OpFAdd %v4float %125 %126
|
|
%128 = OpCompositeExtract %v4float %120 1
|
|
%129 = OpCompositeExtract %v4float %123 1
|
|
%130 = OpFAdd %v4float %128 %129
|
|
%131 = OpCompositeExtract %v4float %120 2
|
|
%132 = OpCompositeExtract %v4float %123 2
|
|
%133 = OpFAdd %v4float %131 %132
|
|
%134 = OpCompositeExtract %v4float %120 3
|
|
%135 = OpCompositeExtract %v4float %123 3
|
|
%136 = OpFAdd %v4float %134 %135
|
|
%137 = OpCompositeConstruct %mat4v4float %127 %130 %133 %136
|
|
%138 = OpCompositeExtract %v4float %input_0 5
|
|
%139 = OpCompositeExtract %float %138 3
|
|
%140 = OpMatrixTimesScalar %mat4v4float %100 %139
|
|
%142 = OpCompositeExtract %v4float %137 0
|
|
%143 = OpCompositeExtract %v4float %140 0
|
|
%144 = OpFAdd %v4float %142 %143
|
|
%145 = OpCompositeExtract %v4float %137 1
|
|
%146 = OpCompositeExtract %v4float %140 1
|
|
%147 = OpFAdd %v4float %145 %146
|
|
%148 = OpCompositeExtract %v4float %137 2
|
|
%149 = OpCompositeExtract %v4float %140 2
|
|
%150 = OpFAdd %v4float %148 %149
|
|
%151 = OpCompositeExtract %v4float %137 3
|
|
%152 = OpCompositeExtract %v4float %140 3
|
|
%153 = OpFAdd %v4float %151 %152
|
|
%154 = OpCompositeConstruct %mat4v4float %144 %147 %150 %153
|
|
OpReturnValue %154
|
|
OpFunctionEnd
|
|
%vertexMain_inner = OpFunction %VertexOutput None %155
|
|
%input_1 = OpFunctionParameter %VertexInput
|
|
%159 = OpLabel
|
|
%output = OpVariable %_ptr_Function_VertexOutput Function %162
|
|
%163 = OpFunctionCall %mat4v4float %getSkinMatrix %input_1
|
|
%166 = OpAccessChain %_ptr_Function_v3float %output %uint_7
|
|
%169 = OpCompositeExtract %v3float %input_1 1
|
|
%170 = OpCompositeExtract %float %169 0
|
|
%171 = OpCompositeExtract %float %169 1
|
|
%172 = OpCompositeExtract %float %169 2
|
|
%174 = OpCompositeConstruct %v4float %170 %171 %172 %float_0
|
|
%175 = OpMatrixTimesVector %v4float %163 %174
|
|
%176 = OpVectorShuffle %v3float %175 %175 0 1 2
|
|
%167 = OpExtInst %v3float %168 Normalize %176
|
|
OpStore %166 %167
|
|
%178 = OpAccessChain %_ptr_Function_v3float %output %uint_8
|
|
%180 = OpCompositeExtract %v4float %input_1 2
|
|
%181 = OpVectorShuffle %v3float %180 %180 0 1 2
|
|
%182 = OpCompositeExtract %float %181 0
|
|
%183 = OpCompositeExtract %float %181 1
|
|
%184 = OpCompositeExtract %float %181 2
|
|
%185 = OpCompositeConstruct %v4float %182 %183 %184 %float_0
|
|
%186 = OpMatrixTimesVector %v4float %163 %185
|
|
%187 = OpVectorShuffle %v3float %186 %186 0 1 2
|
|
%179 = OpExtInst %v3float %168 Normalize %187
|
|
OpStore %178 %179
|
|
%189 = OpAccessChain %_ptr_Function_v3float %output %uint_9
|
|
%191 = OpAccessChain %_ptr_Function_v3float %output %uint_7
|
|
%192 = OpLoad %v3float %191
|
|
%193 = OpAccessChain %_ptr_Function_v3float %output %uint_8
|
|
%194 = OpLoad %v3float %193
|
|
%190 = OpExtInst %v3float %168 Cross %192 %194
|
|
%195 = OpCompositeExtract %v4float %input_1 2
|
|
%196 = OpCompositeExtract %float %195 3
|
|
%197 = OpVectorTimesScalar %v3float %190 %196
|
|
OpStore %189 %197
|
|
%200 = OpAccessChain %_ptr_Function_v4float %output %uint_5
|
|
OpStore %200 %202
|
|
%205 = OpAccessChain %_ptr_Function_v2float %output %uint_3
|
|
%206 = OpCompositeExtract %v2float %input_1 3
|
|
OpStore %205 %206
|
|
%208 = OpAccessChain %_ptr_Function_v4float %output %uint_6
|
|
%209 = OpCompositeExtract %v4float %input_1 10
|
|
OpStore %208 %209
|
|
%210 = OpCompositeExtract %v4float %input_1 0
|
|
%211 = OpMatrixTimesVector %v4float %163 %210
|
|
%213 = OpAccessChain %_ptr_Function_v3float %output %uint_1
|
|
%214 = OpVectorShuffle %v3float %211 %211 0 1 2
|
|
OpStore %213 %214
|
|
%216 = OpAccessChain %_ptr_Function_v3float %output %uint_2
|
|
%218 = OpAccessChain %_ptr_Uniform_v3float %camera %uint_3
|
|
%219 = OpLoad %v3float %218
|
|
%220 = OpVectorShuffle %v3float %211 %211 0 1 2
|
|
%221 = OpFSub %v3float %219 %220
|
|
OpStore %216 %221
|
|
%222 = OpAccessChain %_ptr_Function_v4float %output %uint_0
|
|
%224 = OpAccessChain %_ptr_Uniform_mat4v4float %camera %uint_0
|
|
%225 = OpLoad %mat4v4float %224
|
|
%226 = OpAccessChain %_ptr_Uniform_mat4v4float %camera %uint_2
|
|
%227 = OpLoad %mat4v4float %226
|
|
%228 = OpMatrixTimesMatrix %mat4v4float %225 %227
|
|
%229 = OpMatrixTimesVector %v4float %228 %211
|
|
OpStore %222 %229
|
|
%230 = OpLoad %VertexOutput %output
|
|
OpReturnValue %230
|
|
OpFunctionEnd
|
|
%vertexMain = OpFunction %void None %231
|
|
%234 = OpLabel
|
|
%236 = OpLoad %v4float %position_1
|
|
%237 = OpLoad %v3float %normal_1
|
|
%238 = OpLoad %v4float %tangent_1
|
|
%239 = OpLoad %v2float %texcoord_1
|
|
%240 = OpLoad %v4uint %joints_1
|
|
%241 = OpLoad %v4float %weights_1
|
|
%242 = OpLoad %v4float %instance0_1
|
|
%243 = OpLoad %v4float %instance1_1
|
|
%244 = OpLoad %v4float %instance2_1
|
|
%245 = OpLoad %v4float %instance3_1
|
|
%246 = OpLoad %v4float %instanceColor_1
|
|
%247 = OpCompositeConstruct %VertexInput %236 %237 %238 %239 %240 %241 %242 %243 %244 %245 %246
|
|
%235 = OpFunctionCall %VertexOutput %vertexMain_inner %247
|
|
%248 = OpCompositeExtract %v4float %235 0
|
|
OpStore %position_2 %248
|
|
%249 = OpCompositeExtract %v3float %235 1
|
|
OpStore %worldPos_1 %249
|
|
%250 = OpCompositeExtract %v3float %235 2
|
|
OpStore %view_1 %250
|
|
%251 = OpCompositeExtract %v2float %235 3
|
|
OpStore %texcoord_2 %251
|
|
%252 = OpCompositeExtract %v2float %235 4
|
|
OpStore %texcoord2_1 %252
|
|
%253 = OpCompositeExtract %v4float %235 5
|
|
OpStore %color_1 %253
|
|
%254 = OpCompositeExtract %v4float %235 6
|
|
OpStore %instanceColor_2 %254
|
|
%255 = OpCompositeExtract %v3float %235 7
|
|
OpStore %normal_2 %255
|
|
%256 = OpCompositeExtract %v3float %235 8
|
|
OpStore %tangent_2 %256
|
|
%257 = OpCompositeExtract %v3float %235 9
|
|
OpStore %bitangent_1 %257
|
|
OpStore %vertex_point_size %float_1
|
|
OpReturn
|
|
OpFunctionEnd
|