Vertex weighting extension with CVA?

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 :wink:

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.

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

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.

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

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.

Ack, I went to Creative’s site and they’re still only offering 5.30 as a supported driver. Get with the times, Creative.

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

  • Matt

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 :frowning:

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

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

Thanks,
Luke.

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 :frowning:

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. Not that I’m biased or anything…

  • Matt

Thanks for the info, I used the FastTrax drivers and the vertex weighting works fine!!

Cool!

Thanks again,
Luke A. Guest.