ElChristou wrote:chris wrote:First thing: the lighting in both images from the 3D modeling software is much softer. There's a large amount of ambient light in the scene, which will tend to mask artifacts from low tessellation. Try turning down the amount of ambient light in the modeling programs and my guess is that you'll see similar results as in Celestia. I can already see tessellation artifacts in the top two images.
True, there are some artifacts on the top examples but smooth enough to not being visually too perturbing... Now, actually I had to fight quite a lot to obtain the Soyuz as it is now (some meshes are really low) because you have to tessellate by hand the zones too problematic within Celestia to reduce the bad shadowing... (and still the result is far from being perfect...)
The main (and possibly only) reason that the top images are smooth is because of the different lighting conditions. With a single direct light source (typical in Celestia), the linear interpolation artifacts are most visible. Reproduce the same lighting setup in the modeling software, and you'll get similar results as in Celestia.
chris wrote:...In fact, models with specular materials probably look much better in Celestia's OGL 2.0 path than they do in your modeling software. The difference with diffuse lighting is much more subtle, but as you've shown in your images, there's still some room to improve.
I cannot say yet for OGL2, but on others paths it's not the case, on the contrary adding spec tend to increase the artifacts...
Right, because on the other render paths, the results of
all lighting calculations are linearly interpolated across triangles, and specular lighting tends to vary extremely non-linearly across pixels. Without OGL 2.0, the only way to improve the appearance of specular highlights is to add more triangles the to mesh.
Anyway, if you add a note to improve this somewhere in your ToDo list it would be great!
Tx for the above explanations.
There's nothing that can be done except:
1. Preserve normals in the conversion to cmod (it *might* help)
2. In the OGL2.0 path, compute diffuse lighting per pixel instead of per vertex--but this comes at some performance cost, and on for most hardware, you're probably just better off adding some extra triangles to the model.
--Chris