Page 1 of 1

Know of any Ages using Bump/Normal Mapping?

PostPosted: Tue May 03, 2022 2:25 pm
by Emor D'ni Lap
Cyan's Plasma manual devotes a couple pages to using what they call Bump Mapping (which actually seems closer to what's usually called Normal mapping).

I've been doing some testing on this technique. I understand that the approach has been updated since the manual was written, and if I can get it working reliably I'll do a clearer write-up on it.

But, to me, my own in-game results have been...uh...less than impressive. I may be talking myself into seeing a shading effect that isn't really there!

Just so I might see some point of comparison:
Does anyone know of any confirmed uses of Bump Mapping in URU where the in-game effect is clearly visible - in a Cyan Age OR a volunteer-created Age?

Re: Know of any Ages using Bump/Normal Mapping?

PostPosted: Tue May 03, 2022 8:03 pm
by Paradox
There are 2 places that come to mind in Cyan's content.
The first is in Eder Kemo, on the stair railings and the rock path. If you watch closely during a rainstorm, the lightning flashes on those objects have a noticeable bumpmap effect.
The other spot is not in Uru, but in Myst V, for the asteroids in Todelmer. The geometry for them is just roughly spherical blobs, but they look covered in craters due to bumpmaps.

A few important things to note:
- The effect is faked lighting, it's not actually changing the geometry (what's commonly known as displacement mapping)
- It really only works if there's animated or moving lights, otherwise it's just static and you can't tell it's bumpmapped

JulyForToday was playing with the bumpmap support in korman, and had similarly less than impressive results: viewtopic.php?p=74675#p74675

Re: Know of any Ages using Bump/Normal Mapping?

PostPosted: Wed May 04, 2022 1:04 am
by Sirius
I also posted comparison shots of Todelmer with/without normalmapping here.
Plasma's normalmapping is fairly bad. The light is still per-vertex, and even then the normapping effect seems to have weird orientation... It might be because mesh normals in Plasma are badly compressed.
Also, I'm pretty sure normalmapping doesn't affect envmaps.

There is only so much one can do with the old D3D8 fixed pipeline after all. Kinda sad there is no proper shader-based pipeline in Plasma. Oh well, could be worse I guess - we still have alpha blending, lightmapping, etc.

Re: Know of any Ages using Bump/Normal Mapping?

PostPosted: Thu May 05, 2022 10:58 am
by Emor D'ni Lap
Thanks Paradox and Sirius.

Yes, I've already been speaking with Nye Sigismund about past tests with Normal mapping.
Well familiar with the rules for bump-mapping, as stated in Cyan's Plasma manual.

I did see Nye's example in Llantern, as applied to a palm trunk http://forum.guildofwriters.org/viewtopic.php?f=7&t=4504&hilit=llantern&start=40#p47524
...but when I checked Llantern in DI, that effect is not seen on any of the palm trunks there.

I'm currently unable to go inspect MystV, but I did check MOULa's Kemo: I can detect no effect on the stair railings during rainfall/lightning, and nothing on the stone path: 1) daylight 2) in rain, during lightning flash 3) in rain, darkness
BumpMapGira_MOULa.gif
BumpMapGira_MOULa.gif (662.74 KiB) Viewed 6921 times


...but, checking in CC, I DO see something on the stone path (but still not on the stair railings: 1) daylight 2) in rain, during lightning flash 3) in rain, darkness
BumpMapGira_CC.gif
BumpMapGira_CC.gif (766.47 KiB) Viewed 6921 times


You may also notice that the texturing here - in CC - shows an additional layer not seen in MOULa: likely a Composite texture. As far as I can tell, the stones' flashing effect during rainfall could just as easily be produced by an existing or additional layer timed to flash - or only be visible - at the same moments as the lightning flashes on the RT source...rather than as a normal-mapping effect. Hard for me to tell.

I'll keep experimenting and testing, will let you know if I ever get a definitive result! :roll:

Re: Know of any Ages using Bump/Normal Mapping?

PostPosted: Sun May 08, 2022 5:43 am
by Aloys
Sirius wrote:Plasma's normalmapping is fairly bad. The light is still per-vertex, and even then the normapping effect seems to have weird orientation...

Yup. Which I found frustrating at the time because Uru was released in 2003, the year when other big games started using it to great effect.. (Half Life 2 & Doom 3 came out the following year).
Since the results aren't great Uru scenes are better off without normal maps IMHO. I just doesn't work, and it clashes with the rest of the art direction.

There are a few spots that use "baked" lighting to a decent effect. In the hoods, the corridors leading to the 'egg' room have lights on the wall that do something like that and it works ok. (unfortunately I don't have Uru on this computer so I can't take a screenshot)

Paradox wrote:The other spot is not in Uru, but in Myst V, for the asteroids in Todelmer.

Wow, I had totally forgotten about those. :o Those look really weird. :D

Re: Know of any Ages using Bump/Normal Mapping?

PostPosted: Tue May 10, 2022 8:31 am
by Sirius
Emor, I can kinda see normalmapping in your two gifs - however, it's extremely subtle, especially in the first one. I probably wouldn't get it right in a blind test. Normalmapping works best with strong dynamic lights and weak ambient lights, which is the opposite of what Kemo uses (It's Kemo, BTW, Gira is the canyon one). You'll really see the effect better in Todelmer IMHO, since the lighting is more contrasted.

Aloys wrote:There are a few spots that use "baked" lighting to a decent effect. In the hoods, the corridors leading to the 'egg' room have lights on the wall that do something like that and it works ok.

Yes, I remember some on the walls leading to the common room as well. It's all fake but looks pretty good.

Aloys wrote:Which I found frustrating at the time because Uru was released in 2003, the year when other big games started using it to great effect.. (Half Life 2 & Doom 3 came out the following year).

I've done some research on this over the years.

From what I understand, it appears games switched from the old D3D8 fixed function pipeline to D3D9 and shader-based pipelines at that time. This in turn allowed for per-pixel lighting and proper normalmapping, among other things.

Unfortunately Cyan completely missed that turn for whatever reason (probably bad timing combined with lack of resource and programmers already being overworked). After that, they had to keep working with their outdated material and lighting models, which cannot easily be translated to shaders without lengthy rework. Plasma makes use of a few shaders (written in assembly, yuck) for wavesets and such, but nothing big.

Plasma's normalmapping is not shader-based. It appears to be mostly an exploit of the old fixed pipeline. I suspect the base texture is still shaded using vertex light, and the normalmap just adds or remove intensity from it. Not ideal...

Personally I'd recommend Age authors to ignore normalmaps altogether and focus on finding good textures and properly blend them. Plasma has some areas where it shines like stenciling, but anything more modern than that should be avoided.