This commit is contained in:
		
							parent
							
								
									fc471e5244
								
							
						
					
					
						commit
						8497bd9ccb
					
				
					 4 changed files with 55 additions and 10 deletions
				
			
		
							
								
								
									
										0
									
								
								src/routes/articles/cpu-architecture/+page.svx
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								src/routes/articles/cpu-architecture/+page.svx
									
										
									
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								src/routes/articles/gpu-architecture/+page.svx
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								src/routes/articles/gpu-architecture/+page.svx
									
										
									
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								src/routes/articles/memory-architecture/+page.svx
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								src/routes/articles/memory-architecture/+page.svx
									
										
									
									
									
										Normal file
									
								
							|  | @ -542,8 +542,6 @@ That's two down, one left to slay! | |||
| </Note> | ||||
| 
 | ||||
| ## Geometry Shader (optional stage) | ||||
| ** You may skip this stage, and I recommend you fucking do so! ** | ||||
| 
 | ||||
| **Different levels of parallelism (why do we still need the vertex shader)** | ||||
| 
 | ||||
| **Takes as input "a" primitive, outputs any type of (but only one of) primitive(s)** | ||||
|  | @ -577,7 +575,9 @@ That's two down, one left to slay! | |||
| **Tessellation Control Shader** (or Hull Shader in DirectX terminology) | ||||
| 
 | ||||
| **Tessllator** | ||||
| 
 | ||||
| **Quad Primitives** | ||||
| 
 | ||||
| **Isolines** | ||||
| 
 | ||||
| **Outer tessellation / Inner tessellation** | ||||
|  | @ -586,7 +586,6 @@ That's two down, one left to slay! | |||
| 
 | ||||
| **Tessellation examples** | ||||
| 
 | ||||
| 
 | ||||
| ## Geometry Processing -- Recap | ||||
| You've just learned how the first major section of the graphics pipeline works! But before rewarding | ||||
| your pretty eyes with a much deserved rest, let's have a quick recap! | ||||
|  | @ -620,33 +619,79 @@ than only positions. | |||
| 
 | ||||
| **Barycentric Interpolation** NOTE NOT linear interpolation | ||||
| 
 | ||||
| **Optimizations** | ||||
| **Some Optimizations** | ||||
| 
 | ||||
| <Note title="Software Rasterization"> | ||||
| 
 | ||||
| What we've implemented is a simple toy rasterizer written to be run on the CPU for educational | ||||
| purposes only. It is inefficient, has shit precision (integer precision) thus choppy when moving things, and has many, many problems. | ||||
| However, GPUs have dedicated hardwares and incredibly optimized algorithms on those to do this | ||||
| purposes only. It is inefficient, has shit precision (integer precision) thus it is choppy when moving things around, and has many problems. | ||||
| However, GPUs have dedicated hardwares that run incredibly optimized algorithms to do this | ||||
| sort of thing; hence what we made is called a **software** rasterizer ---as opposed to the usual | ||||
| **hardware** rasterizer. | ||||
| 
 | ||||
| I'd like to remind you that the simplicity of the **rasterization** algorithm is one of the most | ||||
| important reasons we use **triangles** during **polygonal rendering**. | ||||
| important reasons we use **triangles** to do **polygonal rendering**. If polygons had variable | ||||
| number of edges then it would be really difficult to come up with efficient algorithms for doing this. | ||||
| 
 | ||||
| </Note> | ||||
| 
 | ||||
| ## Pixel Processing | ||||
| **Overview** | ||||
| 
 | ||||
| ## Texturing | ||||
| **Vertex Data Extension** | ||||
| 
 | ||||
| **Texture Coordinates** | ||||
| 
 | ||||
| **Texture Sampling** | ||||
| 
 | ||||
| **Mipmaps** | ||||
| 
 | ||||
| **Non-color Data** | ||||
| 
 | ||||
| ## Lighting | ||||
| **Phong Shading** | ||||
| 
 | ||||
| // The model was named after its developer B`ui Tóng Phong | ||||
| 
 | ||||
| **Ambient** | ||||
| 
 | ||||
| **Diffuse** | ||||
| 
 | ||||
| **Specular** | ||||
| 
 | ||||
| **Combined (Phong)** | ||||
| 
 | ||||
| ## Anti-Aliasing | ||||
| **SSAA** | ||||
| 
 | ||||
| **MSAA** | ||||
| 
 | ||||
| ## Output Merger | ||||
| **Blending** | ||||
| 
 | ||||
| ## The Future | ||||
| ## Some Optimizations | ||||
| 
 | ||||
| ## Deferred Shading | ||||
| **G Buffer** | ||||
| 
 | ||||
| **Forward pass** | ||||
| 
 | ||||
| **Deferred pass** or the **Lighting pass** | ||||
| 
 | ||||
| **Pros and Cons** | ||||
| 
 | ||||
| **Anti Aliasing** | ||||
| 
 | ||||
| **High memory consumption** | ||||
| 
 | ||||
| **May be slower for simple scenes** | ||||
| 
 | ||||
| ## The Future of the Graphics Pipeline | ||||
| **Mesh shaders** | ||||
| 
 | ||||
| **Real-time raytracing** | ||||
| 
 | ||||
| **Deferred Shading** | ||||
| 
 | ||||
| ## Conclusion | ||||
| Let's---for the final time, have a quick recap and go everything at the speed of **light** :) | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue