@@ -51,54 +51,54 @@ void FishModelInstancedDrawDawn::init()
5151 mFishPersBuffer = mContextDawn ->createBuffer (
5252 sizeof (FishPer) * instance, wgpu::BufferUsage::Vertex | wgpu::BufferUsage::CopyDst);
5353
54- mVertexInputDescriptor . cBuffers [0 ].attributeCount = 1 ;
55- mVertexInputDescriptor . cBuffers [0 ].stride = mPositionBuffer ->getDataSize ();
56- mVertexInputDescriptor .cAttributes [0 ].format = wgpu::VertexFormat::Float3;
57- mVertexInputDescriptor .cAttributes [0 ].shaderLocation = 0 ;
58- mVertexInputDescriptor .cAttributes [0 ].offset = 0 ;
59- mVertexInputDescriptor . cBuffers [0 ].attributes = &mVertexInputDescriptor .cAttributes [0 ];
60- mVertexInputDescriptor . cBuffers [1 ].attributeCount = 1 ;
61- mVertexInputDescriptor . cBuffers [1 ].stride = mNormalBuffer ->getDataSize ();
62- mVertexInputDescriptor .cAttributes [1 ].format = wgpu::VertexFormat::Float3;
63- mVertexInputDescriptor .cAttributes [1 ].shaderLocation = 1 ;
64- mVertexInputDescriptor .cAttributes [1 ].offset = 0 ;
65- mVertexInputDescriptor . cBuffers [1 ].attributes = &mVertexInputDescriptor .cAttributes [1 ];
66- mVertexInputDescriptor . cBuffers [2 ].attributeCount = 1 ;
67- mVertexInputDescriptor . cBuffers [2 ].stride = mTexCoordBuffer ->getDataSize ();
68- mVertexInputDescriptor .cAttributes [2 ].format = wgpu::VertexFormat::Float2;
69- mVertexInputDescriptor .cAttributes [2 ].shaderLocation = 2 ;
70- mVertexInputDescriptor .cAttributes [2 ].offset = 0 ;
71- mVertexInputDescriptor . cBuffers [2 ].attributes = &mVertexInputDescriptor .cAttributes [2 ];
72- mVertexInputDescriptor . cBuffers [3 ].attributeCount = 1 ;
73- mVertexInputDescriptor . cBuffers [3 ].stride = mTangentBuffer ->getDataSize ();
74- mVertexInputDescriptor .cAttributes [3 ].format = wgpu::VertexFormat::Float3;
75- mVertexInputDescriptor .cAttributes [3 ].shaderLocation = 3 ;
76- mVertexInputDescriptor .cAttributes [3 ].offset = 0 ;
77- mVertexInputDescriptor . cBuffers [3 ].attributes = &mVertexInputDescriptor .cAttributes [3 ];
78- mVertexInputDescriptor . cBuffers [4 ].attributeCount = 1 ;
79- mVertexInputDescriptor . cBuffers [4 ].stride = mBiNormalBuffer ->getDataSize ();
80- mVertexInputDescriptor .cAttributes [4 ].format = wgpu::VertexFormat::Float3;
81- mVertexInputDescriptor .cAttributes [4 ].shaderLocation = 4 ;
82- mVertexInputDescriptor .cAttributes [4 ].offset = offsetof (FishPer, worldPosition);
83- mVertexInputDescriptor . cBuffers [4 ].attributes = &mVertexInputDescriptor .cAttributes [4 ];
84- mVertexInputDescriptor . cBuffers [5 ].attributeCount = 4 ;
85- mVertexInputDescriptor . cBuffers [5 ].stride = sizeof (FishPer);
86- mVertexInputDescriptor .cAttributes [5 ].format = wgpu::VertexFormat::Float3;
87- mVertexInputDescriptor .cAttributes [5 ].shaderLocation = 5 ;
88- mVertexInputDescriptor .cAttributes [5 ].offset = 0 ;
89- mVertexInputDescriptor .cAttributes [6 ].format = wgpu::VertexFormat::Float;
90- mVertexInputDescriptor .cAttributes [6 ].shaderLocation = 6 ;
91- mVertexInputDescriptor .cAttributes [6 ].offset = offsetof (FishPer, scale);
92- mVertexInputDescriptor .cAttributes [7 ].format = wgpu::VertexFormat::Float3;
93- mVertexInputDescriptor .cAttributes [7 ].shaderLocation = 7 ;
94- mVertexInputDescriptor .cAttributes [7 ].offset = offsetof (FishPer, nextPosition);
95- mVertexInputDescriptor .cAttributes [8 ].format = wgpu::VertexFormat::Float;
96- mVertexInputDescriptor .cAttributes [8 ].shaderLocation = 8 ;
97- mVertexInputDescriptor .cAttributes [9 ].offset = offsetof (FishPer, time);
98- mVertexInputDescriptor . cBuffers [5 ].attributes = &mVertexInputDescriptor .cAttributes [5 ];
99- mVertexInputDescriptor . cBuffers [5 ].stepMode = wgpu::InputStepMode::Instance;
100- mVertexInputDescriptor . bufferCount = 6 ;
101- mVertexInputDescriptor .indexFormat = wgpu::IndexFormat::Uint16;
54+ mVertexStateDescriptor . cVertexBuffers [0 ].attributeCount = 1 ;
55+ mVertexStateDescriptor . cVertexBuffers [0 ].arrayStride = mPositionBuffer ->getDataSize ();
56+ mVertexStateDescriptor .cAttributes [0 ].format = wgpu::VertexFormat::Float3;
57+ mVertexStateDescriptor .cAttributes [0 ].shaderLocation = 0 ;
58+ mVertexStateDescriptor .cAttributes [0 ].offset = 0 ;
59+ mVertexStateDescriptor . cVertexBuffers [0 ].attributes = &mVertexStateDescriptor .cAttributes [0 ];
60+ mVertexStateDescriptor . cVertexBuffers [1 ].attributeCount = 1 ;
61+ mVertexStateDescriptor . cVertexBuffers [1 ].arrayStride = mNormalBuffer ->getDataSize ();
62+ mVertexStateDescriptor .cAttributes [1 ].format = wgpu::VertexFormat::Float3;
63+ mVertexStateDescriptor .cAttributes [1 ].shaderLocation = 1 ;
64+ mVertexStateDescriptor .cAttributes [1 ].offset = 0 ;
65+ mVertexStateDescriptor . cVertexBuffers [1 ].attributes = &mVertexStateDescriptor .cAttributes [1 ];
66+ mVertexStateDescriptor . cVertexBuffers [2 ].attributeCount = 1 ;
67+ mVertexStateDescriptor . cVertexBuffers [2 ].arrayStride = mTexCoordBuffer ->getDataSize ();
68+ mVertexStateDescriptor .cAttributes [2 ].format = wgpu::VertexFormat::Float2;
69+ mVertexStateDescriptor .cAttributes [2 ].shaderLocation = 2 ;
70+ mVertexStateDescriptor .cAttributes [2 ].offset = 0 ;
71+ mVertexStateDescriptor . cVertexBuffers [2 ].attributes = &mVertexStateDescriptor .cAttributes [2 ];
72+ mVertexStateDescriptor . cVertexBuffers [3 ].attributeCount = 1 ;
73+ mVertexStateDescriptor . cVertexBuffers [3 ].arrayStride = mTangentBuffer ->getDataSize ();
74+ mVertexStateDescriptor .cAttributes [3 ].format = wgpu::VertexFormat::Float3;
75+ mVertexStateDescriptor .cAttributes [3 ].shaderLocation = 3 ;
76+ mVertexStateDescriptor .cAttributes [3 ].offset = 0 ;
77+ mVertexStateDescriptor . cVertexBuffers [3 ].attributes = &mVertexStateDescriptor .cAttributes [3 ];
78+ mVertexStateDescriptor . cVertexBuffers [4 ].attributeCount = 1 ;
79+ mVertexStateDescriptor . cVertexBuffers [4 ].arrayStride = mBiNormalBuffer ->getDataSize ();
80+ mVertexStateDescriptor .cAttributes [4 ].format = wgpu::VertexFormat::Float3;
81+ mVertexStateDescriptor .cAttributes [4 ].shaderLocation = 4 ;
82+ mVertexStateDescriptor .cAttributes [4 ].offset = offsetof (FishPer, worldPosition);
83+ mVertexStateDescriptor . cVertexBuffers [4 ].attributes = &mVertexStateDescriptor .cAttributes [4 ];
84+ mVertexStateDescriptor . cVertexBuffers [5 ].attributeCount = 4 ;
85+ mVertexStateDescriptor . cVertexBuffers [5 ].arrayStride = sizeof (FishPer);
86+ mVertexStateDescriptor .cAttributes [5 ].format = wgpu::VertexFormat::Float3;
87+ mVertexStateDescriptor .cAttributes [5 ].shaderLocation = 5 ;
88+ mVertexStateDescriptor .cAttributes [5 ].offset = 0 ;
89+ mVertexStateDescriptor .cAttributes [6 ].format = wgpu::VertexFormat::Float;
90+ mVertexStateDescriptor .cAttributes [6 ].shaderLocation = 6 ;
91+ mVertexStateDescriptor .cAttributes [6 ].offset = offsetof (FishPer, scale);
92+ mVertexStateDescriptor .cAttributes [7 ].format = wgpu::VertexFormat::Float3;
93+ mVertexStateDescriptor .cAttributes [7 ].shaderLocation = 7 ;
94+ mVertexStateDescriptor .cAttributes [7 ].offset = offsetof (FishPer, nextPosition);
95+ mVertexStateDescriptor .cAttributes [8 ].format = wgpu::VertexFormat::Float;
96+ mVertexStateDescriptor .cAttributes [8 ].shaderLocation = 8 ;
97+ mVertexStateDescriptor .cAttributes [9 ].offset = offsetof (FishPer, time);
98+ mVertexStateDescriptor . cVertexBuffers [5 ].attributes = &mVertexStateDescriptor .cAttributes [5 ];
99+ mVertexStateDescriptor . cVertexBuffers [5 ].stepMode = wgpu::InputStepMode::Instance;
100+ mVertexStateDescriptor . vertexBufferCount = 6 ;
101+ mVertexStateDescriptor .indexFormat = wgpu::IndexFormat::Uint16;
102102
103103 if (mSkyboxTexture && mReflectionTexture )
104104 {
@@ -142,7 +142,7 @@ void FishModelInstancedDrawDawn::init()
142142 });
143143
144144 mPipeline = mContextDawn ->createRenderPipeline (mPipelineLayout , mProgramDawn ,
145- mVertexInputDescriptor , mBlend );
145+ mVertexStateDescriptor , mBlend );
146146
147147 mFishVertexBuffer =
148148 mContextDawn ->createBufferFromData (&mFishVertexUniforms , sizeof (FishVertexUniforms),
0 commit comments