mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 13:50:03 +00:00 
			
		
		
		
	gl_shader_gen: Use explicit locations for vertex shader attributes.
This commit is contained in:
		
							parent
							
								
									e663f5c914
								
							
						
					
					
						commit
						74186a5f01
					
				
					 2 changed files with 8 additions and 14 deletions
				
			
		|  | @ -362,15 +362,14 @@ out vec4 color; | |||
| } | ||||
| 
 | ||||
| std::string GenerateVertexShader() { | ||||
|     static const std::string out = R"( | ||||
| #version 330 | ||||
| 
 | ||||
| in vec4 vert_position; | ||||
| in vec4 vert_color; | ||||
| in vec2 vert_texcoord0; | ||||
| in vec2 vert_texcoord1; | ||||
| in vec2 vert_texcoord2; | ||||
|     std::string out = "#version 330\n"; | ||||
|     out += "layout(location = " + std::to_string((int)ATTRIBUTE_POSITION)  + ") in vec4 vert_position;\n"; | ||||
|     out += "layout(location = " + std::to_string((int)ATTRIBUTE_COLOR)     + ") in vec4 vert_color;\n"; | ||||
|     out += "layout(location = " + std::to_string((int)ATTRIBUTE_TEXCOORD0) + ") in vec2 vert_texcoord0;\n"; | ||||
|     out += "layout(location = " + std::to_string((int)ATTRIBUTE_TEXCOORD1) + ") in vec2 vert_texcoord1;\n"; | ||||
|     out += "layout(location = " + std::to_string((int)ATTRIBUTE_TEXCOORD2) + ") in vec2 vert_texcoord2;\n"; | ||||
| 
 | ||||
|     out += R"( | ||||
| out vec4 primary_color; | ||||
| out vec2 texcoord[3]; | ||||
| 
 | ||||
|  | @ -382,6 +381,7 @@ void main() { | |||
|     gl_Position = vec4(vert_position.x, -vert_position.y, -vert_position.z, vert_position.w); | ||||
| } | ||||
| )"; | ||||
| 
 | ||||
|     return out; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -66,12 +66,6 @@ GLuint LoadProgram(const char* vertex_shader, const char* fragment_shader) { | |||
|     glAttachShader(program_id, vertex_shader_id); | ||||
|     glAttachShader(program_id, fragment_shader_id); | ||||
| 
 | ||||
|     glBindAttribLocation(program_id, Attributes::ATTRIBUTE_POSITION, "vert_position"); | ||||
|     glBindAttribLocation(program_id, Attributes::ATTRIBUTE_COLOR, "vert_color"); | ||||
|     glBindAttribLocation(program_id, Attributes::ATTRIBUTE_TEXCOORD0, "vert_texcoord0"); | ||||
|     glBindAttribLocation(program_id, Attributes::ATTRIBUTE_TEXCOORD1, "vert_texcoord1"); | ||||
|     glBindAttribLocation(program_id, Attributes::ATTRIBUTE_TEXCOORD2, "vert_texcoord2"); | ||||
| 
 | ||||
|     glLinkProgram(program_id); | ||||
| 
 | ||||
|     // Check the program
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue