From c61c175e9c648b6e40b85c12940e9b91a52757d7 Mon Sep 17 00:00:00 2001 From: HybridDog <3192173+HybridDog@users.noreply.github.com> Date: Fri, 9 Oct 2020 20:13:42 +0200 Subject: [PATCH] Add bumpmapping and parallax occlusion testing nodes to devtest (#9242) --- games/devtest/mods/testnodes/mod.conf | 1 + games/devtest/mods/testnodes/textures.lua | 49 ++++++++++++++++++ .../textures/testnodes_height_pyramid.png | Bin 0 -> 90 bytes .../testnodes_height_pyramid_normal.png | Bin 0 -> 239 bytes .../textures/testnodes_parallax_extruded.png | Bin 0 -> 591 bytes .../testnodes_parallax_extruded_normal.png | Bin 0 -> 143 bytes 6 files changed, 50 insertions(+) create mode 100644 games/devtest/mods/testnodes/textures/testnodes_height_pyramid.png create mode 100644 games/devtest/mods/testnodes/textures/testnodes_height_pyramid_normal.png create mode 100644 games/devtest/mods/testnodes/textures/testnodes_parallax_extruded.png create mode 100644 games/devtest/mods/testnodes/textures/testnodes_parallax_extruded_normal.png diff --git a/games/devtest/mods/testnodes/mod.conf b/games/devtest/mods/testnodes/mod.conf index 4824c6ed0..d894c3452 100644 --- a/games/devtest/mods/testnodes/mod.conf +++ b/games/devtest/mods/testnodes/mod.conf @@ -1,2 +1,3 @@ name = testnodes description = Contains a bunch of basic example nodes for demonstrative purposes, development and testing +depends = stairs diff --git a/games/devtest/mods/testnodes/textures.lua b/games/devtest/mods/testnodes/textures.lua index 6ffef8fe9..e0724c229 100644 --- a/games/devtest/mods/testnodes/textures.lua +++ b/games/devtest/mods/testnodes/textures.lua @@ -71,3 +71,52 @@ for a=1,#alphas do groups = { dig_immediate = 3 }, }) 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") diff --git a/games/devtest/mods/testnodes/textures/testnodes_height_pyramid.png b/games/devtest/mods/testnodes/textures/testnodes_height_pyramid.png new file mode 100644 index 0000000000000000000000000000000000000000..8c787b7401e1dd936e6e89bf132b9f187cf1d1b7 GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UA6g^!WLnJOI|2h9-KBJ_8k%7S< l_h&{)D;%BznT9;_j11Q|ut~+NeZ2vs$~~oxG9vh=Ksi-Ja-z zF6Uhfc!H`Hh$XG#`4Y}!e@IZs$-&^{X6x;I|F{;~J-lZ8BChUq+zxrhT}cw zf(=X36e=`Ma6IrxXz>ro?Z~NPnl5~lZ`vBp9Wt6ci6>(Yr1}?dc^_lavu5(%utdDz m=BEv;-gb_^tyj-;{LVim+=bh?|GX^F2MnIBelF{r5}E+pj#X#? literal 0 HcmV?d00001 diff --git a/games/devtest/mods/testnodes/textures/testnodes_parallax_extruded.png b/games/devtest/mods/testnodes/textures/testnodes_parallax_extruded.png new file mode 100644 index 0000000000000000000000000000000000000000..7e1c323987597e8555e4a74bb637d4705dd2d88c GIT binary patch literal 591 zcmV-V0}3b3I7v6KL@mH@Gv0J4(+ zvY!gFpboR10JM`7w50>JnEaTizT*oMt54M&9ww4jLmKe5|6SkNDwwN2XnFF?&54M>YwwW5XngF(% z0k)bBwwn*OoB+0+0JfbNww?gCpB}cM1mNJ{;^N}t=;-R|>g((4 z?Ck9A?d|XH@AC5U^Yiod_4W4l_V@Sq`uh6&`}_X>{{R2~TWLV^0002qNkl^sfqHC|*%qp+DVE=OwVRQ){8H6qCzBsS8yv zPRFw}Lh#+euxuqHJ@M{BSj%s0U5{ImH6K%b5WcLPhH}i6bL6b*zS!G)=k53BV?k;A zhA%NScwb}y(Q7v+LYiT3v*4umb5tc)Ny6*)Do9HP*a)$tQh_ZQFmV{{z(k#HXqvCy dU*zKm`454QOBEGnk`Vv^002ovPDHLkV1i>NAjALw literal 0 HcmV?d00001 diff --git a/games/devtest/mods/testnodes/textures/testnodes_parallax_extruded_normal.png b/games/devtest/mods/testnodes/textures/testnodes_parallax_extruded_normal.png new file mode 100644 index 0000000000000000000000000000000000000000..b134699d0c82621f7ba10fcbf177f93a74ce7456 GIT binary patch literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;TYyi9YeU0-AX089Hv)<