⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 texblend.h

📁 Lido PXA270平台开发板的最新BSP,包括源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
/**************************************************************************
 * Name         : texblend.h
 * Author       : BCB
 * Created      : 20/05/2003
 *
 * Copyright    : 2003 by Imagination Technologies Limited. All rights reserved.
 *              : No part of this software, either material or conceptual 
 *              : may be copied or distributed, transmitted, transcribed,
 *              : stored in a retrieval system or translated into any 
 *              : human or computer language in any form by any means,
 *              : electronic, mechanical, manual or other-wise, or 
 *              : disclosed to third parties without the express written
 *              : permission of Imagination Technologies Limited, Unit 8, HomePark
 *              : Industrial Estate, King's Langley, Hertfordshire,
 *              : WD4 8LZ, U.K.
 *
 * Platform     : ANSI
 *
 * $Date: 2003/12/15 19:31:37 $ $Revision: 1.2 $
 * $Log: texblend.h $
 **************************************************************************/

#ifndef _TEXBLEND_
#define _TEXBLEND_

/*****************************************************************/
/*                  Blend Mode Lookup Tables                     */
/*****************************************************************/

/*
 * Texture Format Summary:
 *
 * GL_ALPHA: 8 (Blend ignores colour channels)
 * GL_LUMINACE: 8 (Blend ignores alpha)
 * GL_LUMINANCE_ALPHA: 8:8
 * GL_RGB: 565, 8888 (Alpha set to 0xff for latter)
 * GL_RGBA: 4444, 8888
 */

/*
 * Texture blend list:
 *
 * GL_MODULATE: 
 * GL_DECAL: 
 * GL_BLEND:
 * GL_REPLACE: 
 * GL_ADD:
 */


const static IMG_UINT32 aui32LayerBlendWord[GLES_MAX_TEXTURE_UNITS][GLES_NUM_TEX_FORMATS][GLES_NUM_TEX_BLENDS] = 
{
{
	/* GL_ALPHA : GL_MODULATE - C=Cdiff, A=Adiff*Atex */
{	(MBX1_TSPPL3_CS1SELONE |
	 MBX1_TSPPL3_CS2SELDIFFUSE | 
	 MBX1_TSPPL3_CS3SELONE | MBX1_TSPPL3_INVCS3 |
	 MBX1_TSPPL3_CS4SELDIFFUSE | 
	 MBX1_TSPPL3_AS1SELTEXTUREALPHA | 
	 MBX1_TSPPL3_AS2SELDIFFUSEALPHA | 
	 MBX1_TSPPL3_AS3SELONE | MBX1_TSPPL3_INVAS3 |
	 MBX1_TSPPL3_AS4SELDIFFUSEALPHA)
	 ,
 	/* GL_ALPHA : GL_DECAL - undefined in spec, do a replace */
	(MBX1_TSPPL3_CS1SELONE |
	 MBX1_TSPPL3_CS2SELDIFFUSE | 
	 MBX1_TSPPL3_CS3SELONE | MBX1_TSPPL3_INVCS3 |
	 MBX1_TSPPL3_CS4SELDIFFUSE | 
	 MBX1_TSPPL3_AS1SELONE | 
	 MBX1_TSPPL3_AS2SELTEXTUREALPHA | 
	 MBX1_TSPPL3_AS3SELONE | MBX1_TSPPL3_INVAS3 |
	 MBX1_TSPPL3_AS4SELDIFFUSEALPHA)
	 ,
	 /* GL_ALPHA : GL_BLEND - C=Cdiff, A=Adiff*Atex */
	(MBX1_TSPPL3_CS1SELONE |
	 MBX1_TSPPL3_CS2SELDIFFUSE | 
	 MBX1_TSPPL3_CS3SELONE | MBX1_TSPPL3_INVCS3 |
	 MBX1_TSPPL3_CS4SELDIFFUSE | 
	 MBX1_TSPPL3_AS1SELTEXTUREALPHA | 
	 MBX1_TSPPL3_AS2SELDIFFUSEALPHA | 
	 MBX1_TSPPL3_AS3SELONE | MBX1_TSPPL3_INVAS3 |
	 MBX1_TSPPL3_AS4SELDIFFUSEALPHA)
	 ,
	 /* GL_ALPHA : GL_REPLACE - C=Cdiff, A=Atex */
	(MBX1_TSPPL3_CS1SELONE |
	 MBX1_TSPPL3_CS2SELDIFFUSE | 
	 MBX1_TSPPL3_CS3SELONE | MBX1_TSPPL3_INVCS3 |
	 MBX1_TSPPL3_CS4SELDIFFUSE | 
	 MBX1_TSPPL3_AS1SELONE | 
	 MBX1_TSPPL3_AS2SELTEXTUREALPHA | 
	 MBX1_TSPPL3_AS3SELONE | MBX1_TSPPL3_INVAS3 |
	 MBX1_TSPPL3_AS4SELDIFFUSEALPHA)
	 ,
	 /* GL_ALPHA : GL_ADD - C=Cdiff, A=Adiff*Atex*/
	(MBX1_TSPPL3_CS1SELONE |
	 MBX1_TSPPL3_CS2SELDIFFUSE | 
	 MBX1_TSPPL3_CS3SELONE | MBX1_TSPPL3_INVCS3 |
	 MBX1_TSPPL3_CS4SELDIFFUSE | 
	 MBX1_TSPPL3_AS1SELTEXTUREALPHA | 
	 MBX1_TSPPL3_AS2SELDIFFUSEALPHA | 
	 MBX1_TSPPL3_AS3SELONE | MBX1_TSPPL3_INVAS3 |
	 MBX1_TSPPL3_AS4SELDIFFUSEALPHA)
}
,
	/* GL_LUMINANCE : GL_MODULATE - C=Cdiff*Ltex, A=Adiff */
{	(MBX1_TSPPL3_CS1SELTEXTURE |
	 MBX1_TSPPL3_CS2SELDIFFUSE | 
	 MBX1_TSPPL3_CS3SELONE | MBX1_TSPPL3_INVCS3 |
	 MBX1_TSPPL3_CS4SELDIFFUSE | 
	 MBX1_TSPPL3_AS1SELONE | 
	 MBX1_TSPPL3_AS2SELDIFFUSEALPHA | 
	 MBX1_TSPPL3_AS3SELONE | MBX1_TSPPL3_INVAS3 |
	 MBX1_TSPPL3_AS4SELDIFFUSEALPHA)
	 ,
 	/* GL_LUMINANCE : GL_DECAL - undefined in spec, do a replace */
	(MBX1_TSPPL3_CS1SELONE |
	 MBX1_TSPPL3_CS2SELTEXTURE | 
	 MBX1_TSPPL3_CS3SELONE | MBX1_TSPPL3_INVCS3 |
	 MBX1_TSPPL3_CS4SELDIFFUSE | 
	 MBX1_TSPPL3_AS1SELONE | 
	 MBX1_TSPPL3_AS2SELDIFFUSEALPHA | 
	 MBX1_TSPPL3_AS3SELONE | MBX1_TSPPL3_INVAS3 |
	 MBX1_TSPPL3_AS4SELDIFFUSEALPHA)
	 ,
	 /* GL_LUMINANCE : GL_BLEND - C=(1-Ltex)*Cdiff + Ltex*Cfactor, A=Adiff */
	(MBX1_TSPPL3_CS1SELTEXTURE | MBX1_TSPPL3_INVCS1 |
	 MBX1_TSPPL3_CS2SELDIFFUSE | 
	 MBX1_TSPPL3_CS3SELTEXTURE |
	 MBX1_TSPPL3_CS4SELFACTOR | 
	 MBX1_TSPPL3_AS1SELONE | 
	 MBX1_TSPPL3_AS2SELDIFFUSEALPHA | 
	 MBX1_TSPPL3_AS3SELONE | MBX1_TSPPL3_INVAS3 |
	 MBX1_TSPPL3_AS4SELDIFFUSEALPHA)
	 ,
	 /* GL_LUMINANCE : GL_REPLACE - C=Ltex, A=Adiff */
	(MBX1_TSPPL3_CS1SELONE |
	 MBX1_TSPPL3_CS2SELTEXTURE | 
	 MBX1_TSPPL3_CS3SELONE | MBX1_TSPPL3_INVCS3 |
	 MBX1_TSPPL3_CS4SELDIFFUSE | 
	 MBX1_TSPPL3_AS1SELONE | 
	 MBX1_TSPPL3_AS2SELDIFFUSEALPHA | 
	 MBX1_TSPPL3_AS3SELONE | MBX1_TSPPL3_INVAS3 |
	 MBX1_TSPPL3_AS4SELDIFFUSEALPHA)
	 ,
	 /* GL_LUMINANCE : GL_ADD - C=Cdiff+Ltex, A=Adiff */
	(MBX1_TSPPL3_CS1SELONE |
	 MBX1_TSPPL3_CS2SELDIFFUSE | 
	 MBX1_TSPPL3_CS3SELONE | 
	 MBX1_TSPPL3_CS4SELTEXTURE | 
	 MBX1_TSPPL3_AS1SELONE | 
	 MBX1_TSPPL3_AS2SELDIFFUSEALPHA | 
	 MBX1_TSPPL3_AS3SELONE | MBX1_TSPPL3_INVAS3 |
	 MBX1_TSPPL3_AS4SELDIFFUSEALPHA)
}
,
	/* GL_LUMINANCE_ALPHA : GL_MODULATE - C=Cdiff*Ltex, A=Adiff*Atex */
{	(MBX1_TSPPL3_CS1SELTEXTURE |
	 MBX1_TSPPL3_CS2SELDIFFUSE | 
	 MBX1_TSPPL3_CS3SELONE | MBX1_TSPPL3_INVCS3 |
	 MBX1_TSPPL3_CS4SELDIFFUSE | 
	 MBX1_TSPPL3_AS1SELTEXTUREALPHA | 
	 MBX1_TSPPL3_AS2SELDIFFUSEALPHA | 
	 MBX1_TSPPL3_AS3SELONE | MBX1_TSPPL3_INVAS3 |
	 MBX1_TSPPL3_AS4SELDIFFUSEALPHA)
	 ,
 	/* GL_LUMINANCE_ALPHA : GL_DECAL - undefined in spec, do a replace */
	(MBX1_TSPPL3_CS1SELONE |
	 MBX1_TSPPL3_CS2SELTEXTURE | 
	 MBX1_TSPPL3_CS3SELONE | MBX1_TSPPL3_INVCS3 |
	 MBX1_TSPPL3_CS4SELDIFFUSE | 
	 MBX1_TSPPL3_AS1SELONE | 
	 MBX1_TSPPL3_AS2SELDIFFUSEALPHA | 
	 MBX1_TSPPL3_AS3SELONE | MBX1_TSPPL3_INVAS3 |
	 MBX1_TSPPL3_AS4SELDIFFUSEALPHA)
	 ,
	 /* GL_LUMINANCE_ALPHA : GL_BLEND - C=(1-Ltex)*Cdiff + Ltex*Cfactor, A=Adiff*Atex */
	(MBX1_TSPPL3_CS1SELTEXTURE | MBX1_TSPPL3_INVCS1 |
	 MBX1_TSPPL3_CS2SELDIFFUSE | 
	 MBX1_TSPPL3_CS3SELTEXTURE |
	 MBX1_TSPPL3_CS4SELFACTOR | 
	 MBX1_TSPPL3_AS1SELTEXTUREALPHA | 
	 MBX1_TSPPL3_AS2SELDIFFUSEALPHA | 
	 MBX1_TSPPL3_AS3SELONE | MBX1_TSPPL3_INVAS3 |
	 MBX1_TSPPL3_AS4SELDIFFUSEALPHA)
	 ,
	 /* GL_LUMINANCE_ALPHA : GL_REPLACE - C=Ltex, A=Atex */
	(MBX1_TSPPL3_CS1SELONE |
	 MBX1_TSPPL3_CS2SELTEXTURE | 
	 MBX1_TSPPL3_CS3SELONE | MBX1_TSPPL3_INVCS3 |
	 MBX1_TSPPL3_CS4SELDIFFUSE | 
	 MBX1_TSPPL3_AS1SELONE | 
	 MBX1_TSPPL3_AS2SELTEXTUREALPHA | 
	 MBX1_TSPPL3_AS3SELONE | MBX1_TSPPL3_INVAS3 |
	 MBX1_TSPPL3_AS4SELDIFFUSEALPHA)
	 ,
	 /* GL_LUMINANCE_ALPHA : GL_ADD - C=Cdiff+Ltex, A=Adiff*Atex */
	(MBX1_TSPPL3_CS1SELONE |
	 MBX1_TSPPL3_CS2SELDIFFUSE | 
	 MBX1_TSPPL3_CS3SELONE | 
	 MBX1_TSPPL3_CS4SELTEXTURE | 
	 MBX1_TSPPL3_AS1SELTEXTUREALPHA | 
	 MBX1_TSPPL3_AS2SELDIFFUSEALPHA | 
	 MBX1_TSPPL3_AS3SELONE | MBX1_TSPPL3_INVAS3 |
	 MBX1_TSPPL3_AS4SELDIFFUSEALPHA)
}
,
	/* GL_RGB : GL_MODULATE - C=Cdiff*Ctex, A=Adiff */
{	(MBX1_TSPPL3_CS1SELTEXTURE |
	 MBX1_TSPPL3_CS2SELDIFFUSE | 
	 MBX1_TSPPL3_CS3SELONE | MBX1_TSPPL3_INVCS3 |
	 MBX1_TSPPL3_CS4SELDIFFUSE | 
	 MBX1_TSPPL3_AS1SELONE | 
	 MBX1_TSPPL3_AS2SELDIFFUSEALPHA | 
	 MBX1_TSPPL3_AS3SELONE | MBX1_TSPPL3_INVAS3 |
	 MBX1_TSPPL3_AS4SELDIFFUSEALPHA)
	 ,
 	/* GL_RGB : GL_DECAL - C=Ctex, A=Adiff */
	(MBX1_TSPPL3_CS1SELONE |
	 MBX1_TSPPL3_CS2SELTEXTURE | 
	 MBX1_TSPPL3_CS3SELONE | MBX1_TSPPL3_INVCS3 |
	 MBX1_TSPPL3_CS4SELDIFFUSE | 
	 MBX1_TSPPL3_AS1SELONE | 
	 MBX1_TSPPL3_AS2SELDIFFUSEALPHA | 
	 MBX1_TSPPL3_AS3SELONE | MBX1_TSPPL3_INVAS3 |
	 MBX1_TSPPL3_AS4SELDIFFUSEALPHA)
	 ,
	 /* GL_RGB : GL_BLEND - C=(1-Ctex)*Cdiff + Ctex*Cfactor, A=Adiff */
	(MBX1_TSPPL3_CS1SELTEXTURE | MBX1_TSPPL3_INVCS1 |
	 MBX1_TSPPL3_CS2SELDIFFUSE | 
	 MBX1_TSPPL3_CS3SELTEXTURE |
	 MBX1_TSPPL3_CS4SELFACTOR | 
	 MBX1_TSPPL3_AS1SELONE |
	 MBX1_TSPPL3_AS2SELDIFFUSEALPHA | 
	 MBX1_TSPPL3_AS3SELONE | MBX1_TSPPL3_INVAS3 |
	 MBX1_TSPPL3_AS4SELDIFFUSEALPHA)
	 ,
	 /* GL_RGB : GL_REPLACE - C=Ctex, A=Adiff */
	(MBX1_TSPPL3_CS1SELONE |
	 MBX1_TSPPL3_CS2SELTEXTURE | 
	 MBX1_TSPPL3_CS3SELONE | MBX1_TSPPL3_INVCS3 |
	 MBX1_TSPPL3_CS4SELDIFFUSE | 
	 MBX1_TSPPL3_AS1SELONE | 
	 MBX1_TSPPL3_AS2SELDIFFUSEALPHA | 
	 MBX1_TSPPL3_AS3SELONE | MBX1_TSPPL3_INVAS3 |
	 MBX1_TSPPL3_AS4SELDIFFUSEALPHA)
	 ,
	 /* GL_RGB : GL_ADD - C=Cdiff+Ctex, A=Adiff */
	(MBX1_TSPPL3_CS1SELONE |
	 MBX1_TSPPL3_CS2SELDIFFUSE | 
	 MBX1_TSPPL3_CS3SELONE | 
	 MBX1_TSPPL3_CS4SELTEXTURE | 
	 MBX1_TSPPL3_AS1SELONE | 
	 MBX1_TSPPL3_AS2SELDIFFUSEALPHA | 
	 MBX1_TSPPL3_AS3SELONE | MBX1_TSPPL3_INVAS3 |
	 MBX1_TSPPL3_AS4SELDIFFUSEALPHA)
}
,
	/* GL_RGBA : GL_MODULATE - C=Cdiff*Ctex, A=Adiff*Atex */
{	(MBX1_TSPPL3_CS1SELTEXTURE |
	 MBX1_TSPPL3_CS2SELDIFFUSE | 
	 MBX1_TSPPL3_CS3SELONE | MBX1_TSPPL3_INVCS3 |
	 MBX1_TSPPL3_CS4SELDIFFUSE | 
	 MBX1_TSPPL3_AS1SELTEXTUREALPHA | 
	 MBX1_TSPPL3_AS2SELDIFFUSEALPHA | 
	 MBX1_TSPPL3_AS3SELONE | MBX1_TSPPL3_INVAS3 |
	 MBX1_TSPPL3_AS4SELDIFFUSEALPHA)
	 ,
 	/* GL_RGBA : GL_DECAL - C=Cdiff*(1-Atex) + Ctex*Atex, A=Adiff */
	(MBX1_TSPPL3_CS1SELTEXTURE |
	 MBX1_TSPPL3_CS2SELTEXTUREALPHA | 
	 MBX1_TSPPL3_CS3SELDIFFUSE |
	 MBX1_TSPPL3_CS4SELTEXTUREALPHA | MBX1_TSPPL3_INVCS4 |
	 MBX1_TSPPL3_AS1SELONE | 
	 MBX1_TSPPL3_AS2SELDIFFUSEALPHA | 
	 MBX1_TSPPL3_AS3SELONE | MBX1_TSPPL3_INVAS3 |
	 MBX1_TSPPL3_AS4SELDIFFUSEALPHA)
	 ,
	 /* GL_RGBA : GL_BLEND - C=(1-Ctex)*Cdiff + Ctex*Cfactor, A=Adiff*Atex */
	(MBX1_TSPPL3_CS1SELTEXTURE | MBX1_TSPPL3_INVCS1 |
	 MBX1_TSPPL3_CS2SELDIFFUSE | 
	 MBX1_TSPPL3_CS3SELTEXTURE |
	 MBX1_TSPPL3_CS4SELFACTOR | 
	 MBX1_TSPPL3_AS1SELTEXTUREALPHA | 
	 MBX1_TSPPL3_AS2SELDIFFUSEALPHA | 
	 MBX1_TSPPL3_AS3SELONE | MBX1_TSPPL3_INVAS3 |

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -