📄 vpbinding.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 + -