mirror of
https://github.com/bkaradzic/bgfx.git
synced 2026-02-17 20:52:36 +01:00
Exposed vertex stream argument to API.
This commit is contained in:
@@ -6,11 +6,6 @@
|
||||
#include "common.h"
|
||||
#include "bgfx_utils.h"
|
||||
|
||||
namespace bgfx
|
||||
{
|
||||
void setVertexBuffer(uint8_t _stream, VertexBufferHandle _handle, uint32_t _startVertex = 0, uint32_t _numVertices = UINT32_MAX);
|
||||
}
|
||||
|
||||
struct PosColorVertex
|
||||
{
|
||||
float m_x;
|
||||
@@ -20,25 +15,17 @@ struct PosColorVertex
|
||||
|
||||
static void init()
|
||||
{
|
||||
ms_decl0
|
||||
ms_decl
|
||||
.begin()
|
||||
.add(bgfx::Attrib::Position, 3, bgfx::AttribType::Float)
|
||||
.skip(4)
|
||||
.end();
|
||||
|
||||
ms_decl1
|
||||
.begin()
|
||||
.skip(12)
|
||||
.add(bgfx::Attrib::Color0, 4, bgfx::AttribType::Uint8, true)
|
||||
.end();
|
||||
};
|
||||
|
||||
static bgfx::VertexDecl ms_decl0;
|
||||
static bgfx::VertexDecl ms_decl1;
|
||||
static bgfx::VertexDecl ms_decl;
|
||||
};
|
||||
|
||||
bgfx::VertexDecl PosColorVertex::ms_decl0;
|
||||
bgfx::VertexDecl PosColorVertex::ms_decl1;
|
||||
bgfx::VertexDecl PosColorVertex::ms_decl;
|
||||
|
||||
static PosColorVertex s_cubeVertices[] =
|
||||
{
|
||||
@@ -115,16 +102,10 @@ class ExampleCubes : public entry::AppI
|
||||
PosColorVertex::init();
|
||||
|
||||
// Create static vertex buffer.
|
||||
m_vbh0 = bgfx::createVertexBuffer(
|
||||
m_vbh = bgfx::createVertexBuffer(
|
||||
// Static data can be passed with bgfx::makeRef
|
||||
bgfx::makeRef(s_cubeVertices, sizeof(s_cubeVertices) )
|
||||
, PosColorVertex::ms_decl0
|
||||
);
|
||||
|
||||
m_vbh1 = bgfx::createVertexBuffer(
|
||||
// Static data can be passed with bgfx::makeRef
|
||||
bgfx::makeRef(s_cubeVertices, sizeof(s_cubeVertices) )
|
||||
, PosColorVertex::ms_decl1
|
||||
, PosColorVertex::ms_decl
|
||||
);
|
||||
|
||||
// Create static index buffer.
|
||||
@@ -143,8 +124,7 @@ class ExampleCubes : public entry::AppI
|
||||
{
|
||||
// Cleanup.
|
||||
bgfx::destroyIndexBuffer(m_ibh);
|
||||
bgfx::destroyVertexBuffer(m_vbh0);
|
||||
bgfx::destroyVertexBuffer(m_vbh1);
|
||||
bgfx::destroyVertexBuffer(m_vbh);
|
||||
bgfx::destroyProgram(m_program);
|
||||
|
||||
// Shutdown bgfx.
|
||||
@@ -221,8 +201,7 @@ class ExampleCubes : public entry::AppI
|
||||
bgfx::setTransform(mtx);
|
||||
|
||||
// Set vertex and index buffer.
|
||||
bgfx::setVertexBuffer(0, m_vbh0);
|
||||
bgfx::setVertexBuffer(1, m_vbh1);
|
||||
bgfx::setVertexBuffer(0, m_vbh);
|
||||
bgfx::setIndexBuffer(m_ibh);
|
||||
|
||||
// Set render states.
|
||||
@@ -250,8 +229,7 @@ class ExampleCubes : public entry::AppI
|
||||
uint32_t m_height;
|
||||
uint32_t m_debug;
|
||||
uint32_t m_reset;
|
||||
bgfx::VertexBufferHandle m_vbh0;
|
||||
bgfx::VertexBufferHandle m_vbh1;
|
||||
bgfx::VertexBufferHandle m_vbh;
|
||||
bgfx::IndexBufferHandle m_ibh;
|
||||
bgfx::ProgramHandle m_program;
|
||||
int64_t m_timeOffset;
|
||||
|
||||
@@ -726,7 +726,7 @@ class ExampleMetaballs : public entry::AppI
|
||||
bgfx::setTransform(mtx);
|
||||
|
||||
// Set vertex and index buffer.
|
||||
bgfx::setVertexBuffer(&tvb, 0, numVertices);
|
||||
bgfx::setVertexBuffer(0, &tvb, 0, numVertices);
|
||||
|
||||
// Set render states.
|
||||
bgfx::setState(BGFX_STATE_DEFAULT);
|
||||
|
||||
@@ -97,7 +97,7 @@ void renderScreenSpaceQuad(uint8_t _view, bgfx::ProgramHandle _program, float _x
|
||||
|
||||
bgfx::setState(BGFX_STATE_DEFAULT);
|
||||
bgfx::setIndexBuffer(&tib);
|
||||
bgfx::setVertexBuffer(&tvb);
|
||||
bgfx::setVertexBuffer(0, &tvb);
|
||||
bgfx::submit(_view, _program);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -209,7 +209,7 @@ class ExampleInstancing : public entry::AppI
|
||||
}
|
||||
|
||||
// Set vertex and index buffer.
|
||||
bgfx::setVertexBuffer(m_vbh);
|
||||
bgfx::setVertexBuffer(0, m_vbh);
|
||||
bgfx::setIndexBuffer(m_ibh);
|
||||
|
||||
// Set instance data buffer.
|
||||
|
||||
@@ -270,7 +270,7 @@ class ExampleBump : public entry::AppI
|
||||
bgfx::setInstanceDataBuffer(idb, numInstances);
|
||||
|
||||
// Set vertex and index buffer.
|
||||
bgfx::setVertexBuffer(m_vbh);
|
||||
bgfx::setVertexBuffer(0, m_vbh);
|
||||
bgfx::setIndexBuffer(m_ibh);
|
||||
|
||||
// Bind textures.
|
||||
@@ -307,7 +307,7 @@ class ExampleBump : public entry::AppI
|
||||
bgfx::setTransform(mtx);
|
||||
|
||||
// Set vertex and index buffer.
|
||||
bgfx::setVertexBuffer(m_vbh);
|
||||
bgfx::setVertexBuffer(0, m_vbh);
|
||||
bgfx::setIndexBuffer(m_ibh);
|
||||
|
||||
// Bind textures.
|
||||
|
||||
@@ -425,7 +425,7 @@ int _main_(int _argc, char** _argv)
|
||||
bgfx::setTransform(mtx);
|
||||
|
||||
// Set vertex and index buffer.
|
||||
bgfx::setVertexBuffer(vbh);
|
||||
bgfx::setVertexBuffer(0, vbh);
|
||||
bgfx::setIndexBuffer(ibh);
|
||||
|
||||
// Set render states.
|
||||
|
||||
@@ -475,7 +475,7 @@ public:
|
||||
bgfx::setTransform( mtx );
|
||||
|
||||
// Set vertex and index buffer.
|
||||
bgfx::setVertexBuffer( m_vbh );
|
||||
bgfx::setVertexBuffer(0, m_vbh );
|
||||
bgfx::setIndexBuffer( m_ibh );
|
||||
|
||||
// Bind texture.
|
||||
@@ -502,7 +502,7 @@ public:
|
||||
bgfx::setTransform(mtx);
|
||||
|
||||
// Set vertex and index buffer.
|
||||
bgfx::setVertexBuffer(m_vbh);
|
||||
bgfx::setVertexBuffer(0, m_vbh);
|
||||
bgfx::setIndexBuffer(m_ibh);
|
||||
|
||||
// Bind texture.
|
||||
@@ -524,7 +524,7 @@ public:
|
||||
bgfx::setTransform(mtx);
|
||||
|
||||
// Set vertex and index buffer.
|
||||
bgfx::setVertexBuffer(m_vbh);
|
||||
bgfx::setVertexBuffer(0, m_vbh);
|
||||
bgfx::setIndexBuffer(m_ibh, 0, 6);
|
||||
|
||||
// Bind texture.
|
||||
@@ -545,7 +545,7 @@ public:
|
||||
bgfx::setTransform(mtx);
|
||||
|
||||
// Set vertex and index buffer.
|
||||
bgfx::setVertexBuffer(m_vbh);
|
||||
bgfx::setVertexBuffer(0, m_vbh);
|
||||
bgfx::setIndexBuffer(m_ibh, 0, 6);
|
||||
|
||||
// Bind texture.
|
||||
@@ -566,7 +566,7 @@ public:
|
||||
bgfx::setTransform(mtx);
|
||||
|
||||
// Set vertex and index buffer.
|
||||
bgfx::setVertexBuffer(m_vbh, 24, 4);
|
||||
bgfx::setVertexBuffer(0, m_vbh, 24, 4);
|
||||
bgfx::setIndexBuffer(m_ibh, 0, 6);
|
||||
|
||||
// Bind texture.
|
||||
|
||||
@@ -88,7 +88,7 @@ void screenSpaceQuad(float _textureWidth, float _textureHeight, bool _originBott
|
||||
vertex[2].m_u = maxu;
|
||||
vertex[2].m_v = maxv;
|
||||
|
||||
bgfx::setVertexBuffer(&vb);
|
||||
bgfx::setVertexBuffer(0, &vb);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -767,7 +767,7 @@ struct Mesh
|
||||
// Set model matrix for rendering.
|
||||
bgfx::setTransform(_mtx);
|
||||
bgfx::setIndexBuffer(group.m_ibh);
|
||||
bgfx::setVertexBuffer(group.m_vbh);
|
||||
bgfx::setVertexBuffer(0, group.m_vbh);
|
||||
|
||||
// Set texture
|
||||
if (bgfx::invalidHandle != _texture.idx)
|
||||
|
||||
@@ -1141,7 +1141,7 @@ struct Model
|
||||
|
||||
// Set buffers
|
||||
bgfx::setIndexBuffer(group.m_ibh);
|
||||
bgfx::setVertexBuffer(group.m_vbh);
|
||||
bgfx::setVertexBuffer(0, group.m_vbh);
|
||||
|
||||
// Set textures
|
||||
if (bgfx::invalidHandle != m_texture.idx)
|
||||
@@ -2674,7 +2674,7 @@ int _main_(int _argc, char** _argv)
|
||||
|
||||
s_uniforms.submitPerDrawUniforms();
|
||||
bgfx::setTransform(shadowVolumeMtx);
|
||||
bgfx::setVertexBuffer(shadowVolume.m_vbSides);
|
||||
bgfx::setVertexBuffer(0, shadowVolume.m_vbSides);
|
||||
bgfx::setIndexBuffer(shadowVolume.m_ibSides);
|
||||
setRenderState(renderStateCraftStencil);
|
||||
::submit(viewId, svProgs[programIndex][ShadowVolumePart::Side]);
|
||||
@@ -2683,14 +2683,14 @@ int _main_(int _argc, char** _argv)
|
||||
{
|
||||
s_uniforms.submitPerDrawUniforms();
|
||||
bgfx::setTransform(shadowVolumeMtx);
|
||||
bgfx::setVertexBuffer(group.m_vbh);
|
||||
bgfx::setVertexBuffer(0, group.m_vbh);
|
||||
bgfx::setIndexBuffer(shadowVolume.m_ibFrontCap);
|
||||
setRenderState(renderStateCraftStencil);
|
||||
::submit(viewId, svProgs[programIndex][ShadowVolumePart::Front]);
|
||||
|
||||
s_uniforms.submitPerDrawUniforms();
|
||||
bgfx::setTransform(shadowVolumeMtx);
|
||||
bgfx::setVertexBuffer(group.m_vbh);
|
||||
bgfx::setVertexBuffer(0, group.m_vbh);
|
||||
bgfx::setIndexBuffer(shadowVolume.m_ibBackCap);
|
||||
::setRenderState(renderStateCraftStencil);
|
||||
::submit(viewId, svProgs[programIndex][ShadowVolumePart::Back]);
|
||||
@@ -2702,7 +2702,7 @@ int _main_(int _argc, char** _argv)
|
||||
|
||||
s_uniforms.submitPerDrawUniforms();
|
||||
bgfx::setTransform(shadowVolumeMtx);
|
||||
bgfx::setVertexBuffer(shadowVolume.m_vbSides);
|
||||
bgfx::setVertexBuffer(0, shadowVolume.m_vbSides);
|
||||
bgfx::setIndexBuffer(shadowVolume.m_ibSides);
|
||||
::setRenderState(renderState);
|
||||
::submit(VIEWID_RANGE1_PASS3, svProgs[ShadowVolumeProgramType::Color][ShadowVolumePart::Side]);
|
||||
@@ -2711,14 +2711,14 @@ int _main_(int _argc, char** _argv)
|
||||
{
|
||||
s_uniforms.submitPerDrawUniforms();
|
||||
bgfx::setTransform(shadowVolumeMtx);
|
||||
bgfx::setVertexBuffer(group.m_vbh);
|
||||
bgfx::setVertexBuffer(0, group.m_vbh);
|
||||
bgfx::setIndexBuffer(shadowVolume.m_ibFrontCap);
|
||||
::setRenderState(renderState);
|
||||
::submit(VIEWID_RANGE1_PASS3, svProgs[ShadowVolumeProgramType::Color][ShadowVolumePart::Front]);
|
||||
|
||||
s_uniforms.submitPerDrawUniforms();
|
||||
bgfx::setTransform(shadowVolumeMtx);
|
||||
bgfx::setVertexBuffer(group.m_vbh);
|
||||
bgfx::setVertexBuffer(0, group.m_vbh);
|
||||
bgfx::setIndexBuffer(shadowVolume.m_ibBackCap);
|
||||
::setRenderState(renderState);
|
||||
::submit(VIEWID_RANGE1_PASS3, svProgs[ShadowVolumeProgramType::Color][ShadowVolumePart::Back]);
|
||||
|
||||
@@ -311,7 +311,7 @@ int _main_(int _argc, char** _argv)
|
||||
}
|
||||
bgfx::setUniform(u_lightMtx, lightMtx);
|
||||
bgfx::setIndexBuffer(ibh);
|
||||
bgfx::setVertexBuffer(vbh);
|
||||
bgfx::setVertexBuffer(0, vbh);
|
||||
bgfx::setState(st.m_state);
|
||||
bgfx::submit(st.m_viewId, st.m_program);
|
||||
}
|
||||
|
||||
@@ -976,7 +976,7 @@ struct Mesh
|
||||
// Set model matrix for rendering.
|
||||
bgfx::setTransform(_mtx);
|
||||
bgfx::setIndexBuffer(group.m_ibh);
|
||||
bgfx::setVertexBuffer(group.m_vbh);
|
||||
bgfx::setVertexBuffer(0, group.m_vbh);
|
||||
|
||||
// Set textures.
|
||||
if (bgfx::invalidHandle != _texture.idx)
|
||||
@@ -1081,7 +1081,7 @@ void screenSpaceQuad(float _textureWidth, float _textureHeight, bool _originBott
|
||||
vertex[2].m_u = maxu;
|
||||
vertex[2].m_v = maxv;
|
||||
|
||||
bgfx::setVertexBuffer(&vb);
|
||||
bgfx::setVertexBuffer(0, &vb);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2714,7 +2714,7 @@ int _main_(int _argc, char** _argv)
|
||||
| BGFX_STENCIL_OP_FAIL_Z_REPLACE
|
||||
| BGFX_STENCIL_OP_PASS_Z_REPLACE
|
||||
);
|
||||
bgfx::setVertexBuffer(&vb);
|
||||
bgfx::setVertexBuffer(0, &vb);
|
||||
bgfx::submit(RENDERVIEW_SHADOWMAP_0_ID, s_programs.m_black);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -291,7 +291,7 @@ class ExampleDrawStress : public entry::AppI
|
||||
bgfx::setTransform(mtx);
|
||||
|
||||
// Set vertex and index buffer.
|
||||
bgfx::setVertexBuffer(m_vbh);
|
||||
bgfx::setVertexBuffer(0, m_vbh);
|
||||
bgfx::setIndexBuffer(m_ibh);
|
||||
|
||||
// Set render states.
|
||||
|
||||
@@ -138,7 +138,7 @@ void screenSpaceQuad(float _textureWidth, float _textureHeight, bool _originBott
|
||||
vertex[2].m_u = maxu;
|
||||
vertex[2].m_v = maxv;
|
||||
|
||||
bgfx::setVertexBuffer(&vb);
|
||||
bgfx::setVertexBuffer(0, &vb);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -142,7 +142,7 @@ void screenSpaceQuad(float _textureWidth, float _textureHeight, bool _originBott
|
||||
vertex[2].m_u = maxu;
|
||||
vertex[2].m_v = maxv;
|
||||
|
||||
bgfx::setVertexBuffer(&vb);
|
||||
bgfx::setVertexBuffer(0, &vb);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -399,7 +399,7 @@ class ExampleOIT : public entry::AppI
|
||||
bgfx::setTransform(mtx);
|
||||
|
||||
// Set vertex and index buffer.
|
||||
bgfx::setVertexBuffer(m_vbh);
|
||||
bgfx::setVertexBuffer(0, m_vbh);
|
||||
bgfx::setIndexBuffer(m_ibh);
|
||||
|
||||
const uint64_t state = 0
|
||||
|
||||
@@ -183,7 +183,7 @@ void screenSpaceQuad(float _textureWidth, float _textureHeight, float _texelHalf
|
||||
vertex[2].m_u = maxu;
|
||||
vertex[2].m_v = maxv;
|
||||
|
||||
bgfx::setVertexBuffer(&vb);
|
||||
bgfx::setVertexBuffer(0, &vb);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -520,7 +520,7 @@ class ExampleDeferred : public entry::AppI
|
||||
bgfx::setTransform(mtx);
|
||||
|
||||
// Set vertex and index buffer.
|
||||
bgfx::setVertexBuffer(m_vbh);
|
||||
bgfx::setVertexBuffer(0, m_vbh);
|
||||
bgfx::setIndexBuffer(m_ibh);
|
||||
|
||||
// Bind textures.
|
||||
@@ -635,7 +635,7 @@ class ExampleDeferred : public entry::AppI
|
||||
*indices++ = 3;
|
||||
*indices++ = 0;
|
||||
|
||||
bgfx::setVertexBuffer(&tvb);
|
||||
bgfx::setVertexBuffer(0, &tvb);
|
||||
bgfx::setIndexBuffer(&tib);
|
||||
bgfx::setState(0
|
||||
| BGFX_STATE_RGB_WRITE
|
||||
@@ -698,7 +698,7 @@ class ExampleDeferred : public entry::AppI
|
||||
);
|
||||
|
||||
bgfx::setTransform(mtx);
|
||||
bgfx::setVertexBuffer(m_vbh);
|
||||
bgfx::setVertexBuffer(0, m_vbh);
|
||||
bgfx::setIndexBuffer(m_ibh, 0, 6);
|
||||
bgfx::setTexture(0, s_texColor, m_gbufferTex[ii]);
|
||||
bgfx::setState(BGFX_STATE_RGB_WRITE);
|
||||
|
||||
@@ -278,7 +278,7 @@ public:
|
||||
bgfx::setTransform(mtx);
|
||||
|
||||
// Set vertex and index buffer.
|
||||
bgfx::setVertexBuffer(m_vbh);
|
||||
bgfx::setVertexBuffer(0, m_vbh);
|
||||
bgfx::setIndexBuffer(m_ibh);
|
||||
|
||||
// Set render states.
|
||||
|
||||
@@ -176,7 +176,7 @@ void VectorDisplay::endFrame()
|
||||
|
||||
bgfx::setTexture(0, s_texColor, m_lineTexId);
|
||||
|
||||
bgfx::setVertexBuffer(m_vertexBuffers[i], 0, m_vertexBuffersSize[i]); // explicitly feed vertex number!
|
||||
bgfx::setVertexBuffer(0, m_vertexBuffers[i], 0, m_vertexBuffersSize[i]); // explicitly feed vertex number!
|
||||
|
||||
bgfx::setState(0
|
||||
| BGFX_STATE_RGB_WRITE
|
||||
@@ -793,7 +793,7 @@ void VectorDisplay::screenSpaceQuad(float _textureWidth, float _textureHeight, f
|
||||
vertex[2].m_u = maxu;
|
||||
vertex[2].m_v = maxv;
|
||||
|
||||
bgfx::setVertexBuffer(&vb);
|
||||
bgfx::setVertexBuffer(0, &vb);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -324,7 +324,7 @@ int _main_(int _argc, char** _argv)
|
||||
}
|
||||
|
||||
// Set vertex and index buffer.
|
||||
bgfx::setVertexBuffer(vbh);
|
||||
bgfx::setVertexBuffer(0, vbh);
|
||||
bgfx::setIndexBuffer(ibh);
|
||||
bgfx::setInstanceDataBuffer(currPositionBuffer0, 0, u_paramsData.dispatchSize * threadGroupUpdateSize);
|
||||
|
||||
|
||||
@@ -224,14 +224,14 @@ class ExampleOcclusion : public entry::AppI
|
||||
bgfx::OcclusionQueryHandle occlusionQuery = m_occlusionQueries[yy*CUBES_DIM+xx];
|
||||
|
||||
bgfx::setTransform(mtx);
|
||||
bgfx::setVertexBuffer(m_vbh);
|
||||
bgfx::setVertexBuffer(0, m_vbh);
|
||||
bgfx::setIndexBuffer(m_ibh);
|
||||
bgfx::setCondition(occlusionQuery, true);
|
||||
bgfx::setState(BGFX_STATE_DEFAULT);
|
||||
bgfx::submit(0, m_program);
|
||||
|
||||
bgfx::setTransform(mtx);
|
||||
bgfx::setVertexBuffer(m_vbh);
|
||||
bgfx::setVertexBuffer(0, m_vbh);
|
||||
bgfx::setIndexBuffer(m_ibh);
|
||||
bgfx::setState(0
|
||||
| BGFX_STATE_DEPTH_TEST_LEQUAL
|
||||
@@ -240,7 +240,7 @@ class ExampleOcclusion : public entry::AppI
|
||||
bgfx::submit(1, m_program, occlusionQuery);
|
||||
|
||||
bgfx::setTransform(mtx);
|
||||
bgfx::setVertexBuffer(m_vbh);
|
||||
bgfx::setVertexBuffer(0, m_vbh);
|
||||
bgfx::setIndexBuffer(m_ibh);
|
||||
bgfx::setCondition(occlusionQuery, true);
|
||||
bgfx::setState(BGFX_STATE_DEFAULT);
|
||||
|
||||
@@ -466,19 +466,19 @@ class ExampleTerrain : public entry::AppI
|
||||
switch (m_terrain.m_mode)
|
||||
{
|
||||
default:
|
||||
bgfx::setVertexBuffer(m_vbh);
|
||||
bgfx::setVertexBuffer(0, m_vbh);
|
||||
bgfx::setIndexBuffer(m_ibh);
|
||||
bgfx::submit(0, m_terrainProgram);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
bgfx::setVertexBuffer(m_dvbh);
|
||||
bgfx::setVertexBuffer(0, m_dvbh);
|
||||
bgfx::setIndexBuffer(m_dibh);
|
||||
bgfx::submit(0, m_terrainProgram);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
bgfx::setVertexBuffer(m_vbh);
|
||||
bgfx::setVertexBuffer(0, m_vbh);
|
||||
bgfx::setIndexBuffer(m_ibh);
|
||||
bgfx::setTexture(0, s_heightTexture, m_heightTexture);
|
||||
bgfx::submit(0, m_terrainHeightTextureProgram);
|
||||
|
||||
@@ -176,7 +176,7 @@ void screenSpaceQuad(float _textureWidth, float _textureHeight, float _texelHalf
|
||||
vertex[2].m_u = maxu;
|
||||
vertex[2].m_v = maxv;
|
||||
|
||||
bgfx::setVertexBuffer(&vb);
|
||||
bgfx::setVertexBuffer(0, &vb);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -324,7 +324,7 @@ class ExamplePom : public entry::AppI
|
||||
bgfx::setUniform(u_norm_mtx, transpose);
|
||||
|
||||
// Set vertex and index buffer.
|
||||
bgfx::setVertexBuffer(m_vbh);
|
||||
bgfx::setVertexBuffer(0, m_vbh);
|
||||
bgfx::setIndexBuffer(m_ibh);
|
||||
|
||||
// Bind textures.
|
||||
|
||||
@@ -547,7 +547,7 @@ struct Mesh
|
||||
const Group& group = *it;
|
||||
|
||||
bgfx::setIndexBuffer(group.m_ibh);
|
||||
bgfx::setVertexBuffer(group.m_vbh);
|
||||
bgfx::setVertexBuffer(0, group.m_vbh);
|
||||
bgfx::submit(_id, _program, 0, it != itEnd-1);
|
||||
}
|
||||
}
|
||||
@@ -578,7 +578,7 @@ struct Mesh
|
||||
const Group& group = *it;
|
||||
|
||||
bgfx::setIndexBuffer(group.m_ibh);
|
||||
bgfx::setVertexBuffer(group.m_vbh);
|
||||
bgfx::setVertexBuffer(0, group.m_vbh);
|
||||
bgfx::submit(state.m_viewId, state.m_program, 0, it != itEnd-1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1818,7 +1818,7 @@ private:
|
||||
bgfx::setUniform(u_params, params, 4);
|
||||
|
||||
bgfx::setTransform(_mtx, _num);
|
||||
bgfx::setVertexBuffer(m_vbh, mesh.m_startVertex, mesh.m_numVertices);
|
||||
bgfx::setVertexBuffer(0, m_vbh, mesh.m_startVertex, mesh.m_numVertices);
|
||||
bgfx::setState(0
|
||||
| attrib.m_state
|
||||
| (_wireframe ? BGFX_STATE_PT_LINES|BGFX_STATE_LINEAA|BGFX_STATE_BLEND_ALPHA
|
||||
@@ -1851,7 +1851,7 @@ private:
|
||||
|
||||
const Attrib& attrib = m_attrib[m_stack];
|
||||
|
||||
bgfx::setVertexBuffer(&tvb);
|
||||
bgfx::setVertexBuffer(0, &tvb);
|
||||
bgfx::setIndexBuffer(&tib);
|
||||
bgfx::setState(0
|
||||
| BGFX_STATE_RGB_WRITE
|
||||
@@ -1900,7 +1900,7 @@ private:
|
||||
|
||||
const Attrib& attrib = m_attrib[m_stack];
|
||||
|
||||
bgfx::setVertexBuffer(&tvb);
|
||||
bgfx::setVertexBuffer(0, &tvb);
|
||||
bgfx::setIndexBuffer(&tib);
|
||||
bgfx::setState(0
|
||||
| (attrib.m_state & ~BGFX_STATE_CULL_MASK)
|
||||
|
||||
@@ -750,7 +750,7 @@ void TextBufferManager::submitTextBuffer(TextBufferHandle _handle, uint8_t _id,
|
||||
ibh.idx = bc.indexBufferHandleIdx;
|
||||
}
|
||||
|
||||
bgfx::setVertexBuffer(vbh, 0, bc.textBuffer->getVertexCount() );
|
||||
bgfx::setVertexBuffer(0, vbh, 0, bc.textBuffer->getVertexCount() );
|
||||
bgfx::setIndexBuffer(ibh, 0, bc.textBuffer->getIndexCount() );
|
||||
}
|
||||
break;
|
||||
@@ -790,7 +790,7 @@ void TextBufferManager::submitTextBuffer(TextBufferHandle _handle, uint8_t _id,
|
||||
);
|
||||
}
|
||||
|
||||
bgfx::setVertexBuffer(vbh, 0, bc.textBuffer->getVertexCount() );
|
||||
bgfx::setVertexBuffer(0, vbh, 0, bc.textBuffer->getVertexCount() );
|
||||
bgfx::setIndexBuffer(ibh, 0, bc.textBuffer->getIndexCount() );
|
||||
}
|
||||
break;
|
||||
@@ -803,7 +803,7 @@ void TextBufferManager::submitTextBuffer(TextBufferHandle _handle, uint8_t _id,
|
||||
bgfx::allocTransientVertexBuffer(&tvb, bc.textBuffer->getVertexCount(), m_vertexDecl);
|
||||
bx::memCopy(tib.data, bc.textBuffer->getIndexBuffer(), indexSize);
|
||||
bx::memCopy(tvb.data, bc.textBuffer->getVertexBuffer(), vertexSize);
|
||||
bgfx::setVertexBuffer(&tvb, 0, bc.textBuffer->getVertexCount() );
|
||||
bgfx::setVertexBuffer(0, &tvb, 0, bc.textBuffer->getVertexCount() );
|
||||
bgfx::setIndexBuffer(&tib, 0, bc.textBuffer->getIndexCount() );
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1887,7 +1887,7 @@ struct Imgui
|
||||
|
||||
bgfx::setTransform(mtx);
|
||||
bgfx::setTexture(0, s_texColor, _cubemap);
|
||||
bgfx::setVertexBuffer(&tvb);
|
||||
bgfx::setVertexBuffer(0, &tvb);
|
||||
bgfx::setIndexBuffer(&tib);
|
||||
bgfx::setState(BGFX_STATE_RGB_WRITE
|
||||
|BGFX_STATE_ALPHA_WRITE
|
||||
@@ -2396,7 +2396,7 @@ struct Imgui
|
||||
++vertex;
|
||||
}
|
||||
|
||||
bgfx::setVertexBuffer(&tvb);
|
||||
bgfx::setVertexBuffer(0, &tvb);
|
||||
bgfx::setState(0
|
||||
| BGFX_STATE_RGB_WRITE
|
||||
| BGFX_STATE_ALPHA_WRITE
|
||||
@@ -2701,7 +2701,7 @@ struct Imgui
|
||||
}
|
||||
|
||||
bgfx::setTexture(0, s_texColor, m_fonts[m_currentFontIdx].m_texture);
|
||||
bgfx::setVertexBuffer(&tvb);
|
||||
bgfx::setVertexBuffer(0, &tvb);
|
||||
bgfx::setState(0
|
||||
| BGFX_STATE_RGB_WRITE
|
||||
| BGFX_STATE_ALPHA_WRITE
|
||||
@@ -2766,7 +2766,7 @@ struct Imgui
|
||||
vertex[5].m_u = minu;
|
||||
vertex[5].m_v = minv;
|
||||
|
||||
bgfx::setVertexBuffer(&vb);
|
||||
bgfx::setVertexBuffer(0, &vb);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -148,7 +148,7 @@ struct OcornutImguiContext
|
||||
|
||||
bgfx::setState(state);
|
||||
bgfx::setTexture(0, s_tex, th);
|
||||
bgfx::setVertexBuffer(&tvb, 0, numVertices);
|
||||
bgfx::setVertexBuffer(0, &tvb, 0, numVertices);
|
||||
bgfx::setIndexBuffer(&tib, offset, cmd->ElemCount);
|
||||
bgfx::submit(cmd->ViewId, program);
|
||||
}
|
||||
|
||||
@@ -587,7 +587,7 @@ namespace
|
||||
| BGFX_STENCIL_OP_FAIL_Z_KEEP
|
||||
| BGFX_STENCIL_OP_PASS_Z_DECR
|
||||
);
|
||||
bgfx::setVertexBuffer(&gl->tvb);
|
||||
bgfx::setVertexBuffer(0, &gl->tvb);
|
||||
bgfx::setTexture(0, gl->s_tex, gl->th);
|
||||
fan(paths[i].fillOffset, paths[i].fillCount);
|
||||
bgfx::submit(gl->m_viewId, gl->prog);
|
||||
@@ -612,7 +612,7 @@ namespace
|
||||
| BGFX_STENCIL_OP_FAIL_Z_KEEP
|
||||
| BGFX_STENCIL_OP_PASS_Z_KEEP
|
||||
);
|
||||
bgfx::setVertexBuffer(&gl->tvb, paths[i].strokeOffset, paths[i].strokeCount);
|
||||
bgfx::setVertexBuffer(0, &gl->tvb, paths[i].strokeOffset, paths[i].strokeCount);
|
||||
bgfx::setTexture(0, gl->s_tex, gl->th);
|
||||
bgfx::submit(gl->m_viewId, gl->prog);
|
||||
}
|
||||
@@ -620,7 +620,7 @@ namespace
|
||||
|
||||
// Draw fill
|
||||
bgfx::setState(gl->state);
|
||||
bgfx::setVertexBuffer(&gl->tvb, call->vertexOffset, call->vertexCount);
|
||||
bgfx::setVertexBuffer(0, &gl->tvb, call->vertexOffset, call->vertexCount);
|
||||
bgfx::setTexture(0, gl->s_tex, gl->th);
|
||||
bgfx::setStencil(0
|
||||
| BGFX_STENCIL_TEST_NOTEQUAL
|
||||
@@ -643,7 +643,7 @@ namespace
|
||||
{
|
||||
if (paths[i].fillCount == 0) continue;
|
||||
bgfx::setState(gl->state);
|
||||
bgfx::setVertexBuffer(&gl->tvb);
|
||||
bgfx::setVertexBuffer(0, &gl->tvb);
|
||||
bgfx::setTexture(0, gl->s_tex, gl->th);
|
||||
fan(paths[i].fillOffset, paths[i].fillCount);
|
||||
bgfx::submit(gl->m_viewId, gl->prog);
|
||||
@@ -657,7 +657,7 @@ namespace
|
||||
bgfx::setState(gl->state
|
||||
| BGFX_STATE_PT_TRISTRIP
|
||||
);
|
||||
bgfx::setVertexBuffer(&gl->tvb, paths[i].strokeOffset, paths[i].strokeCount);
|
||||
bgfx::setVertexBuffer(0, &gl->tvb, paths[i].strokeOffset, paths[i].strokeCount);
|
||||
bgfx::setTexture(0, gl->s_tex, gl->th);
|
||||
bgfx::submit(gl->m_viewId, gl->prog);
|
||||
}
|
||||
@@ -677,7 +677,7 @@ namespace
|
||||
bgfx::setState(gl->state
|
||||
| BGFX_STATE_PT_TRISTRIP
|
||||
);
|
||||
bgfx::setVertexBuffer(&gl->tvb, paths[i].strokeOffset, paths[i].strokeCount);
|
||||
bgfx::setVertexBuffer(0, &gl->tvb, paths[i].strokeOffset, paths[i].strokeCount);
|
||||
bgfx::setTexture(0, gl->s_tex, gl->th);
|
||||
bgfx::submit(gl->m_viewId, gl->prog);
|
||||
}
|
||||
@@ -690,7 +690,7 @@ namespace
|
||||
nvgRenderSetUniforms(gl, call->uniformOffset, call->image);
|
||||
|
||||
bgfx::setState(gl->state);
|
||||
bgfx::setVertexBuffer(&gl->tvb, call->vertexOffset, call->vertexCount);
|
||||
bgfx::setVertexBuffer(0, &gl->tvb, call->vertexOffset, call->vertexCount);
|
||||
bgfx::setTexture(0, gl->s_tex, gl->th);
|
||||
bgfx::submit(gl->m_viewId, gl->prog);
|
||||
}
|
||||
|
||||
@@ -655,7 +655,7 @@ namespace ps
|
||||
| BGFX_STATE_CULL_CW
|
||||
| BGFX_STATE_BLEND_NORMAL
|
||||
);
|
||||
bgfx::setVertexBuffer(&tvb);
|
||||
bgfx::setVertexBuffer(0, &tvb);
|
||||
bgfx::setIndexBuffer(&tib);
|
||||
bgfx::setTexture(0, s_texColor, m_texture);
|
||||
bgfx::submit(_view, m_particleProgram);
|
||||
|
||||
@@ -2415,54 +2415,75 @@ namespace bgfx
|
||||
|
||||
/// Set vertex buffer for draw primitive.
|
||||
///
|
||||
/// @param[in] _stream Vertex stream.
|
||||
/// @param[in] _handle Vertex buffer.
|
||||
///
|
||||
/// @attention C99 equivalent is `bgfx_set_vertex_buffer`.
|
||||
///
|
||||
void setVertexBuffer(VertexBufferHandle _handle);
|
||||
|
||||
/// Set vertex buffer for draw primitive.
|
||||
///
|
||||
/// @param[in] _handle Vertex buffer.
|
||||
/// @param[in] _startVertex First vertex to render.
|
||||
/// @param[in] _numVertices Number of vertices to render.
|
||||
///
|
||||
/// @attention C99 equivalent is `bgfx_set_vertex_buffer`.
|
||||
///
|
||||
void setVertexBuffer(VertexBufferHandle _handle, uint32_t _startVertex, uint32_t _numVertices);
|
||||
|
||||
/// Set vertex buffer for draw primitive.
|
||||
///
|
||||
/// @param[in] _handle Dynamic vertex buffer.
|
||||
///
|
||||
/// @attention C99 equivalent is `bgfx_set_dynamic_vertex_buffer`.
|
||||
///
|
||||
void setVertexBuffer(DynamicVertexBufferHandle _handle);
|
||||
|
||||
/// Set vertex buffer for draw primitive.
|
||||
///
|
||||
/// @param[in] _handle Dynamic vertex buffer.
|
||||
/// @param[in] _startVertex First vertex to render.
|
||||
/// @param[in] _numVertices Number of vertices to render.
|
||||
///
|
||||
/// @attention C99 equivalent is `bgfx_set_dynamic_vertex_buffer`.
|
||||
///
|
||||
void setVertexBuffer(
|
||||
DynamicVertexBufferHandle _handle
|
||||
uint8_t _stream
|
||||
, VertexBufferHandle _handle
|
||||
);
|
||||
|
||||
/// Set vertex buffer for draw primitive.
|
||||
///
|
||||
/// @param[in] _stream Vertex stream.
|
||||
/// @param[in] _handle Vertex buffer.
|
||||
/// @param[in] _startVertex First vertex to render.
|
||||
/// @param[in] _numVertices Number of vertices to render.
|
||||
///
|
||||
/// @attention C99 equivalent is `bgfx_set_vertex_buffer`.
|
||||
///
|
||||
void setVertexBuffer(
|
||||
uint8_t _stream
|
||||
, VertexBufferHandle _handle
|
||||
, uint32_t _startVertex
|
||||
, uint32_t _numVertices
|
||||
);
|
||||
|
||||
/// Set vertex buffer for draw primitive.
|
||||
///
|
||||
/// @param[in] _stream Vertex stream.
|
||||
/// @param[in] _handle Dynamic vertex buffer.
|
||||
///
|
||||
/// @attention C99 equivalent is `bgfx_set_dynamic_vertex_buffer`.
|
||||
///
|
||||
void setVertexBuffer(
|
||||
uint8_t _stream
|
||||
, DynamicVertexBufferHandle _handle
|
||||
);
|
||||
|
||||
/// Set vertex buffer for draw primitive.
|
||||
///
|
||||
/// @param[in] _stream Vertex stream.
|
||||
/// @param[in] _handle Dynamic vertex buffer.
|
||||
/// @param[in] _startVertex First vertex to render.
|
||||
/// @param[in] _numVertices Number of vertices to render.
|
||||
///
|
||||
/// @attention C99 equivalent is `bgfx_set_dynamic_vertex_buffer`.
|
||||
///
|
||||
void setVertexBuffer(
|
||||
uint8_t _stream
|
||||
, DynamicVertexBufferHandle _handle
|
||||
, uint32_t _startVertex
|
||||
, uint32_t _numVertices
|
||||
);
|
||||
|
||||
/// Set vertex buffer for draw primitive.
|
||||
///
|
||||
/// @param[in] _stream Vertex stream.
|
||||
/// @param[in] _tvb Transient vertex buffer.
|
||||
///
|
||||
/// @attention C99 equivalent is `bgfx_set_transient_vertex_buffer`.
|
||||
///
|
||||
void setVertexBuffer(const TransientVertexBuffer* _tvb);
|
||||
void setVertexBuffer(
|
||||
uint8_t _stream
|
||||
, const TransientVertexBuffer* _tvb
|
||||
);
|
||||
|
||||
/// Set vertex buffer for draw primitive.
|
||||
///
|
||||
/// @param[in] _stream Vertex stream.
|
||||
/// @param[in] _tvb Transient vertex buffer.
|
||||
/// @param[in] _startVertex First vertex to render.
|
||||
/// @param[in] _numVertices Number of vertices to render.
|
||||
@@ -2470,7 +2491,8 @@ namespace bgfx
|
||||
/// @attention C99 equivalent is `bgfx_set_transient_vertex_buffer`.
|
||||
///
|
||||
void setVertexBuffer(
|
||||
const TransientVertexBuffer* _tvb
|
||||
uint8_t _stream
|
||||
, const TransientVertexBuffer* _tvb
|
||||
, uint32_t _startVertex
|
||||
, uint32_t _numVertices
|
||||
);
|
||||
|
||||
@@ -840,13 +840,13 @@ BGFX_C_API void bgfx_set_dynamic_index_buffer(bgfx_dynamic_index_buffer_handle_t
|
||||
BGFX_C_API void bgfx_set_transient_index_buffer(const bgfx_transient_index_buffer_t* _tib, uint32_t _firstIndex, uint32_t _numIndices);
|
||||
|
||||
/**/
|
||||
BGFX_C_API void bgfx_set_vertex_buffer(bgfx_vertex_buffer_handle_t _handle, uint32_t _startVertex, uint32_t _numVertices);
|
||||
BGFX_C_API void bgfx_set_vertex_buffer(uint8_t _stream, bgfx_vertex_buffer_handle_t _handle, uint32_t _startVertex, uint32_t _numVertices);
|
||||
|
||||
/**/
|
||||
BGFX_C_API void bgfx_set_dynamic_vertex_buffer(bgfx_dynamic_vertex_buffer_handle_t _handle, uint32_t _startVertex, uint32_t _numVertices);
|
||||
BGFX_C_API void bgfx_set_dynamic_vertex_buffer(uint8_t _stream, bgfx_dynamic_vertex_buffer_handle_t _handle, uint32_t _startVertex, uint32_t _numVertices);
|
||||
|
||||
/**/
|
||||
BGFX_C_API void bgfx_set_transient_vertex_buffer(const bgfx_transient_vertex_buffer_t* _tvb, uint32_t _startVertex, uint32_t _numVertices);
|
||||
BGFX_C_API void bgfx_set_transient_vertex_buffer(uint8_t _stream, const bgfx_transient_vertex_buffer_t* _tvb, uint32_t _startVertex, uint32_t _numVertices);
|
||||
|
||||
/**/
|
||||
BGFX_C_API void bgfx_set_instance_data_buffer(const bgfx_instance_data_buffer_t* _idb, uint32_t _num);
|
||||
|
||||
@@ -175,9 +175,9 @@ typedef struct bgfx_interface_vtbl
|
||||
void (*set_index_buffer)(bgfx_index_buffer_handle_t _handle, uint32_t _firstIndex, uint32_t _numIndices);
|
||||
void (*set_dynamic_index_buffer)(bgfx_dynamic_index_buffer_handle_t _handle, uint32_t _firstIndex, uint32_t _numIndices);
|
||||
void (*set_transient_index_buffer)(const bgfx_transient_index_buffer_t* _tib, uint32_t _firstIndex, uint32_t _numIndices);
|
||||
void (*set_vertex_buffer)(bgfx_vertex_buffer_handle_t _handle, uint32_t _startVertex, uint32_t _numVertices);
|
||||
void (*set_dynamic_vertex_buffer)(bgfx_dynamic_vertex_buffer_handle_t _handle, uint32_t _startVertex, uint32_t _numVertices);
|
||||
void (*set_transient_vertex_buffer)(const bgfx_transient_vertex_buffer_t* _tvb, uint32_t _startVertex, uint32_t _numVertices);
|
||||
void (*set_vertex_buffer)(uint8_t _stream, bgfx_vertex_buffer_handle_t _handle, uint32_t _startVertex, uint32_t _numVertices);
|
||||
void (*set_dynamic_vertex_buffer)(uint8_t _stream, bgfx_dynamic_vertex_buffer_handle_t _handle, uint32_t _startVertex, uint32_t _numVertices);
|
||||
void (*set_transient_vertex_buffer)(uint8_t _stream, const bgfx_transient_vertex_buffer_t* _tvb, uint32_t _startVertex, uint32_t _numVertices);
|
||||
void (*set_instance_data_buffer)(const bgfx_instance_data_buffer_t* _idb, uint32_t _num);
|
||||
void (*set_instance_data_from_vertex_buffer)(bgfx_vertex_buffer_handle_t _handle, uint32_t _startVertex, uint32_t _num);
|
||||
void (*set_instance_data_from_dynamic_vertex_buffer)(bgfx_dynamic_vertex_buffer_handle_t _handle, uint32_t _startVertex, uint32_t _num);
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#ifndef BGFX_DEFINES_H_HEADER_GUARD
|
||||
#define BGFX_DEFINES_H_HEADER_GUARD
|
||||
|
||||
#define BGFX_API_VERSION UINT32_C(40)
|
||||
#define BGFX_API_VERSION UINT32_C(41)
|
||||
|
||||
///
|
||||
#define BGFX_STATE_RGB_WRITE UINT64_C(0x0000000000000001) //!< Enable RGB write.
|
||||
|
||||
39
src/bgfx.cpp
39
src/bgfx.cpp
@@ -3741,14 +3741,9 @@ error:
|
||||
s_ctx->setVertexBuffer(_stream, _handle, _startVertex, _numVertices);
|
||||
}
|
||||
|
||||
void setVertexBuffer(VertexBufferHandle _handle)
|
||||
void setVertexBuffer(uint8_t _stream, VertexBufferHandle _handle)
|
||||
{
|
||||
setVertexBuffer(0, _handle, 0, UINT32_MAX);
|
||||
}
|
||||
|
||||
void setVertexBuffer(VertexBufferHandle _handle, uint32_t _startVertex, uint32_t _numVertices)
|
||||
{
|
||||
setVertexBuffer(0, _handle, _startVertex, _numVertices);
|
||||
setVertexBuffer(_stream, _handle, 0, UINT32_MAX);
|
||||
}
|
||||
|
||||
void setVertexBuffer(uint8_t _stream, DynamicVertexBufferHandle _handle, uint32_t _startVertex, uint32_t _numVertices)
|
||||
@@ -3757,14 +3752,9 @@ error:
|
||||
s_ctx->setVertexBuffer(_stream, _handle, _startVertex, _numVertices);
|
||||
}
|
||||
|
||||
void setVertexBuffer(DynamicVertexBufferHandle _handle)
|
||||
void setVertexBuffer(uint8_t _stream, DynamicVertexBufferHandle _handle)
|
||||
{
|
||||
setVertexBuffer(0, _handle, 0, UINT32_MAX);
|
||||
}
|
||||
|
||||
void setVertexBuffer(DynamicVertexBufferHandle _handle, uint32_t _startVertex, uint32_t _numVertices)
|
||||
{
|
||||
setVertexBuffer(0, _handle, _startVertex, _numVertices);
|
||||
setVertexBuffer(_stream, _handle, 0, UINT32_MAX);
|
||||
}
|
||||
|
||||
void setVertexBuffer(uint8_t _stream, const TransientVertexBuffer* _tvb, uint32_t _startVertex, uint32_t _numVertices)
|
||||
@@ -3774,14 +3764,9 @@ error:
|
||||
s_ctx->setVertexBuffer(_stream, _tvb, _startVertex, _numVertices);
|
||||
}
|
||||
|
||||
void setVertexBuffer(const TransientVertexBuffer* _tvb)
|
||||
void setVertexBuffer(uint8_t _stream, const TransientVertexBuffer* _tvb)
|
||||
{
|
||||
setVertexBuffer(0, _tvb, 0, UINT32_MAX);
|
||||
}
|
||||
|
||||
void setVertexBuffer(const TransientVertexBuffer* _tvb, uint32_t _startVertex, uint32_t _numVertices)
|
||||
{
|
||||
setVertexBuffer(0, _tvb, _startVertex, _numVertices);
|
||||
setVertexBuffer(_stream, _tvb, 0, UINT32_MAX);
|
||||
}
|
||||
|
||||
void setInstanceDataBuffer(const InstanceDataBuffer* _idb, uint32_t _num)
|
||||
@@ -4805,21 +4790,21 @@ BGFX_C_API void bgfx_set_transient_index_buffer(const bgfx_transient_index_buffe
|
||||
bgfx::setIndexBuffer( (const bgfx::TransientIndexBuffer*)_tib, _firstIndex, _numIndices);
|
||||
}
|
||||
|
||||
BGFX_C_API void bgfx_set_vertex_buffer(bgfx_vertex_buffer_handle_t _handle, uint32_t _startVertex, uint32_t _numVertices)
|
||||
BGFX_C_API void bgfx_set_vertex_buffer(uint8_t _stream, bgfx_vertex_buffer_handle_t _handle, uint32_t _startVertex, uint32_t _numVertices)
|
||||
{
|
||||
union { bgfx_vertex_buffer_handle_t c; bgfx::VertexBufferHandle cpp; } handle = { _handle };
|
||||
bgfx::setVertexBuffer(handle.cpp, _startVertex, _numVertices);
|
||||
bgfx::setVertexBuffer(_stream, handle.cpp, _startVertex, _numVertices);
|
||||
}
|
||||
|
||||
BGFX_C_API void bgfx_set_dynamic_vertex_buffer(bgfx_dynamic_vertex_buffer_handle_t _handle, uint32_t _startVertex, uint32_t _numVertices)
|
||||
BGFX_C_API void bgfx_set_dynamic_vertex_buffer(uint8_t _stream, bgfx_dynamic_vertex_buffer_handle_t _handle, uint32_t _startVertex, uint32_t _numVertices)
|
||||
{
|
||||
union { bgfx_dynamic_vertex_buffer_handle_t c; bgfx::DynamicVertexBufferHandle cpp; } handle = { _handle };
|
||||
bgfx::setVertexBuffer(handle.cpp, _startVertex, _numVertices);
|
||||
bgfx::setVertexBuffer(_stream, handle.cpp, _startVertex, _numVertices);
|
||||
}
|
||||
|
||||
BGFX_C_API void bgfx_set_transient_vertex_buffer(const bgfx_transient_vertex_buffer_t* _tvb, uint32_t _startVertex, uint32_t _numVertices)
|
||||
BGFX_C_API void bgfx_set_transient_vertex_buffer(uint8_t _stream, const bgfx_transient_vertex_buffer_t* _tvb, uint32_t _startVertex, uint32_t _numVertices)
|
||||
{
|
||||
bgfx::setVertexBuffer( (const bgfx::TransientVertexBuffer*)_tvb, _startVertex, _numVertices);
|
||||
bgfx::setVertexBuffer(_stream, (const bgfx::TransientVertexBuffer*)_tvb, _startVertex, _numVertices);
|
||||
}
|
||||
|
||||
BGFX_C_API void bgfx_set_instance_data_buffer(const bgfx_instance_data_buffer_t* _idb, uint32_t _num)
|
||||
|
||||
@@ -457,7 +457,7 @@ bool screenQuad(int32_t _x, int32_t _y, int32_t _width, uint32_t _height, uint32
|
||||
vertex[4].m_abgr = _abgr;
|
||||
vertex[5].m_abgr = _abgr;
|
||||
|
||||
bgfx::setVertexBuffer(&vb);
|
||||
bgfx::setVertexBuffer(0, &vb);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user