ObjReader Community
WIP => WIP => Topic started by: Patrice Terrier on November 23, 2018, 09:04:14 am
-
A long and fastidious work...
-
I like what I'm seeing, Patrice! :)
However as seen from a distance, I'm afraid we might be facing problems similar to what we had with the bubble ship and 166 drone. There may be black jaggies in the AO maps along the edges where the smaller meshes intersect with, and go under, the surfaces of larger meshes.
The intersections of cylindrical and spherical parts, like in the below picture, would be the most critical ones.
Please tell me whether you're seeing the jagged AO artifacts under close examination there?
-
Yes, i see it however all in one there is no comparison with the previous version.
Let's complete first the new model, then we can clean up some of the most obvious jaggies
-
Slow progression.
-
Looks quite nice, I must admit! :)
-
Now in its full glory.
I shall post the WIP zip as soon as i am back home this afternoon.
-
Strictly speaking, the Prometheus landing site scenery was somewhat different but the model looks very impressive anyway! :)
Did you texture the control room insides as well?
(https://wallpaperstock.net/wallpapers/thumbs1/32823hd.jpg)
-
Here is the huge model.
-
Thank you for your effort, Patrice!
The model looks gorgeous despite a few jaggies in the AO maps here and there. Hopefully some day I have enough spare time to motion-blur the offending edges like I did in the bubble ship and drone...
And that's an arduous task, I must say, primarily because you can never know where in hell the offending edge lies in the mesh AO map; there are no tools to guide you. Then, so much time is lost reloading the model constantly for inspection. I guess, alongside the info tip, it might be the very first and very helpful Edit function to implement in ObjReader:- Have a splitter to divide the viewport in two halves (or actually add a second OpenGL control and hRC)
- Use the right viewport in an ortho projection to depict the texture of interest with a wireframe overlay of the mesh UV's unwrapped
- Detect mouse clicks in the left viewport to guide you through the texture map in the right viewport to the offending spot/edge
- Add a selection of Photoshop style image filters (e.g. blur) to be able to edit the texture in the right viewport in real time
- Add an option to reload one texture selectively into ObjReader from the disk (similar to current bulk texture reload on changing the texture mipmap option)
- Update the model in the left viewport in real time to immediately see the results of texture edits
8)
-
I may have a solution (however very time consuming) to reduce the most offending jaggies, experimenting with it right now
-
You know what else, Patrice? ???
We must certainly do something about those huge 32-bit grayscale AO maps we're using. There are so many of them that the model simply refuses to load in my ATi Radeon box that has only 2GB of VRAM. If I disable mipmapping, the model does load. But 15 extra mipmap levels add exactly as much VRAM footprint as level 0 alone, and at some point during model load my Radeon complains I've requested more VRAM than it can offer, and then aborts ObjReader altogether. :(
I think we should add a texture preparation stage whereby all the grayscale maps the model uses (AO, specular, displacement, metalness, roughness, etc. in various combinations) would be combined in memory as separate grayscale "channels" into one or more 32-bit auxiliary textures to be loaded and optionally mipmapped for subsequent use in our shaders on a per-"channel" basis. It would save us a lot of VRAM and also some time it takes OpenGL to mipmap our current grayscale textures separately into an absolutely unnecessary "fruit salad" of 32-bit images each.
Secondly, 16 levels of GLU default mipmapping are far too many for our current ZFAR depth field of less than 100.0f. My Objector texture loader and renderer implement selective choice of mipmap levels to create and render (8)). I'm actually creating 6 smaller mipmap levels besides level 0 and I have never seen any need to generate more of them. We should also add a similar option to ObjReader, I think.
-
I may have a solution (however very time consuming) to reduce the most offending jaggies ...
THE solution is to set many more ray bounces in the ray tracer you editor uses to generate the AO maps. Judging by their current granulation, the default number of ray bounces is currently set at only 6 or 8 at the maximum, which is too few for high-quality renders.
Increasing the number to at least 16 is going to make the shadows much smoother and consequently less jagged but it's going to increase the time to generate an AO map of such size dramatically, especially if the ray tracer isn't multithreaded.
There simply must be a corresponding setting to change in your C4D editor, Patrice. Just take your time to locate it and use it.
-
It's difficult to tell definitively at such a distance and scale but if you say it's better, I'm inclined to rely on your word, my friend. :)
(Seems like the two huge "pilot" consoles immediately in front of the glass cockpit remained untextured. They are difficult to examine due to the [0,0,0] limitation but still...)
-
Try with this texture, and compare with the other pods, to see the difference…
Added:
I am now using only one single AO texture for the pod_white_AO, thus saving memory, i shall further optimize the texture memory.
-
Sorry but this texture doesn't work for me at all; I downloaded it twice to the same effect. :o
(it's about 100KB smaller than the old one)
-
Progress…
The long ambient occlusion work is over, i bake each of the texture at a size of 8192x8192, then using PSD to resize each of them to a much smaller size while preserving the antialias quality.
Now i have to find some good seamless and bump textures.
-
WOW! JUST WOW!!! :o
Can't wait to see the final result!!! 8)
I am really in love with your latest render!!! :-*
-
IMPORTANT TIP OF THE DAY
On default, the Gooch fancy shader defines front facing surfaces in warm yellow, and back facing ones, in cool blue.
Shading Prometheus with the Gooch shader reveals many polygons on the outer surface of body_gray_81 mesh as back facing. Naturally, the AO ray tracer would render them pitch black. Those offending polygons are the cause of black artifacts in the Prometheus hull AO maps depicted in your renders. There may be yet more similar faulty meshes in the model.
You will have to reverse the winding/normals of those polygons manually in e.g. AccuTrans or your C4D (if it provides such an option) to get rid of the AO artifacts completely.
(He-he, sometimes there are unexpected benefits latent even in seemingly useless sheer trifles... ;))
-
To have the PP glow effect, we must have not only (FBO) PP proper but also map_Ke emissive maps working. The glow effect is based on the material emission component combined with multiply sub-scaled and gaussian blurred map_Ke's applied on top of the pre-rendered scene quad in the final post-processing pass.
And before we have genuine point and spot lights (alongside directional lights) in our renderer, we should also introduce light maps to be able to (cheaply) emulate locally lit areas similar to what's seen in the closeup below. You won't believe how much more attraction and credibility can the light maps bring to your models...
-
While looking closely at the pod screen shot you posted, i can see that there is a wrong leg placement in the current 3D model.
I shall see how to fix it.
-
i thought i was ready to post the release candidate, however a closer Goosh shading inspection shows me a few more glitches to fix >:(
-
Don't get upset, my friend! The perfect results you usually get matter much more than a few extra idling hours I might spend awaiting them. :)
-
Here is the release candidate version… ouch ::)
-
Thank you, thank you, thank you! :-*
Of course I could say there are still an occasional back facing tri or two here and there but honestly, that would be nothing but unthankful nit picking in a model like this. :D
Prometheus is going to be one of the gem stones in your collection. :)
-
I have released the official version there:
http://www.objreader.com/index.php?topic=22.msg990#msg990
with further back facing cleanup...
-
The model looks awesome, thank you!