The exact commands to make this commit were: git reset --hard origin/master find -type f | # list all regular files grep -E '\.(h|cpp|fsh|vsh|mm)|LICENSE$' | # filter for text files xargs -n 1 -P $(nproc) sed -i 's:\s*$::' # for each file, trim trailing whitespace including the CR git commit -a
		
			
				
	
	
		
			132 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			132 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| // Copyright (C) 2015 Patryk Nadrowski
 | |
| // This file is part of the "Irrlicht Engine".
 | |
| // For conditions of distribution and use, see copyright notice in Irrlicht.h
 | |
| 
 | |
| #include "COpenGLCacheHandler.h"
 | |
| 
 | |
| #ifdef _IRR_COMPILE_WITH_OPENGL_
 | |
| 
 | |
| #include "COpenGLDriver.h"
 | |
| 
 | |
| namespace irr
 | |
| {
 | |
| namespace video
 | |
| {
 | |
| 
 | |
| /* COpenGLCacheHandler */
 | |
| 
 | |
| COpenGLCacheHandler::COpenGLCacheHandler(COpenGLDriver* driver) :
 | |
| 	COpenGLCoreCacheHandler<COpenGLDriver, COpenGLTexture>(driver), AlphaMode(GL_ALWAYS), AlphaRef(0.f), AlphaTest(false),
 | |
| 	MatrixMode(GL_MODELVIEW), ClientActiveTexture(GL_TEXTURE0), ClientStateVertex(false),
 | |
| 	ClientStateNormal(false), ClientStateColor(false), ClientStateTexCoord0(false)
 | |
| {
 | |
| 	// Initial OpenGL values from specification.
 | |
| 
 | |
| 	glAlphaFunc(AlphaMode, AlphaRef);
 | |
| 	glDisable(GL_ALPHA_TEST);
 | |
| 
 | |
| 	glMatrixMode(MatrixMode);
 | |
| 
 | |
| 	Driver->irrGlClientActiveTexture(ClientActiveTexture);
 | |
| 
 | |
| 	glDisableClientState(GL_VERTEX_ARRAY);
 | |
| 	glDisableClientState(GL_NORMAL_ARRAY);
 | |
| 	glDisableClientState(GL_COLOR_ARRAY);
 | |
| 	glDisableClientState(GL_TEXTURE_COORD_ARRAY);
 | |
| }
 | |
| 
 | |
| COpenGLCacheHandler::~COpenGLCacheHandler()
 | |
| {
 | |
| }
 | |
| 
 | |
| void COpenGLCacheHandler::setAlphaFunc(GLenum mode, GLclampf ref)
 | |
| {
 | |
| 	if (AlphaMode != mode || AlphaRef != ref)
 | |
| 	{
 | |
| 		glAlphaFunc(mode, ref);
 | |
| 
 | |
| 		AlphaMode = mode;
 | |
| 		AlphaRef = ref;
 | |
| 	}
 | |
| }
 | |
| 
 | |
| void COpenGLCacheHandler::setAlphaTest(bool enable)
 | |
| {
 | |
| 	if (AlphaTest != enable)
 | |
| 	{
 | |
| 		if (enable)
 | |
| 			glEnable(GL_ALPHA_TEST);
 | |
| 		else
 | |
| 			glDisable(GL_ALPHA_TEST);
 | |
| 		AlphaTest = enable;
 | |
| 	}
 | |
| }
 | |
| 
 | |
| void COpenGLCacheHandler::setClientState(bool vertex, bool normal, bool color, bool texCoord0)
 | |
| {
 | |
| 	if (ClientStateVertex != vertex)
 | |
| 	{
 | |
| 		if (vertex)
 | |
| 			glEnableClientState(GL_VERTEX_ARRAY);
 | |
| 		else
 | |
| 			glDisableClientState(GL_VERTEX_ARRAY);
 | |
| 
 | |
| 		ClientStateVertex = vertex;
 | |
| 	}
 | |
| 
 | |
| 	if (ClientStateNormal != normal)
 | |
| 	{
 | |
| 		if (normal)
 | |
| 			glEnableClientState(GL_NORMAL_ARRAY);
 | |
| 		else
 | |
| 			glDisableClientState(GL_NORMAL_ARRAY);
 | |
| 
 | |
| 		ClientStateNormal = normal;
 | |
| 	}
 | |
| 
 | |
| 	if (ClientStateColor != color)
 | |
| 	{
 | |
| 		if (color)
 | |
| 			glEnableClientState(GL_COLOR_ARRAY);
 | |
| 		else
 | |
| 			glDisableClientState(GL_COLOR_ARRAY);
 | |
| 
 | |
| 		ClientStateColor = color;
 | |
| 	}
 | |
| 
 | |
| 	if (ClientStateTexCoord0 != texCoord0)
 | |
| 	{
 | |
| 		setClientActiveTexture(GL_TEXTURE0_ARB);
 | |
| 
 | |
| 		if (texCoord0)
 | |
| 			glEnableClientState(GL_TEXTURE_COORD_ARRAY);
 | |
| 		else
 | |
| 			glDisableClientState(GL_TEXTURE_COORD_ARRAY);
 | |
| 
 | |
| 		ClientStateTexCoord0 = texCoord0;
 | |
| 	}
 | |
| }
 | |
| 
 | |
| void COpenGLCacheHandler::setMatrixMode(GLenum mode)
 | |
| {
 | |
| 	if (MatrixMode != mode)
 | |
| 	{
 | |
| 		glMatrixMode(mode);
 | |
| 		MatrixMode = mode;
 | |
| 	}
 | |
| }
 | |
| 
 | |
| void COpenGLCacheHandler::setClientActiveTexture(GLenum texture)
 | |
| {
 | |
| 	if (ClientActiveTexture != texture)
 | |
| 	{
 | |
| 		Driver->irrGlClientActiveTexture(texture);
 | |
| 		ClientActiveTexture = texture;
 | |
| 	}
 | |
| }
 | |
| 
 | |
| } // end namespace
 | |
| } // end namespace
 | |
| 
 | |
| #endif // _IRR_COMPILE_WITH_OPENGL_
 |