| 
				
				
					
						
					
				
				
				 | 
			
			 | 
			
			@ -598,7 +598,9 @@ RLAPI void rlglInit(int width, int height);           // Initialize rlgl (buffer | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			RLAPI void rlglClose(void);                           // De-inititialize rlgl (buffers, shaders, textures) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			RLAPI void rlLoadExtensions(void *loader);            // Load OpenGL extensions (loader function required) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			RLAPI int rlGetVersion(void);                         // Get current OpenGL version | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			RLAPI int rlSetFramebufferWidth(int width);           // Set current framebuffer width | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			RLAPI int rlGetFramebufferWidth(void);                // Get default framebuffer width | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			RLAPI int rlSetFramebufferHeight(int height);         // Set current framebuffer height | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			RLAPI int rlGetFramebufferHeight(void);               // Get default framebuffer height | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			RLAPI unsigned int rlGetTextureIdDefault(void);       // Get default texture id | 
			
		
		
	
	
		
			
				| 
				
					
						
					
				
				
					
						
					
				
				
				 | 
			
			 | 
			
			@ -927,10 +929,8 @@ typedef struct rlglData { | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			        int glBlendDstFactor;               // Blending destination factor | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			        int glBlendEquation;                // Blending equation | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			        int viewportX;                      // Current viewport offset x | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			        int viewportY;                      // Current viewport offset y | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			        int framebufferWidth;               // Current viewport width (framebuffer) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			        int framebufferHeight;              // Current viewport height (framebuffer) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			        int framebufferWidth;               // Current framebuffer width | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			        int framebufferHeight;              // Current framebuffer height | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    } State;            // Renderer state | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    struct { | 
			
		
		
	
	
		
			
				| 
				
					
						
					
				
				
					
						
					
				
				
				 | 
			
			 | 
			
			@ -1235,11 +1235,6 @@ void rlOrtho(double left, double right, double bottom, double top, double znear, | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			// NOTE: We store current viewport dimensions | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			void rlViewport(int x, int y, int width, int height) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			{ | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    RLGL.State.viewportX = x; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    RLGL.State.viewportY = y; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    RLGL.State.framebufferWidth = width; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    RLGL.State.framebufferHeight = height; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    glViewport(x, y, width, height); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			} | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
	
		
			
				| 
				
					
						
					
				
				
					
						
					
				
				
				 | 
			
			 | 
			
			@ -2227,6 +2222,22 @@ int rlGetVersion(void) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    return glVersion; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			} | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			// Set current framebuffer width | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			int rlSetFramebufferWidth(int width) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			{ | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    RLGL.State.framebufferWidth = width; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			#endif | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			} | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			// Set current framebuffer height | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			int rlSetFramebufferHeight(int height) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			{ | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    RLGL.State.framebufferHeight = height; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			#endif | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			} | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			// Get default framebuffer width | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			int rlGetFramebufferWidth(void) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			{ | 
			
		
		
	
	
		
			
				| 
				
					
						
					
				
				
					
						
					
				
				
				 | 
			
			 | 
			
			@ -2510,8 +2521,7 @@ void rlDrawRenderBatch(rlRenderBatch *batch) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			        if (eyeCount == 2) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			        { | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			            // Setup current eye viewport (half screen width) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			            // NOTE: We use glViewport() because rlViewport() stores viewport measures in RLGL.State | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			            glViewport(RLGL.State.viewportX + eye*RLGL.State.framebufferWidth/2, RLGL.State.viewportY, RLGL.State.framebufferWidth/2, RLGL.State.framebufferHeight); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			            rlViewport(eye*RLGL.State.framebufferWidth/2, 0, RLGL.State.framebufferWidth/2, RLGL.State.framebufferHeight); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			            // Set current eye view offset to modelview matrix | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			            rlSetMatrixModelview(rlMatrixMultiply(matModelView, RLGL.State.viewOffsetStereo[eye])); | 
			
		
		
	
	
		
			
				| 
				
					
						
					
				
				
					
						
					
				
				
				 | 
			
			 | 
			
			@ -2612,7 +2622,7 @@ void rlDrawRenderBatch(rlRenderBatch *batch) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    } | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    // Restore viewport to default measures | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    if (eyeCount == 2) glViewport(RLGL.State.viewportX, RLGL.State.viewportY, RLGL.State.framebufferWidth, RLGL.State.framebufferHeight); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    if (eyeCount == 2) rlViewport(0, 0, RLGL.State.framebufferWidth, RLGL.State.framebufferHeight); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    //------------------------------------------------------------------------------------------------------------ | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    // Reset batch buffers | 
			
		
		
	
	
		
			
				| 
				
					
						
					
				
				
				
				 | 
			
			 | 
			
			
 |