Шейдеры для работы с прямоугольником
This commit is contained in:
		
							parent
							
								
									ace3d24ec3
								
							
						
					
					
						commit
						bef6eee09b
					
				
							
								
								
									
										12
									
								
								shaders/quad.frag
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								shaders/quad.frag
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,12 @@ | ||||
| #version 420 core  | ||||
| 
 | ||||
| in vec2 texCoord; | ||||
| 
 | ||||
| uniform sampler2D tex; | ||||
| 
 | ||||
| out vec4 color;  | ||||
| 
 | ||||
| void main()  | ||||
| {  | ||||
|     color = texture2D(tex, texCoord); | ||||
| }  | ||||
							
								
								
									
										11
									
								
								shaders/quad.vert
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								shaders/quad.vert
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| #version 420 core  | ||||
| 
 | ||||
| layout(location = 0) in vec3 pos;  | ||||
| 
 | ||||
| out vec2 texCoord; | ||||
| 
 | ||||
| void main()  | ||||
| {  | ||||
|     gl_Position = vec4(pos, 1.0); | ||||
|     texCoord = (pos.xy + vec2(1.0)) / 2; // Переход от [-1;1] к [0;1] | ||||
| } | ||||
| @ -140,7 +140,12 @@ int main(void) | ||||
|     // Базовый буфер кадра
 | ||||
|     glBindFramebuffer(GL_FRAMEBUFFER, 0); | ||||
|      | ||||
| 
 | ||||
|     // Шейдер для переноса текстуры на прямоугольник
 | ||||
|     ShaderProgram quadProgram; | ||||
|     // Загрузка и компиляция шейдеров
 | ||||
|     quadProgram.load(GL_VERTEX_SHADER, "shaders/quad.vert"); | ||||
|     quadProgram.load(GL_FRAGMENT_SHADER, "shaders/quad.frag"); | ||||
|     quadProgram.link(); | ||||
| 
 | ||||
|     // Пока не произойдет событие запроса закрытия окна
 | ||||
|     while(!glfwWindowShouldClose(window)) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user