modules/graphics/src/main/native-prism-d3d/D3DMesh.cc

Print this page

        

*** 103,120 **** boolean D3DMesh::buildBuffers(float *vb, UINT vbSize, USHORT *ib, UINT ibSize) { // cout << "D3DMesh::buildBuffers: vertexBufferSize = " << vbSize // << ", indexBufferSize = " << ibSize << endl; IDirect3DDevice9 *device = context->Get3DDevice(); ! UINT size = vbSize * sizeof (float); HRESULT result = D3D_OK; ! if (numVertices != vbSize) { releaseVertexBuffer(); result = device->CreateVertexBuffer(size, D3DUSAGE_WRITEONLY, fvf, D3DPOOL_DEFAULT, &vertexBuffer, NULL); ! numVertices = vbSize; } if (SUCCEEDED(result) && (vertexBuffer != NULL)) { float *data; result = vertexBuffer->Lock(0, size, (void **) &data, 0); --- 103,121 ---- boolean D3DMesh::buildBuffers(float *vb, UINT vbSize, USHORT *ib, UINT ibSize) { // cout << "D3DMesh::buildBuffers: vertexBufferSize = " << vbSize // << ", indexBufferSize = " << ibSize << endl; IDirect3DDevice9 *device = context->Get3DDevice(); ! UINT size = vbSize * sizeof (float); // in bytes ! UINT vbCount = size / PRIMITIVE_VERTEX_SIZE; // in vertices HRESULT result = D3D_OK; ! if (numVertices != vbCount) { releaseVertexBuffer(); result = device->CreateVertexBuffer(size, D3DUSAGE_WRITEONLY, fvf, D3DPOOL_DEFAULT, &vertexBuffer, NULL); ! numVertices = vbCount; } if (SUCCEEDED(result) && (vertexBuffer != NULL)) { float *data; result = vertexBuffer->Lock(0, size, (void **) &data, 0);
*** 149,166 **** boolean D3DMesh::buildBuffers(float *vb, UINT vbSize, UINT *ib, UINT ibSize) { // cout << "D3DMesh::buildBuffers: vertexBufferSize = " << vbSize // << ", indexBufferSize = " << ibSize << endl; IDirect3DDevice9 *device = context->Get3DDevice(); ! UINT size = vbSize * sizeof (float); HRESULT result = D3D_OK; ! if (numVertices != vbSize) { releaseVertexBuffer(); result = device->CreateVertexBuffer(size, D3DUSAGE_WRITEONLY, fvf, D3DPOOL_DEFAULT, &vertexBuffer, NULL); ! numVertices = vbSize; } if (SUCCEEDED(result) && (vertexBuffer != NULL)) { float *data; result = vertexBuffer->Lock(0, size, (void **) &data, 0); --- 150,168 ---- boolean D3DMesh::buildBuffers(float *vb, UINT vbSize, UINT *ib, UINT ibSize) { // cout << "D3DMesh::buildBuffers: vertexBufferSize = " << vbSize // << ", indexBufferSize = " << ibSize << endl; IDirect3DDevice9 *device = context->Get3DDevice(); ! UINT size = vbSize * sizeof (float); // in bytes ! UINT vbCount = size / PRIMITIVE_VERTEX_SIZE; // in vertices HRESULT result = D3D_OK; ! if (numVertices != vbCount) { releaseVertexBuffer(); result = device->CreateVertexBuffer(size, D3DUSAGE_WRITEONLY, fvf, D3DPOOL_DEFAULT, &vertexBuffer, NULL); ! numVertices = vbCount; } if (SUCCEEDED(result) && (vertexBuffer != NULL)) { float *data; result = vertexBuffer->Lock(0, size, (void **) &data, 0);