1
0
mirror of https://github.com/minetest/minetest.git synced 2024-12-29 12:10:29 +01:00

Add bumpmapping and parallax occlusion testing nodes to devtest (#9242)

This commit is contained in:
HybridDog 2020-10-09 20:13:42 +02:00 committed by GitHub
parent f3ae45b2b2
commit c61c175e9c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 50 additions and 0 deletions

View File

@ -1,2 +1,3 @@
name = testnodes name = testnodes
description = Contains a bunch of basic example nodes for demonstrative purposes, development and testing description = Contains a bunch of basic example nodes for demonstrative purposes, development and testing
depends = stairs

View File

@ -71,3 +71,52 @@ for a=1,#alphas do
groups = { dig_immediate = 3 }, groups = { dig_immediate = 3 },
}) })
end end
-- Bumpmapping and Parallax Occlusion
-- This node has a normal map which corresponds to a pyramid with sides tilted
-- by an angle of 45°, i.e. the normal map contains four vectors which point
-- diagonally away from the surface (e.g. (0.7, 0.7, 0)),
-- and the heights in the height map linearly increase towards the centre,
-- so that the surface corresponds to a simple pyramid.
-- The node can help to determine if e.g. tangent space transformations work
-- correctly.
-- If, for example, the light comes from above, then the (tilted) pyramids
-- should look like they're lit from this light direction on all node faces.
-- The white albedo texture has small black indicators which can be used to see
-- how it is transformed ingame (and thus see if there's rotation around the
-- normal vector).
minetest.register_node("testnodes:height_pyramid", {
description = "Bumpmapping and Parallax Occlusion Tester (height pyramid)",
tiles = {"testnodes_height_pyramid.png"},
groups = {dig_immediate = 3},
})
-- The stairs nodes should help to validate if shading works correctly for
-- rotated nodes (which have rotated textures).
stairs.register_stair_and_slab("height_pyramid", "experimantal:height_pyramid",
{dig_immediate = 3},
{"testnodes_height_pyramid.png"},
"Bumpmapping and Parallax Occlusion Tester Stair (height pyramid)",
"Bumpmapping and Parallax Occlusion Tester Slab (height pyramid)")
-- This node has a simple heightmap for parallax occlusion testing and flat
-- normalmap.
-- When parallax occlusion is enabled, the yellow scrawl should stick out of
-- the texture when viewed at an angle.
minetest.register_node("testnodes:parallax_extruded", {
description = "Parallax Occlusion Tester",
tiles = {"testnodes_parallax_extruded.png"},
groups = {dig_immediate = 3},
})
-- Analogously to the height pyramid stairs nodes,
-- these nodes should help to validate if parallax occlusion works correctly for
-- rotated nodes (which have rotated textures).
stairs.register_stair_and_slab("parallax_extruded",
"experimantal:parallax_extruded",
{dig_immediate = 3},
{"testnodes_parallax_extruded.png"},
"Parallax Occlusion Tester Stair",
"Parallax Occlusion Tester Slab")

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 239 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 591 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 B