- 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:
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.
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:
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:
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.
|\
| >
|/
"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:
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.
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:
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:
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.
|\
| >
|/