Game Development Community

Video card question

by Duncan Gray · in Torque Game Engine · 01/04/2006 (7:06 pm) · 31 replies

I'm working on adding better shadow features to the engine and one of the new methods I implemented requires the video card to have AUX buffers.

I checked nvidia's website but they don't seem to give that level of detail. Here is a simple test you can do. Add the following code to a busy section of the engine as a test: i.e. Put it in shapeBase::renderObject then put a breakpoint on the bold code and check what the value of numBuffers is
S32 numBuffers;
glGetIntegerv(GL_AUX_BUFFERS, &numBuffers); 
[b]numBuffers = numBuffers[/b] // breakpoint here

Remove the code when done. A value of numBuffers>0 means it will work on your graphic card.

Could you then please post your:

(1) Platform: Windows, Mac, Linux
(2) graphic card make: - Nvidia, ATI etc
(3) model: - e.g. Geforce 2 MX
(4) result - numBuffers = .....

I'm also researching pBuffers as a solution.
Page«First 1 2 Next»
#21
01/08/2006 (6:14 am)
I tried messing with the rasterizer code to make it use the front-fancing triangles instead of the backfacing ones and utterly failed. It's so beyond my skills (loooove single and dual letter variable names) and I can break it just by looking funny at it.
#22
01/08/2006 (8:42 am)
@Duncan, if you can drop me the code, too, I'll try it on my Mac build.

@Ben, are you saying that some cards report they have aux or pBuffer support, but it actually doesn't work? (Or doesn't work as advertised?)
#23
01/08/2006 (1:19 pm)
@Rob, in my humble opinion, AUX buffers are part of the video card, i.e, hardware, so if its not reliable then neither is your framebuffer and you should return the hardware to the supplier.

At leat AUX buffers are platform independent due to the above. pBuffers are totally driver dependent and seem about 20-30 percent slower than AUX based on my experience with them.

@Manoel, yeah, that code sucks. I looked at it briefly (bitrender.cc) then decided to go the hardware supported route.

@Rob, Ben, Charles, I'll send the pBuffer code a bit later today.
#24
01/08/2006 (2:17 pm)
@Rob, I need your email address.
#25
01/08/2006 (3:25 pm)
Ben and Charles, you got mail!
#26
01/20/2006 (7:47 am)
@Duncan,

any news?
#27
01/30/2006 (8:01 am)
@Duncan,

the pbuffer.cc/.h code compiles with changes I had to make,
but the shadow code + tge doesn't want to compile in areas where it used to compile before I copied your files over the files I pulled from cvs.
#28
01/30/2006 (11:27 am)
@Charles, are you using the latest shadow code from the resource?

The shadow.cc and shadow.h in there are different from the ones I emailed you. I can't think of any reason why they won't compile on Linux. What errors do you get?
#29
01/31/2006 (1:40 pm)
@Duncan,

I'm using the 002.zip from the resource page but I use the pbuffer cc/h that I had to modify to get it to compile.
Note that If I add the pbuffer cc/h to a plain tge 14 it compiles.


Here's the crash point:

--> Compiling game/item.cc
In file included from ./math/mathTypes.h:10,
from ./math/mMath.h:38,
from game/item.cc:10:
./console/dynamicTypes.h:106:7: warning: no newline at end of file
game/item.cc:1084: error: expected identifier before numeric constant
game/item.cc:1084: error: expected ',' or '...' before numeric constant
game/item.cc:1085: error: ISO C++ forbids declaration of 'parameter' with no type
game/item.cc:1085: error: prototype for 'void Item::buildConvex(const Box3F&, int)' does not match any in class 'Item'
./game/item.h:115: error: candidate is: virtual void Item::buildConvex(const Box3F&, Convex*)
game/item.cc: In member function 'void Item::buildConvex(const Box3F&, int)':
game/item.cc:1096: error: 'cc' undeclared (first use this function)
game/item.cc:1096: error: (Each undeclared identifier is reported only once for each function it appears in.)
game/item.cc:1097: error: 'convex' undeclared (first use this function)
make[1]: *** [out.GCC3.4.DEBUG/game/item.obj] Error 1
make: *** [default] Error 2
#30
01/31/2006 (3:59 pm)
The only thing I had to change in Item.cc was in the void Item::renderImage(Scen... method where I altered the following section
if (mShadow)
   {
      mShadow->setMoving(!mAtRest);
      [b]mShadow->setAnimating(mRotate);//(!mAtRest && !mRotate);[/b]
   }

Perhaps take the Item.cc from the TGE that compiles and alter the above and see what happens.

In fact, it seems the compiler is not recognising Convex as a valid type if I understand
[game/item.cc:1085 correctly.

You might be missing something from targets.torque.mk in the faulty build?
#31
06/21/2006 (6:38 pm)
Hey Rob, did you get this working on Mac? I've run into problems building a modified 1.4 codeline with these changes... If not, I'll dig into it in my not-so-spare time.

Thanks!
Page«First 1 2 Next»