OGLA and normal maps

Artlav

Aperiodic traveller
Addon Developer
Beta Tester
Joined
Jan 7, 2008
Messages
5,814
Reaction score
869
Points
203
Location
Earth
Website
orbides.org
Preferred Pronouns
she/her
Normal mapping is a modelling trick where a special texture is treated as a displacement of regular model's normals.
"Normal" here means a vector perpendicular to the surface, not a form of sanity.

That, for example, allows a flat round mesh to appear with a lot of extra details:
ogla-091102-1.gif


OGLAClient had support for normal maps for at least two years now, but apart from a few pieces of abstract art by Ailantd there was no use of the feature.

Orb have been working on making normal maps for our good regular DG.
Initially aimed for D3D9 client, they work nicely in OGLA as well. Score one for compatibility.
ogla-120122-2.jpg

ogla-120122-1.jpg


However, it would take some coding in DG module to get them all to work really nice.

So far, Orbiter have no facilities to handle normal mapping, and they have to be defined directly by add-on interacting with the client.
Of facilities there should be several.

First, defining normal maps in vessels.
OGLA does this in two ways - either by using MSH format extension and NMLTEXTURE tag in it, or by direct definition from the vessel's DLL.

In D3D9 client, the normal maps are identified by using "_norm" identifier in the end of the file name, thus avoiding binding the vessel and the client.

Take one off compatibility...

I've propose some forms of common methods of defining various client-specific features in general, but so far we only got this situation:
standards.png


Second, defining multiple UV mappings.
Can only be defined in MSH extension for OGLA.

Multiple UVs make many interesting things possible.
For example, you can tile the main texture and the normal map 4 times, but make only a single tile of emission texture on the same face.
Thus, a simple cube start to look like this:
ogla-091105-2.jpg


Best of all, all these are simple features that are implemented once and can be forgotten about, without interfering with work on making the client playable.


Next on Orbides Chronicles: Making clouds, squashed or stirred.

|\
| >
|/
 
Hate to drive it off-topic, but how can I do a little "likbez" for myself: what are OGLA and D3D9 clients in a nutshell, how stable they are at present, how much do they support a range of well known addons, how to try demos (I have a low spec PC and I'm afraid that advanced graphics clients might not be supported by my video card).
 
Since 2010 Orbiter supports a kind of add-on that replaces the rendering system completely - does the drawing instead of it. Several have been developed in various stages of completion - OpenGL (Artlav's edition) Client (OGLA for short), D3D9 Client and D3D11 Client.

For OGLA there are various bugs and incompatibilities, listed in the first post and described later on in this thread:
http://www.orbiter-forum.com/showthread.php?t=16141
System requirements are scalable from netbooks (looks like regular Orbiter without MFDs and Lv9+ textures) to gaming rigs (all kinds of effects seen in screenshots).
Incompatibilities are usually related to MFDs and panels of older craft. DGIV skins seem to be broken.
Stability is not precisely known, it never crashes for me, but there are reports of it's crashing from others - as usual, there are people who can hold soap bubbles in their hands easily and there are people who shatter strongest glass by looking at it carelessly. :)
One known and persistent crash inducer is the "Deallocate memory and display launchpad" shutdown option, which must not be used with OGLA.

For D3D9Client i'm not aware of requirements or scalability, and some known issues are described in it's thread:
http://www.orbiter-forum.com/showthread.php?t=18431

D3D11Client system requirements are DX10 capable card that is not embedded garbagegraphics, it supports HDR, and that's about all i know about it.
It's thread is here: http://www.orbiter-forum.com/showthread.php?t=25040

Demos are available in the respective threads, OGLAClient and Martin's reference D3D7Client are available at SourceForge: http://sourceforge.net/projects/orbitervis/files/OVP binaries
 
D3D9 works quite well, at least for me. DG-IV and Orulex are the only add-ons I know which don't work at all. Some addons have problems with HUD texts. But this is no problem if you look at the problems I had before. (ATI GPU+Win 7+Orbiter with build in client = :sick:) And as long as you're hardware supports it, it should work better than the inline client AFAIK.

To get back to the topic, that cylinder with normal maps looks great! XR-2 must look amating with it...
 
astrosammy;bt3869 said:
XR-2 must look amating with it...
If there is an XR-2 with normal, specular, emission and reflectivity maps lying around somewhere, i would really like to see it. :)
 
Back
Top