Clean a bit

master
Miloslav Ciz 2 years ago
parent 85e12c541f
commit 501888c90b

@ -0,0 +1,5 @@
# Cathedral
Welcome to the cathedral. Here we mourn the death of [technology](technology.md) by the hand of [capitalism](capitalism.md).
{ Sometimes we are very depressed from what's going on in this world, how technology is raped and used by living being against each other. Seeing on a daily basis the atrocities done to the art we love and the atrocities done by it -- it is like watching a living being die. Sometimes it can help to just know you are not alone. ~drummyfish }

@ -4,7 +4,7 @@ This is a Wiki for [less retarded software](lrs.md) (LRS) and related topics.
**Before contributing please read the [rules & style](wiki_style.md)!**
Pay us a visit on the [Island](island.md)!
Pay us a visit on the [Island](island.md)! And come mourn with us in the [cathedral](cathedral.md), because **technology is dying**.
If you're new here, you may want to read ansers to [frequently asked questions](faq.md), including "Are you a fascist?" and "Do you love Hitler?".
@ -14,7 +14,7 @@ Well, we're trying to figure this out on this wiki, but it is greatly related to
## Are You a Noob?
Are you a noob but see our ideas as appealing and would like to join us? Say nothing more and head over to our [how to](how_to.md)!
Are you a noob but see our ideas as appealing and would like to join us? Say no more and head over to a [how to](how_to.md)!
## Some Interesting Topics

@ -8,7 +8,7 @@ Shaders are normally written in a special **shading language** such as [GLSL](gl
Initially (back in the 90s and early 2000s) shaders were used only for graphics, i.e. to transform 3D vertices, draw triangles and compute pixel colors. Later on as GPUs became more [general purpose](gpgpu.md), flexibility was added to shaders that allowed to solve more problems with the GPU and eventually general *compute* shaders appeared (OpenGL added them in version 3.3 in 2010).
To put shaders in the context, the flow of data is this: a CPU uploads some data (3D models, textures, ...) to the GPU and then issues a draw command -- this makes the GPU start its **pipeline** consisting of different **stages**, e.g. the vertices of 3D models are transformed to screens space (the vertex stage), then triangles are generated and rasterized (the shading stage) and the data is output (on screen, to a buffer etc.). Some of these stages are programmable and so they have their own type of a shader. The details of the pipeline differ from API to API, but in general, depending on the type of data the shader processes (the stage), we talk about:
To put shaders in the context, the flow of data is this: a [CPU](cpu.md) uploads some data (3D models, textures, ...) to the GPU and then issues a draw command -- this makes the GPU start its **pipeline** consisting of different **stages**, e.g. the vertices of 3D models are transformed to screens space (the vertex stage), then triangles are generated and rasterized (the shading stage) and the data is output (on screen, to a buffer etc.). Some of these stages are programmable and so they have their own type of a shader. The details of the pipeline differ from API to API, but in general, depending on the type of data the shader processes (the stage), we talk about:
- **vertex shaders**: Perform per-vertex computations on 3D models, typically their transformation from their world position to the position in the camera and screen space.
- **fragment/pixel shaders**: Compute the final color of each pixel (sometimes called more generally *fragments*), i.e. work per-pixel. A typical use is to perform [texturing](texture.md) and amount of reflected light (lighting model).

Loading…
Cancel
Save