ObjReader Community
WIP => WIP => Topic started by: Patrice Terrier on January 31, 2019, 07:54:32 pm
-
My friend, have a look on this amazing free model
https://www.behance.net/gallery/61490131/Brabham-3D-modelling-(free-model)
-
Amazing! The model has 13M verts yet renders at 60FPS full screen! :D (probably that's because there are no textures...)
Thanks a lot!
BTW IIRC the links include the one at the bottom that leads to some additional (possibly HDR) textures. Can you also DL those for me, please?
-
Looks nice! :)
BTW do you take the original renders as a reference for your WIP? I think the originals look much more glossy as if the car paint were very fresh, lacquered and polished...
-
I still have a few things to work on, but for sure that one shall deserve a five star rating!
-
(https://obrazki.elektroda.pl/1983300100_1428394303.png)
-
The car is beautiful, my friend!
And the speed of 60FPS in full screen for 10M polygons is almost unbelievable. :)
-
OK Patrice,
This hotfix seems to eliminate glitches in RamJet, Millenium_Falcon, and your latest bug.obj.
Around line 187 in shaders.h, use the following code:
........
} else if (pResourceId == SHADER_NORMAL) { // 12-11-2015 ML: multilight
vs =
"varying mat3 tbnMatrix;\n"
"varying vec4 position;\n"
"varying vec3 lNormal;\n"
"varying vec3 vertex;\n"
"void main() {\n"
"gl_TexCoord[0] = gl_MultiTexCoord0;\n"
"vertex = gl_Vertex.xyz;\n"
//"gl_Position = ftransform();\n" // ML: better for OpenGL normal maps
"gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;\n" // ML: better for DirectX normal maps
"// Transform the normal into eye space and normalize the result.\n"
"position = gl_ModelViewMatrix * gl_Vertex;\n"
"lNormal = normalize(gl_NormalMatrix * gl_Normal);\n"
"// Setup stuff for normal maps\n"
//"vec3 t = normalize(gl_NormalMatrix * gl_MultiTexCoord1.xyz);\n"
"vec3 t = gl_NormalMatrix * gl_MultiTexCoord1.xyz;\n" // fighting RamJet artifacts
"vec3 b = cross(lNormal, t) * gl_MultiTexCoord1.w;\n"
"tbnMatrix = mat3(t, b, lNormal);\n"
"}";
........
The bitangent cross product determines the tangent-space normals' orientation (if they face front or back), and in some cases simple renormalization of tangent before taking its cross product with the normal may cause the unexpected and incorrect flipping of the latter. Some Internet resources do normalize tangents and some others don't. So I omitted the normalization and it seems to have done the trick.
Theoretically the non-normalized tangents could make the normals (and consequently, the specular highlights) somewhat sharper. However the latest models with good metal surface detalization and AO maps (e.g. DreadRoamer, Teal'c, Knight, Nyra, and especially Unreal) look simply excellent with this fix. I don't think we will have to change anything in the existing material files. 8)
Please let me know how the fix works for you, my friend.
-
Thank you so much !!!
-
Here is the result of a long process…
All UV have been reworked to be AO compatible, several meshes have been created from scratch, a complete texture set has been added.
Enjoy!
Now i shall work on the release of version 2.75.
-
Thank you! This is probably your best model ever. :)
BTW are you sure the orientation of RPM meter is correct?
-
BTW are you sure the orientation of RPM meter is correct?
I asked myself the same question, and the answer is here
https://www.youtube.com/watch?v=ArNhJqQaRJk
BTW, since i posted the model, i found one UV problem, and a few meshes missing… ::)
-
... the answer is here https://www.youtube.com/watch?v=ArNhJqQaRJk
:o Unbelievable! :o
... a few meshes missing… ::)
No big deal! Unless those are car body parts, nobody's gonna notice. ;)
-
The final version has been released into the car section, altogether with the latest fixes.
-
That dark-gray anti-noise compound on the engine is a killer. :)