Recent Posts

Pages: [1] 2 3 ... 10
1
WIP / Re: Millenium Falcon
« Last post by Michael Lobko-Lobanovsky on February 21, 2018, 09:50:47 pm »
Haha yes! You want radars and fans spinning and pistons a-pumpin'!!!  ;D
2
WIP / Re: Millenium Falcon
« Last post by Patrice Terrier on February 21, 2018, 09:42:37 pm »
i am looking forward for the next major animation features of version 3.00:
individual mesh rotation on X or Y or Z, or any combination of X,Y,Z, plus indiviual giro speed step.
 ;D

BTW
i shall add a new global meta to start in animation mode...

3
WIP / Re: Millenium Falcon
« Last post by Michael Lobko-Lobanovsky on February 21, 2018, 09:19:01 pm »
WOW! Very cool and very nicely lit!

Do you plan to add pilots to the cockpit? It's a bit difficult to judge the relative size of the model without some familiar reference.

I love the soot around the vent grills! :D
4
WIP / Millenium Falcon
« Last post by Patrice Terrier on February 21, 2018, 08:02:17 pm »
Here is my reworked version of a lws project created in 2004 by Andy Crook.

It requires the use of ObjReader 2.5.

Enjoy !
5
WIP / Re: Post-Processing
« Last post by Patrice Terrier on February 21, 2018, 09:46:33 am »
Thank you very much my friend !

Everything looks perfect with this fix.

Now i can complete my work on the "millenium falcon" ;)
6
WIP / Re: Post-Processing
« Last post by Michael Lobko-Lobanovsky on February 21, 2018, 08:47:40 am »
OK Patrice,

So here come my tangent misalignment fixes.

All the approximations and epsilons are in their proper places, and a couple more added. A few superfluous statements have also been fixed. Everything seems to be running faultlessly for me now.

Your GPU button event code will go into v3.0. Please don't delete that message from the board yet; I'll do it myself when the time comes.

Let my comments stay in the sources for a while longer. We may clean them when the code proves to be safe and stable.

Enjoy! :)
7
WIP / Re: Post-Processing
« Last post by Michael Lobko-Lobanovsky on February 20, 2018, 08:59:04 pm »
Yes. Tangent generation occurs only for the materials that have normal maps and thus use the gnm_NormalMappingShader program in Mobj_DrawUsingProgrammablePipeline(). Materials without normal maps use the gnm_BlinnPhongShader program that neither expects nor needs tangents when in the Mobj_DrawUsingProgrammablePipeline() mode. Finally, the concept of tangent space doesn't even exist in the context of immediate mode FFP.
8
WIP / Re: Post-Processing
« Last post by Patrice Terrier on February 20, 2018, 07:29:15 pm »
Here is a single mesh to check with.

REM OUT map_bump from the mtl file, and switch to PPL mode, then it works correctly.

Conclusion, the problem occures only when bump mapping is used.
Mobj_generateTangents() ?

9
WIP / Re: Post-Processing
« Last post by Patrice Terrier on February 20, 2018, 04:24:45 pm »
Mike

Are you sure that you didn't change anything else, because that fix doesn't work by me with RAMJET  :-[

[UPD]
That seems to work by me, only if i restore the original epsilon value, aka:
if (Q_fabs(rExtent) > 0.000001f) rScalingFactor = rScaleTo / rExtent; // MLL 02-09-2018: compare to epsilon!

Added
While RAMJET is working fine with epsilon 0.000001f, i still have problem with another new model. It always look good in FFP mode, and has several black sections in PPL.

More
Looks like using bump mapping could be the problem.
10
WIP / Re: Post-Processing ==> !!! BINGO !!!
« Last post by Michael Lobko-Lobanovsky on February 20, 2018, 03:55:17 pm »
IT WAS ALL BECAUSE OF MY OWN INATTENTIVENESS AND NOCTURNAL LIFESTYLE!  >:(  :-[

I was typing the new VBO glXxxPointer() calls by hand rather than copy-pasting them from the old VBA version and I overlooked that, though we're passing tangents to the shader as simple tex coords, we are storing them as float[4], rather than usual float[2], arrays.

To cut it short, leave all of the approximations alone exactly as they are in my code. They've got nothing to do with the glitch. Now goto Mobj_DrawUsingProgrammablePipeline() in mobj.h, scroll it down ca. 2/3 of its length, and fix the following:

........
            if (gnm_hasTangents) {
                glClientActiveTexture(GL_TEXTURE1);
                glEnableClientState(GL_TEXTURE_COORD_ARRAY);
                //glTexCoordPointer(4, GL_FLOAT, nVertexSize, Mobj_getVertexBufferTangent());
                glTexCoordPointer(4, GL_FLOAT, sizeof(MobjVertexT), (GLvoid*)32); // MLL 02-08-2018: 32 byte offset to 1st tangent
            }
........


That'll do the trick.
Pages: [1] 2 3 ... 10