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

📄 vpbinding.h

📁 Lido PXA270平台开发板的最新BSP,包括源代码
💻 H
字号:
/**************************************************************************
 * Name         : vpbinding.h
 * Author       : BCB
 * Created      : 16/03/2004
 *
 * Copyright    : 2004 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: 2004/09/24 08:56:53 $ $Revision: 1.15 $
 * $Log: vpbinding.h $
 **************************************************************************/

#ifndef _VPBINDING_
#define _VPBINDING_

	
/* 
   bit description of the flags word in the header of the vertex program 

  Bit		Meaning

  0-3		VGP type
  4-15      Section types
  16-31		Platform type

*/
#define VGPFLAGS_TYPE_MASK	                   0x0000000F
#define VGPFLAGS_TYPE_SHIFT					   0x00000000
#define VGPFLAGS_TYPE_STANDARD                 0x00000000
#define VGPFLAGS_TYPE_VGPLITE                  0x00000001

#define VGPFLAGS_SECTIONTYPE_MASK 	           0x0000FFF0
#define VGPFLAGS_SECTIONTYPE_SHIFT             0x00000004
#define VGPFLAGS_SECTIONTYPE_PASSTHROUGH       0x00000001
#define VGPFLAGS_SECTIONTYPE_USERCODE          0x00000002
#define VGPFLAGS_SECTIONTYPE_FOGLINEAR         0x00000004
#define VGPFLAGS_SECTIONTYPE_FOGEXP            0x00000008
#define VGPFLAGS_SECTIONTYPE_FOGEXP2           0x00000010
#define VGPFLAGS_SECTIONTYPE_TEXLAYER1REDIRECT 0x00000020

#define VGPFLAGS_PLATFORM_MASK	               0xFFFF0000
#define VGPFLAGS_PLATFORM_SHIFT			       0x00000010
#define VGPFLAGS_PLATFORM_GENERIC              0x00000000
#define VGPFLAGS_PLATFORM_ARMVP                0x00000001


#define VGP_SECTIONDESC_UNDEFINED         0
#define VGP_SECTIONDESC_PASSTHROUGH       1
#define VGP_SECTIONDESC_USERCODE          2
#define VGP_SECTIONDESC_FOGLINEAR         3
#define VGP_SECTIONDESC_FOGEXP            4
#define VGP_SECTIONDESC_FOGEXP2           5
#define VGP_SECTIONDESC_TEXLAYER1REDIRECT 6

	
#define VGP_ATTRIBMAPPING_POSITION     0
#define VGP_ATTRIBMAPPING_NORMAL       1
#define VGP_ATTRIBMAPPING_COLOR        2
#define VGP_ATTRIBMAPPING_FOGCOORD     3
#define VGP_ATTRIBMAPPING_TEXCOORD     4
#define VGP_ATTRIBMAPPING_WEIGHT       5
#define VGP_ATTRIBMAPPING_MATRIX_INDEX 6

#define VGP_ATTRIBMAPPING_ATTRIB0      0
#define VGP_ATTRIBMAPPING_ATTRIB1      1
#define VGP_ATTRIBMAPPING_ATTRIB2      2
#define VGP_ATTRIBMAPPING_ATTRIB3      3
#define VGP_ATTRIBMAPPING_ATTRIB4      4
#define VGP_ATTRIBMAPPING_ATTRIB5      5
#define VGP_ATTRIBMAPPING_ATTRIB6      6
#define VGP_ATTRIBMAPPING_ATTRIB7      7


// 
// GLES_VP_BINDING_TYPE:  Enumeration of the complete set of variable bindings.
//
// Each binding has an associated array with either two integer indices holding more
// information on the binding, or 4 floating point values -- the comments below indicate what values
// should be stored in these two indices/4 floats for each binding.
// 
typedef enum {
    //												//  INDEX 0 HOLDS  INDEX 1 HOLDS
    //												//  -------------  -------------
    GLES_VP_BINDING_TEMP					= 1,	//  assigned reg   -
    
    GLES_VP_BINDING_VERTEX_ATTRIB			= 2,    //  attrib num     -
    GLES_VP_BINDING_VERTEX_POSITION			= 3,    //  -              -
    GLES_VP_BINDING_VERTEX_NORMAL			= 4,	//  -              -
    GLES_VP_BINDING_VERTEX_COLOR			= 5,	//  type (0-1)     -
    GLES_VP_BINDING_VERTEX_FOGCOORD			= 6,    //  -              -
    GLES_VP_BINDING_VERTEX_TEXCOORD			= 7,    //  texture unit   -
    GLES_VP_BINDING_VERTEX_WEIGHT			= 8,    //  weight number  -
    GLES_VP_BINDING_VERTEX_MATRIX_INDEX		= 9,    //  matrix number  -
    
    GLES_VP_BINDING_MATERIAL_AMBIENT		= 10,   //  face (0-1)     -
    GLES_VP_BINDING_MATERIAL_DIFFUSE		= 11,   //  face (0-1)     -
    GLES_VP_BINDING_MATERIAL_SPECULAR		= 12,   //  face (0-1)     -
    GLES_VP_BINDING_MATERIAL_EMISSION		= 13,   //  face (0-1)     -
    GLES_VP_BINDING_MATERIAL_SHININESS		= 14,   //  face (0-1)     -
    GLES_VP_BINDING_LIGHT_AMBIENT			= 15,   //  light number   -
    GLES_VP_BINDING_LIGHT_DIFFUSE			= 16,   //  light number   -
    GLES_VP_BINDING_LIGHT_SPECULAR			= 17,   //  light number   -
    GLES_VP_BINDING_LIGHT_POSITION			= 18,   //  light number   -
    GLES_VP_BINDING_LIGHT_ATTENUATION		= 19,   //  light number   -
    GLES_VP_BINDING_LIGHT_SPOT_DIRECTION	= 20,   //  light number   -
    GLES_VP_BINDING_LIGHT_HALF				= 21,   //  light number   -
    GLES_VP_BINDING_LIGHTMODEL_AMBIENT		= 22,   //  -              -
    GLES_VP_BINDING_LIGHTMODEL_SCENECOLOR	= 23,	//  face (0-1)     -
    GLES_VP_BINDING_LIGHTPROD_AMBIENT		= 24,   //  light number   face (0-1)
    GLES_VP_BINDING_LIGHTPROD_DIFFUSE		= 25,   //  light number   face (0-1)
    GLES_VP_BINDING_LIGHTPROD_SPECULAR		= 26,   //  light number   face (0-1)
    GLES_VP_BINDING_TEXGEN_EYE				= 27,   //  texture unit   component (0-3)
    GLES_VP_BINDING_TEXGEN_OBJECT			= 28,   //  texture unit   component (0-3)
    GLES_VP_BINDING_FOG_COLOR				= 29,   //  -              -
    GLES_VP_BINDING_FOG_PARAMS				= 30,   //  -              -
	GLES_VP_BINDING_SPECIAL_FOG_PARAMS	    = 31,   //  -              -
    GLES_VP_BINDING_CLIP_PLANE				= 32,   //  plane number   -
    GLES_VP_BINDING_CLIP_FRONT	     		= 33,   //  -              -
    GLES_VP_BINDING_CLIP_BACK				= 34,   //  -              -
    GLES_VP_BINDING_POINT_SIZE				= 35,   //  -              -
    GLES_VP_BINDING_POINT_ATTENUATION		= 36,   //  -              -
    GLES_VP_BINDING_MATRIX_MODELVIEW_ROW0	= 37,	//  matrix number  inverse/transp
    GLES_VP_BINDING_MATRIX_MODELVIEW_ROW1	= 38,	//  matrix number  inverse/transp
    GLES_VP_BINDING_MATRIX_MODELVIEW_ROW2	= 39,	//  matrix number  inverse/transp
    GLES_VP_BINDING_MATRIX_MODELVIEW_ROW3	= 40,	//  matrix number  inverse/transp
    GLES_VP_BINDING_MATRIX_PROJECTION_ROW0	= 41,	//  -              inverse/transp
    GLES_VP_BINDING_MATRIX_PROJECTION_ROW1	= 42,	//  -              inverse/transp
    GLES_VP_BINDING_MATRIX_PROJECTION_ROW2	= 43,	//  -              inverse/transp
    GLES_VP_BINDING_MATRIX_PROJECTION_ROW3	= 44,	//  -              inverse/transp
    GLES_VP_BINDING_MATRIX_MVP_ROW0			= 45,   //  -              inverse/transp
    GLES_VP_BINDING_MATRIX_MVP_ROW1			= 46,   //  -              inverse/transp
    GLES_VP_BINDING_MATRIX_MVP_ROW2			= 47,   //  -              inverse/transp
    GLES_VP_BINDING_MATRIX_MVP_ROW3			= 48,   //  -              inverse/transp
    GLES_VP_BINDING_MATRIX_TEXTURE_ROW0		= 49,   //  texture unit   inverse/transp
    GLES_VP_BINDING_MATRIX_TEXTURE_ROW1		= 50,   //  texture unit   inverse/transp
    GLES_VP_BINDING_MATRIX_TEXTURE_ROW2		= 51,   //  texture unit   inverse/transp
    GLES_VP_BINDING_MATRIX_TEXTURE_ROW3		= 52,   //  texture unit   inverse/transp
    GLES_VP_BINDING_MATRIX_PALETTE_ROW0		= 53,   //  matrix number  inverse/transp
    GLES_VP_BINDING_MATRIX_PALETTE_ROW1		= 54,   //  matrix number  inverse/transp
    GLES_VP_BINDING_MATRIX_PALETTE_ROW2		= 55,   //  matrix number  inverse/transp
    GLES_VP_BINDING_MATRIX_PALETTE_ROW3		= 56,   //  matrix number  inverse/transp
    GLES_VP_BINDING_MATRIX_PROGRAM_ROW0		= 57,   //  matrix number  inverse/transp
    GLES_VP_BINDING_MATRIX_PROGRAM_ROW1		= 58,   //  matrix number  inverse/transp
    GLES_VP_BINDING_MATRIX_PROGRAM_ROW2		= 59,   //  matrix number  inverse/transp
    GLES_VP_BINDING_MATRIX_PROGRAM_ROW3		= 60,   //  matrix number  inverse/transp
    GLES_VP_BINDING_PROGRAM_ENV				= 61,   //  parameter num  -
    GLES_VP_BINDING_PROGRAM_LOCAL			= 62,   //  parameter num  -

    GLES_VP_BINDING_CONSTANT				= 63,   //  value		   value			value		value

    GLES_VP_BINDING_RESULT					= 64,   //  result addr    -

    GLES_VP_BINDING_ADDRESS 				= 65,   //  register num   -

	GLES_VP_BINDING_RESULT_POSITION			= 66,	//  -

	GLES_VP_BINDING_RESULT_COLOR			= 67,	//  front/back(0-1)	Prim/Sec(0-1)
	
	GLES_VP_BINDING_RESULT_FOGCOORD			= 68,	//  -              -
	
	GLES_VP_BINDING_RESULT_TEXCOORD			= 69,	//  texture unit

	GLES_VP_BINDING_RESULT_POINTSIZE		= 70,	//  -

	GLES_VP_BINDING_RESULT_CLIP 		    = 71,	//  clip register

    GLES_VP_BINDING_UNINITIALIZED,

	GLES_VP_BINDING_END,
    
} GLES_VP_BINDING_TYPE;

#endif /* _VPBINDING_ */

⌨️ 快捷键说明

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