Lines Matching refs:bgfx

130 		bgfx::Init init;  in init()
136 bgfx::init(init); in init()
139 bgfx::setDebug(m_debug); in init()
142 bgfx::setViewClear(0 in init()
149 const bgfx::Caps* caps = bgfx::getCaps(); in init()
157 bgfx::VertexLayout quadVertexLayout; in init()
159 .add(bgfx::Attrib::Position, 2, bgfx::AttribType::Float) in init()
163 m_vbh = bgfx::createVertexBuffer( in init()
165 bgfx::makeRef(s_quadVertices, sizeof(s_quadVertices) ) in init()
170 m_ibh = bgfx::createIndexBuffer( in init()
172 bgfx::makeRef(s_quadIndices, sizeof(s_quadIndices) ) in init()
179 bgfx::VertexLayout computeVertexLayout; in init()
181 .add(bgfx::Attrib::TexCoord0, 4, bgfx::AttribType::Float) in init()
184 …m_currPositionBuffer0 = bgfx::createDynamicVertexBuffer(1 << 15, computeVertexLayout, BGFX_BUFFER_… in init()
185 …m_currPositionBuffer1 = bgfx::createDynamicVertexBuffer(1 << 15, computeVertexLayout, BGFX_BUFFER_… in init()
186 …m_prevPositionBuffer0 = bgfx::createDynamicVertexBuffer(1 << 15, computeVertexLayout, BGFX_BUFFER_… in init()
187 …m_prevPositionBuffer1 = bgfx::createDynamicVertexBuffer(1 << 15, computeVertexLayout, BGFX_BUFFER_… in init()
189 u_params = bgfx::createUniform("u_params", bgfx::UniformType::Vec4, 3); in init()
191 m_initInstancesProgram = bgfx::createProgram(loadShader("cs_init_instances"), true); in init()
192 m_updateInstancesProgram = bgfx::createProgram(loadShader("cs_update_instances"), true); in init()
199 m_indirectProgram = bgfx::createProgram(loadShader("cs_indirect"), true); in init()
200 m_indirectBuffer = bgfx::createIndirectBuffer(2); in init()
205 bgfx::setUniform(u_params, &m_paramsData, 3); in init()
206 bgfx::setBuffer(0, m_prevPositionBuffer0, bgfx::Access::Write); in init()
207 bgfx::setBuffer(1, m_currPositionBuffer0, bgfx::Access::Write); in init()
208 bgfx::dispatch(0, m_initInstancesProgram, kMaxParticleCount / kThreadGroupUpdateSize, 1, 1); in init()
230 bgfx::destroy(m_indirectProgram); in shutdown()
231 bgfx::destroy(m_indirectBuffer); in shutdown()
234 bgfx::destroy(u_params); in shutdown()
235 bgfx::destroy(m_currPositionBuffer0); in shutdown()
236 bgfx::destroy(m_currPositionBuffer1); in shutdown()
237 bgfx::destroy(m_prevPositionBuffer0); in shutdown()
238 bgfx::destroy(m_prevPositionBuffer1); in shutdown()
239 bgfx::destroy(m_updateInstancesProgram); in shutdown()
240 bgfx::destroy(m_initInstancesProgram); in shutdown()
241 bgfx::destroy(m_ibh); in shutdown()
242 bgfx::destroy(m_vbh); in shutdown()
243 bgfx::destroy(m_particleProgram); in shutdown()
247 bgfx::shutdown(); in shutdown()
281 bgfx::setViewRect(0, 0, 0, uint16_t(m_width), uint16_t(m_height) ); in update()
339 bgfx::setBuffer(0, m_prevPositionBuffer0, bgfx::Access::Write); in update()
340 bgfx::setBuffer(1, m_currPositionBuffer0, bgfx::Access::Write); in update()
341 bgfx::setUniform(u_params, &m_paramsData, 3); in update()
342 bgfx::dispatch(0, m_initInstancesProgram, kMaxParticleCount / kThreadGroupUpdateSize, 1, 1); in update()
347 bgfx::setUniform(u_params, &m_paramsData, 3); in update()
348 bgfx::setBuffer(0, m_indirectBuffer, bgfx::Access::Write); in update()
349 bgfx::dispatch(0, m_indirectProgram); in update()
352 bgfx::setBuffer(0, m_prevPositionBuffer0, bgfx::Access::Read); in update()
353 bgfx::setBuffer(1, m_currPositionBuffer0, bgfx::Access::Read); in update()
354 bgfx::setBuffer(2, m_prevPositionBuffer1, bgfx::Access::Write); in update()
355 bgfx::setBuffer(3, m_currPositionBuffer1, bgfx::Access::Write); in update()
356 bgfx::setUniform(u_params, &m_paramsData, 3); in update()
360 bgfx::dispatch(0, m_updateInstancesProgram, m_indirectBuffer, 1); in update()
364 bgfx::dispatch(0, m_updateInstancesProgram, uint16_t(m_paramsData.dispatchSize), 1, 1); in update()
385 , bgfx::getCaps()->homogeneousDepth in update()
387 bgfx::setViewTransform(0, view, proj); in update()
390 bgfx::setViewRect(0, 0, 0, uint16_t(m_width), uint16_t(m_height) ); in update()
394 bgfx::setVertexBuffer(0, m_vbh); in update()
395 bgfx::setIndexBuffer(m_ibh); in update()
396 bgfx::setInstanceDataBuffer(m_currPositionBuffer0 in update()
402 bgfx::setState(0 in update()
411 bgfx::submit(0, m_particleProgram, m_indirectBuffer, 0); in update()
415 bgfx::submit(0, m_particleProgram); in update()
423 bgfx::frame(); in update()
443 bgfx::VertexBufferHandle m_vbh;
444 bgfx::IndexBufferHandle m_ibh;
445 bgfx::ProgramHandle m_particleProgram;
446 bgfx::ProgramHandle m_indirectProgram;
447 bgfx::ProgramHandle m_initInstancesProgram;
448 bgfx::ProgramHandle m_updateInstancesProgram;
449 bgfx::IndirectBufferHandle m_indirectBuffer;
450 bgfx::DynamicVertexBufferHandle m_currPositionBuffer0;
451 bgfx::DynamicVertexBufferHandle m_currPositionBuffer1;
452 bgfx::DynamicVertexBufferHandle m_prevPositionBuffer0;
453 bgfx::DynamicVertexBufferHandle m_prevPositionBuffer1;
454 bgfx::UniformHandle u_params;