Шейдеры для работы с прямоугольником
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); |     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)) |     while(!glfwWindowShouldClose(window)) | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user