Discuss programming topics for any language, any source base. If it is programming related but doesn't fit in one of the below categories, it goes here.
hmm with all the different types and methods out there for doing the same thing without copying there part i wonder ... so the khronos group's own example for doing it might actually tread on copyrighted grounds
had to do some guess work with your codepiece as the qglStencilOpSeparate seems to be an ATI extention i tried with standard two sided stencil but it needs some work.
if (external)
{
glDepthFunc (GL_LEQUAL);
glEnable (GL_STENCIL_TEST_TWO_SIDE_EXT);
// view outside the shadow volume
qglActiveStencilFaceEXT(GL_BACK);
qglStencilOp(GL_KEEP, tr.stencilIncr, tr.stencilIncr);
qglStencilFunc(GL_ALWAYS, 0, ~0);
// does the same as the GL_TwoSidedStencil functions part when checking for cull face.
GL_Cull( CT_BACK_SIDED );
qglActiveStencilFaceEXT(GL_FRONT);
qglStencilOp(GL_KEEP, tr.stencilDecr, tr.stencilDecr);
qglStencilFunc(GL_ALWAYS, 0, ~0);
// does the same as the GL_TwoSidedStencil functions part when checking for cull face.
GL_Cull( CT_FRONT_SIDED );
RB_DrawShadowElementsWithCounters (tri, numIndexes);
glDisable (GL_STENCIL_TEST_TWO_SIDE_EXT);
}
else
{
glDepthFunc (GL_GEQUAL);
glEnable (GL_STENCIL_TEST_TWO_SIDE_EXT);
// view inside the shadow volume
qglActiveStencilFaceEXT(GL_BACK);
qglStencilOp(GL_KEEP, tr.stencilDecr, tr.stencilDecr);
qglStencilFunc(GL_ALWAYS, 0, ~0);
// does the same as the GL_TwoSidedStencil functions part when checking for cull face.
GL_Cull( CT_FRONT_SIDED );
qglActiveStencilFaceEXT(GL_FRONT);
qglStencilOp(GL_KEEP, tr.stencilIncr, tr.stencilIncr);
qglStencilFunc(GL_ALWAYS, 0, ~0);
// does the same as the GL_TwoSidedStencil functions part when checking for cull face.
GL_Cull( CT_BACK_SIDED );
RB_DrawShadowElementsWithCounters (tri, numIndexes);
glDisable (GL_STENCIL_TEST_TWO_SIDE_EXT);
}
its CT_TWO_SIDED when comming in here so face culling is off untill it hits this function.
ok game crashes when using this atm which is imo weird since my card is opengl 4.1 capable :/ ill try again tomorrow.
the twosided version works but produces huge shadows (i think i need to turn of the last part of the old stencil code whoops).
ongoing work on widescreen formats and doing away with low res modes like 320x200 (heh ye its actually possible). lowest supported res will be 800x600 and upto the largest supported resolution today.
Damn AND i just gave my fx5200 to the garbage man to use as a wedge to get the dumpster door open! Grr....
that card sucks more arse than a liposuction machine!
Don't underestimate the large amount of self-entitled openBSD/freeBSD users that can't get a proper accelerated driver or even use modern video hardware
There are downsides to ripping out stuff that was originally there for a reason.
For example the built-in editor's functionality is much better than standard Radiant. Anyone who makes Doom3 maps is going to use that editor. To be clear, GTK/Netradiant do NOT make the built in editor obsolete. If you rip it out, perhaps consider releasing a standalone Doom3 editor?
And why should people not run Doom3 in 640x480 windowed?
The original used standard depth pass for cases where the view wasn't inside the volume (so that it could skip drawing the caps) so you need a test for that too, and you also need to flip the front and back faces if it's a mirror view.
We had the power, we had the space, we had a sense of time and place
We knew the words, we knew the score, we knew what we were fighting for
goldenboy wrote:There are downsides to ripping out stuff that was originally there for a reason.
For example the built-in editor's functionality is much better than standard Radiant. Anyone who makes Doom3 maps is going to use that editor. To be clear, GTK/Netradiant do NOT make the built in editor obsolete. If you rip it out, perhaps consider releasing a standalone Doom3 editor?
And why should people not run Doom3 in 640x480 windowed?
I know quite a few mappers have used our Dark Radiant to build D3 maps rather than D3Edit, but then again Dark Radiant has been heavily rewritten compared to what it was when we started working with the old GTK Radiant source code. It's a completely different beast now.
in regards to ripping out low res modes i could easily leave them in but i doubted anyone with recent hardware would see them as anything but an annoyance if thats not the case ill just leave them and then addd high res modes.