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);