PDA

View Full Version : Vertex weighting extension with CVA?



Lucretia
10-19-2000, 05:43 AM
Hi...again,

I am now trying to get the vertex weighting extension working with my CVA code.

I saw on this board that somebody else had the same problem but nobody replied.

Anyway, I have a player mesh that has textures on it and also has weights. I have set up all of my array pointers and enabled the weighting extension, but the player is still breaking up - it looks the same with and without the extension on.

BTW, I do have the extension in my driver ;-)

So, here's the code to set the world matrix:

void CDriver::SetWorldMatrix(const C3DMatrix *c_pmtxWorld, const DWORD c_dwMatrices)
{
Msg("OpenGL", "[CDriver::SetWorldMatrix (2nd)]");

GLfloat fMatrix[16];
C3DMatrix mtxTM;

C3DMatrix::MultiplyMatrix(c_pmtxWorld[0], m_mtxViewMatrix, mtxTM);

ConvertMatrix(mtxTM, fMatrix);

glMatrixMode(GL_MODELVIEW);
glLoadMatrixf(fMatrix);

if (m_bHasVertexWeightingExtension == true && c_dwMatrices == 2)
{
C3DMatrix::MultiplyMatrix(c_pmtxWorld[1], m_mtxViewMatrix, mtxTM);

ConvertMatrix(mtxTM, fMatrix);

glMatrixMode(GL_MODELVIEW1_EXT);
glLoadMatrixf(fMatrix);
// glMatrixMode(GL_MODELVIEW);
}
}

We store the view matrix, because we need to combine it with the world matrix to get the real model view matrix.

Thanks for the help,
Luke A. Guest.

mcraighead
10-19-2000, 11:12 AM
What driver version is this?

I remember fixing at least a few bugs that involved vertex arrays and vertex weights, but that was quite a while ago.

- Matt

Lucretia
10-19-2000, 11:43 PM
Hi, my card is a Creative Labs Graphics Blaster Riva TNT and the information from device manager is:

Provider: Creative Labs
Date : 6-26-2000

Driver File Details...
3DBGFW9X.DRV - File version: 4.12.01.2303.03.0530
NVMINI.VXD - File version: 4.12.01.0530

From the display advanced settings, it says that the software version is 4.0.

Hope this helps.

Thanks,
Luke A. Guest.

mcraighead
10-20-2000, 09:25 AM
Version 5.30... let me check...

I fixed the bug on June 17, but 5.30 was built on June 4. The first version that would include the fix is 5.32.

Yes, this bug would have meant that on TNT/TNT2, you would not be able to get your vertex weighting code to work with vertex arrays.

Note that since TNT/TNT2 don't support vertex weighting in hardware, the performance may be substandard, but it should certainly work if you update to 5.32 or newer.

- Matt

Lucretia
10-21-2000, 04:40 AM
Hi,

Any idea as to when Creative will make the 5.32 drivers available?

If not, can I just use the NVidia drivers instead?

Thanks,
Luke.

mcraighead
10-21-2000, 09:05 AM
Ack, I went to Creative's site and they're still only offering 5.30 as a supported driver. Get with the times, Creative. http://www.opengl.org/discussion_boards/ubb/smile.gif

You could either download the "FastTrax" drivers at the bottom of the page or download drivers from our web site.

- Matt

Lucretia
10-21-2000, 09:27 AM
Ok, I'll give them a try.

Also, is there any way I can get hardware OpenGL without having to turn off my second monitor? It's a real pain trying to debug code :-(

The other card is a Matrox Millenium - 2D card.

The cards don't have to be the same for this, does it?

Thanks,
Luke.

mcraighead
10-21-2000, 12:05 PM
Originally posted by Lucretia:
Also, is there any way I can get hardware OpenGL without having to turn off my second monitor? It's a real pain trying to debug code :-(


No, unfortunately, Win9x simply does not support multimonitor accelerated OpenGL in any shape or form whatsoever. They never even call into our driver.

Multimon OGL is an option on Win2K, but it's limited as well for a variety of reasons. And even if you do get it working, you're still stuck with a PCI card as your second card...

Now, TwinView on NT4 or Win2K, that's the way to go. http://www.opengl.org/discussion_boards/ubb/smile.gif Not that I'm biased or anything...

- Matt

Lucretia
10-22-2000, 11:43 PM
Thanks for the info, I used the FastTrax drivers and the vertex weighting works fine!!

Cool!

Thanks again,
Luke A. Guest.