README.md aktualisiert

This commit is contained in:
Turingon 2024-02-27 13:05:04 +00:00
parent 69301d65c6
commit 7ad32579b9

View file

@ -51,4 +51,8 @@ In this chapter I created a simple sphere and detect its surface by solving quad
The first part of the chapter was the calculation and visualization of the normals, which we need for shading. But I also implemented the [fast inverse square algorithm](https://youtu.be/p8u_k2LIZyo) in Go just like in Quake III, which is pretty clever and fast. I did primarily because 1) I'm working with 32-bit floats for the sake of memory efficiency and 2) I don't care about accuracy - also it's very educational. But [as explained in this video](https://youtu.be/tmb6bLbxd08) the fast inverse square isn't always the better choice and in my case it probably isn't, because I need to import a Go standard library to disable data type safety and processor padding (something I've noticed when working with small data types in Zig). This is the first visualization of the normals of the sphere:
<img src="https://media.discordapp.net/attachments/874752364698013736/1206571608878350336/image.png?ex=65dc7e60&is=65ca0960&hm=546d9e13e5158c40d52b0a5063d27501a682ba6e71283219cf7e343c9d907588&=&format=webp&quality=lossless" alt="Second PPM image" width="480"/>
<img src="https://media.discordapp.net/attachments/874752364698013736/1206571608878350336/image.png?ex=65dc7e60&is=65ca0960&hm=546d9e13e5158c40d52b0a5063d27501a682ba6e71283219cf7e343c9d907588&=&format=webp&quality=lossless" alt="Second PPM image" width="480"/>
The second part of the capter involved standardizing the code so that it can process multiple objects - it was quite translating this part into Go, as a lot of C++ OOP features are missing - but finally I managed to produce this neat output:
<img src="https://media.discordapp.net/attachments/874752364698013736/1212022000030326814/image.png?ex=65f05273&is=65dddd73&hm=84ce2882f64629c79103940594c43c9b85d19f6819fe766f84b4f65f393cb392&=&format=webp&quality=lossless" alt="Second PPM image" width="480"/>