Ik ben zoals jullie (misschien niet?) weten bezig met een kleine software 3d engine. Tot nu toe heb ik er plaatjes als torusknopen met envmapping, phongshading en texturing uit weten te toveren. Nu wil ik graag bumpmapping erin maken. Ik heb verschillende docs erover gelezen, en daaruit heb ik de volgende werkwijze bedacht:
• Bereken vantevoren van de bumpmap de 'slope-factor' (dus het verschil tussen een pixel en zijn buren links, rechts, boven en onder afzonderlijk)
• Pak tijdens het rasterizen de goede pixels uit de bumpmap (dmv de al ingebowude maneir van texture mapping) en pas de normals aan met behulp van de slope factor-map.
Maar dit geeft niet het gewenste resultaat. Daarom vraag ik jullie wat ik verkeerd doe en hoe het beter kan. Hoe moet ik bijvoorbeeld de normals (die worden gebruikt om lighting uit een lightmap te berekenen) aanpassen gebruikmakend van de bumpmap' slope factor?
Dit gaat dus puur over software-rendering in C++
• Bereken vantevoren van de bumpmap de 'slope-factor' (dus het verschil tussen een pixel en zijn buren links, rechts, boven en onder afzonderlijk)
• Pak tijdens het rasterizen de goede pixels uit de bumpmap (dmv de al ingebowude maneir van texture mapping) en pas de normals aan met behulp van de slope factor-map.
Maar dit geeft niet het gewenste resultaat. Daarom vraag ik jullie wat ik verkeerd doe en hoe het beter kan. Hoe moet ik bijvoorbeeld de normals (die worden gebruikt om lighting uit een lightmap te berekenen) aanpassen gebruikmakend van de bumpmap' slope factor?
Dit gaat dus puur over software-rendering in C++
