📄 arbprogram_syn.h
字号:
" \"a\" .emit COMPONENT_W .emit COMPONENT_W .emit COMPONENT_W .emit COMPONENT_W;\n"
"fp_component_single\n"
" xyzwComponent_single .or rgbaComponent_single;\n"
"vp_component_multi\n"
" 'x' .emit COMPONENT_X .or 'y' .emit COMPONENT_Y .or 'z' .emit COMPONENT_Z .or\n"
" 'w' .emit COMPONENT_W;\n"
"vp_component_single\n"
" \"x\" .emit COMPONENT_X .or \"y\" .emit COMPONENT_Y .or \"z\" .emit COMPONENT_Z .or\n"
" \"w\" .emit COMPONENT_W;\n"
"xyzwComponent_multi\n"
" 'x' .emit COMPONENT_X .or 'y' .emit COMPONENT_Y .or 'z' .emit COMPONENT_Z .or\n"
" 'w' .emit COMPONENT_W;\n"
"xyzwComponent_single\n"
" \"x\" .emit COMPONENT_X .or \"y\" .emit COMPONENT_Y .or \"z\" .emit COMPONENT_Z .or\n"
" \"w\" .emit COMPONENT_W;\n"
"rgbaComponent_multi\n"
" 'r' .emit COMPONENT_X .or 'g' .emit COMPONENT_Y .or 'b' .emit COMPONENT_Z .or\n"
" 'a' .emit COMPONENT_W;\n"
"rgbaComponent_single\n"
" \"r\" .emit COMPONENT_X .or \"g\" .emit COMPONENT_Y .or \"b\" .emit COMPONENT_Z .or\n"
" \"a\" .emit COMPONENT_W;\n"
"fp_optionalMask\n"
" rgbaMask .or xyzwMask .or .true .emit 0x0F;\n"
"vp_optionalMask\n"
" xyzwMask .or .true .emit 0x0F;\n"
"xyzwMask\n"
" dot_ne .and xyzwMask_1 .error INVALID_WRITEMASK;\n"
"xyzwMask_1\n"
" \"xyzw\" .emit 0x0F .or \"xyz\" .emit 0x0E .or \"xyw\" .emit 0x0D .or \"xy\" .emit 0x0C .or\n"
" \"xzw\" .emit 0x0B .or \"xz\" .emit 0x0A .or \"xw\" .emit 0x09 .or \"x\" .emit 0x08 .or\n"
" \"yzw\" .emit 0x07 .or \"yz\" .emit 0x06 .or \"yw\" .emit 0x05 .or \"y\" .emit 0x04 .or\n"
" \"zw\" .emit 0x03 .or \"z\" .emit 0x02 .or \"w\" .emit 0x01;\n"
"rgbaMask\n"
" dot_ne .and rgbaMask_1;\n"
"rgbaMask_1\n"
" \"rgba\" .emit 0x0F .or \"rgb\" .emit 0x0E .or \"rga\" .emit 0x0D .or \"rg\" .emit 0x0C .or\n"
" \"rba\" .emit 0x0B .or \"rb\" .emit 0x0A .or \"ra\" .emit 0x09 .or \"r\" .emit 0x08 .or\n"
" \"gba\" .emit 0x07 .or \"gb\" .emit 0x06 .or \"ga\" .emit 0x05 .or \"g\" .emit 0x04 .or\n"
" \"ba\" .emit 0x03 .or \"b\" .emit 0x02 .or \"a\" .emit 0x01;\n"
"fp_namingStatement\n"
" fp_ATTRIB_statement .emit ATTRIB .or\n"
" fp_PARAM_statement .emit PARAM .or\n"
" fp_TEMP_statement .emit TEMP .or\n"
" fp_OUTPUT_statement .emit OUTPUT .or\n"
" fp_ALIAS_statement .emit ALIAS;\n"
"vp_namingStatement\n"
" vp_ATTRIB_statement .emit ATTRIB .or\n"
" vp_PARAM_statement .emit PARAM .or\n"
" vp_TEMP_statement .emit TEMP .or\n"
" ADDRESS_statement .emit ADDRESS .or\n"
" vp_OUTPUT_statement .emit OUTPUT .or\n"
" vp_ALIAS_statement .emit ALIAS;\n"
"fp_ATTRIB_statement\n"
" \"ATTRIB\" .and space .and fp_establishName .and equal .and\n"
" fragAttribBinding .error FRAGMENT_EXPECTED;\n"
"vp_ATTRIB_statement\n"
" \"ATTRIB\" .and space .and vp_establishName .and equal .and\n"
" vtxAttribBinding .error VERTEX_EXPECTED;\n"
"fragAttribBinding\n"
" \"fragment\" .and dot .and fragAttribItem .error INVALID_FRAGMENT_PROPERTY;\n"
"vtxAttribBinding\n"
" \"vertex\" .and dot .and vtxAttribItem .error INVALID_VERTEX_PROPERTY;\n"
"fragAttribItem\n"
" fragAttribItem_1 .emit FRAGMENT_ATTRIB_COLOR .or\n"
" fragAttribItem_2 .emit FRAGMENT_ATTRIB_TEXCOORD .or\n"
" .if (fog_coord != 0x00) \"fogcoord\" .emit FRAGMENT_ATTRIB_FOGCOORD .or\n"
" \"position\" .emit FRAGMENT_ATTRIB_POSITION;\n"
"fragAttribItem_1\n"
" \"color\" .and optColorType;\n"
"fragAttribItem_2\n"
" \"texcoord\" .and optTexCoordNum;\n"
"vtxAttribItem\n"
" \"position\" .emit VERTEX_ATTRIB_POSITION .or\n"
" .if (vertex_blend != 0x00) vtxAttribItem_1 .emit VERTEX_ATTRIB_WEIGHT .or\n"
" \"normal\" .emit VERTEX_ATTRIB_NORMAL .or\n"
" vtxAttribItem_2 .emit VERTEX_ATTRIB_COLOR .or\n"
" \"fogcoord\" .emit VERTEX_ATTRIB_FOGCOORD .or\n"
" vtxAttribItem_3 .emit VERTEX_ATTRIB_TEXCOORD .or\n"
" .if (matrix_palette != 0x00) vtxAttribItem_4 .emit VERTEX_ATTRIB_MATRIXINDEX .or\n"
" vtxAttribItem_5 .emit VERTEX_ATTRIB_GENERIC;\n"
"vtxAttribItem_1\n"
" \"weight\" .and vtxOptWeightNum;\n"
"vtxAttribItem_2\n"
" \"color\" .and optColorType;\n"
"vtxAttribItem_3\n"
" \"texcoord\" .and optTexCoordNum;\n"
"vtxAttribItem_4\n"
" \"matrixindex\" .and lbracket .and vtxWeightNum .and rbracket;\n"
"vtxAttribItem_5\n"
" \"attrib\" .and lbracket .and vtxAttribNum .and rbracket;\n"
"vtxAttribNum\n"
" integer;\n"
"vtxOptWeightNum\n"
" vtxOptWeightNum_1 .or .true .emit 0x00;\n"
"vtxOptWeightNum_1\n"
" lbracket_ne .and vtxWeightNum .and rbracket;\n"
"vtxWeightNum\n"
" integer;\n"
"fp_PARAM_statement\n"
" fp_PARAM_multipleStmt .or fp_PARAM_singleStmt;\n"
"vp_PARAM_statement\n"
" vp_PARAM_multipleStmt .or vp_PARAM_singleStmt;\n"
"fp_PARAM_singleStmt\n"
" \"PARAM\" .and space .and fp_establishName .and .true .emit 0x00 .and fp_paramSingleInit .and\n"
" .true .emit PARAM_NULL;\n"
"vp_PARAM_singleStmt\n"
" \"PARAM\" .and space .and vp_establishName .and .true .emit 0x00 .and vp_paramSingleInit .and\n"
" .true .emit PARAM_NULL;\n"
"fp_PARAM_multipleStmt\n"
" \"PARAM\" .and space .and fp_establishName .and lbracket_ne .and optArraySize .and rbracket .and\n"
" fp_paramMultipleInit .and .true .emit PARAM_NULL;\n"
"vp_PARAM_multipleStmt\n"
" \"PARAM\" .and space .and vp_establishName .and lbracket_ne .and optArraySize .and rbracket .and\n"
" vp_paramMultipleInit .and .true .emit PARAM_NULL;\n"
"optArraySize\n"
" optional_integer;\n"
"fp_paramSingleInit\n"
" equal .and fp_paramSingleItemDecl;\n"
"vp_paramSingleInit\n"
" equal .and vp_paramSingleItemDecl;\n"
"fp_paramMultipleInit\n"
" equal .and lbrace .and fp_paramMultInitList .and rbrace;\n"
"vp_paramMultipleInit\n"
" equal .and lbrace .and vp_paramMultInitList .and rbrace;\n"
"fp_paramMultInitList\n"
" fp_paramMultInitList_1 .or fp_paramMultipleItem;\n"
"vp_paramMultInitList\n"
" vp_paramMultInitList_1 .or vp_paramMultipleItem;\n"
"fp_paramMultInitList_1\n"
" fp_paramMultipleItem .and comma_ne .and fp_paramMultInitList;\n"
"vp_paramMultInitList_1\n"
" vp_paramMultipleItem .and comma_ne .and vp_paramMultInitList;\n"
"fp_paramSingleItemDecl\n"
" fp_stateSingleItem .emit PARAM_STATE_ELEMENT .or\n"
" programSingleItem .emit PARAM_PROGRAM_ELEMENT .or\n"
" paramConstDecl .emit PARAM_CONSTANT;\n"
"vp_paramSingleItemDecl\n"
" vp_stateSingleItem .emit PARAM_STATE_ELEMENT .or\n"
" programSingleItem .emit PARAM_PROGRAM_ELEMENT .or\n"
" paramConstDecl .emit PARAM_CONSTANT;\n"
"fp_paramSingleItemUse\n"
" fp_stateSingleItem .emit PARAM_STATE_ELEMENT .or\n"
" programSingleItem .emit PARAM_PROGRAM_ELEMENT .or\n"
" paramConstUse .emit PARAM_CONSTANT;\n"
"vp_paramSingleItemUse\n"
" vp_stateSingleItem .emit PARAM_STATE_ELEMENT .or\n"
" programSingleItem .emit PARAM_PROGRAM_ELEMENT .or\n"
" paramConstUse .emit PARAM_CONSTANT;\n"
"fp_paramMultipleItem\n"
" fp_stateMultipleItem .emit PARAM_STATE_ELEMENT .or\n"
" programMultipleItem .emit PARAM_PROGRAM_ELEMENT .or\n"
" paramConstDecl .emit PARAM_CONSTANT;\n"
"vp_paramMultipleItem\n"
" vp_stateMultipleItem .emit PARAM_STATE_ELEMENT .or\n"
" programMultipleItem .emit PARAM_PROGRAM_ELEMENT .or\n"
" paramConstDecl .emit PARAM_CONSTANT;\n"
"fp_stateMultipleItem\n"
" stateMultipleItem_1 .or fp_stateSingleItem;\n"
"vp_stateMultipleItem\n"
" stateMultipleItem_1 .or vp_stateSingleItem;\n"
"stateMultipleItem_1\n"
" \"state\" .and dot .and stateMatrixRows .emit STATE_MATRIX_ROWS;\n"
"fp_stateSingleItem\n"
" \"state\" .and dot .and fp_stateSingleItem_1 .error INVALID_STATE_PROPERTY;\n"
"vp_stateSingleItem\n"
" \"state\" .and dot .and vp_stateSingleItem_1 .error INVALID_STATE_PROPERTY;\n"
"fp_stateSingleItem_1\n"
" stateSingleItem_1 .or stateSingleItem_2 .or stateSingleItem_3 .or stateSingleItem_4 .or\n"
" stateSingleItem_5 .or stateSingleItem_7 .or stateSingleItem_8 .or stateSingleItem_11;\n"
"vp_stateSingleItem_1\n"
" stateSingleItem_1 .or stateSingleItem_2 .or stateSingleItem_3 .or stateSingleItem_4 .or\n"
" stateSingleItem_6 .or stateSingleItem_7 .or stateSingleItem_9 .or stateSingleItem_10 .or\n"
" stateSingleItem_11;\n"
"stateSingleItem_1\n"
" stateMaterialItem .emit STATE_MATERIAL;\n"
"stateSingleItem_2\n"
" stateLightItem .emit STATE_LIGHT;\n"
"stateSingleItem_3\n"
" stateLightModelItem .emit STATE_LIGHT_MODEL;\n"
"stateSingleItem_4\n"
" stateLightProdItem .emit STATE_LIGHT_PROD;\n"
"stateSingleItem_5\n"
" stateTexEnvItem .emit STATE_TEX_ENV;\n"
"stateSingleItem_6\n"
" stateTexGenItem .emit STATE_TEX_GEN;\n"
"stateSingleItem_7\n"
" stateFogItem .emit STATE_FOG;\n"
"stateSingleItem_8\n"
" stateDepthItem .emit STATE_DEPTH;\n"
"stateSingleItem_9\n"
" stateClipPlaneItem .emit STATE_CLIP_PLANE;\n"
"stateSingleItem_10\n"
" statePointItem .emit STATE_POINT;\n"
"stateSingleItem_11\n"
" stateMatrixRow .emit STATE_MATRIX_ROWS;\n"
"stateMaterialItem\n"
" \"material\" .and optFaceType .and dot .and stateMatProperty .error INVALID_MATERIAL_PROPERTY;\n"
"stateMatProperty\n"
" \"ambient\" .emit MATERIAL_AMBIENT .or\n"
" \"diffuse\" .emit MATERIAL_DIFFUSE .or\n"
" \"specular\" .emit MATERIAL_SPECULAR .or\n"
" \"emission\" .emit MATERIAL_EMISSION .or\n"
" \"shininess\" .emit MATERIAL_SHININESS;\n"
"stateLightItem\n"
" \"light\" .and lbracket .and stateLightNumber .and rbracket .and dot .and\n"
" stateLightProperty .error INVALID_LIGHT_PROPERTY;\n"
"stateLightProperty\n"
" \"ambient\" .emit LIGHT_AMBIENT .or\n"
" \"diffuse\" .emit LIGHT_DIFFUSE .or\n"
" \"specular\" .emit LIGHT_SPECULAR .or\n"
" \"position\" .emit LIGHT_POSITION .or\n"
" \"attenuation\" .emit LIGHT_ATTENUATION .or\n"
" stateLightProperty_1 .emit LIGHT_SPOT_DIRECTION .or\n"
" \"half\" .emit LIGHT_HALF;\n"
"stateLightProperty_1\n"
" \"spot\" .and dot .and stateSpotProperty .error INVALID_SPOT_PROPERTY;\n"
"stateSpotProperty\n"
" \"direction\";\n"
"stateLightModelItem\n"
" \"lightmodel\" .and stateLModProperty .error INVALID_LIGHTMODEL_PROPERTY;\n"
"stateLModProperty\n"
" stateLModProperty_1 .or stateLModProperty_2;\n"
"stateLModProperty_1\n"
" dot .and \"ambient\" .emit LIGHT_MODEL_AMBIENT;\n"
"stateLModProperty_2\n"
" stateLModProperty_3 .emit LIGHT_MODEL_SCENECOLOR;\n"
"stateLModProperty_3\n"
" optFaceType .and dot .and \"scenecolor\";\n"
"stateLightProdItem\n"
" \"lightprod\" .and lbracket .and stateLightNumber .and rbracket .and optFaceType .and dot .and\n"
" stateLProdProperty .error INVALID_LIGHTPROD_PROPERTY;\n"
"stateLProdProperty\n"
" \"ambient\" .emit LIGHT_PROD_AMBIENT .or\n"
" \"diffuse\" .emit LIGHT_PROD_DIFFUSE .or\n"
" \"specular\" .emit LIGHT_PROD_SPECULAR;\n"
"stateLightNumber\n"
" integer;\n"
"stateTexEnvItem\n"
" \"texenv\" .and optLegacyTexUnitNum .and dot .and\n"
" stateTexEnvProperty .error INVALID_TEXENV_PROPERTY;\n"
"stateTexEnvProperty\n"
" \"color\" .emit TEX_ENV_COLOR;\n"
"optLegacyTexUnitNum\n"
" lbracket_ne .and legacyTexUnitNum .and rbracket;\n"
"legacyTexUnitNum\n"
" integer;\n"
"stateTexGenItem\n"
" \"texgen\" .and optTexCoordNum .and dot .and stateTexGenType .error INVALID_TEXGEN_PROPERTY .and\n"
" dot .and stateTexGenCoord .error INVALID_TEXGEN_COORD;\n"
"stateTexGenType\n"
" \"eye\" .emit TEX_GEN_EYE .or\n"
" \"object\" .emit TEX_GEN_OBJECT;\n"
"stateTexGenCoord\n"
" \"s\" .emit COMPONENT_X .or\n"
" \"t\" .emit COMPONENT_Y .or\n"
" \"r\" .emit COMPONENT_Z .or\n"
" \"q\" .emit COMPONENT_W;\n"
"stateFogItem\n"
" \"fog\" .and dot .and stateFogProperty .error INVALID_FOG_PROPERTY;\n"
"stateFogProperty\n"
" \"color\" .emit FOG_COLOR .or\n"
" \"params\" .emit FOG_PARAMS;\n"
"stateDepthItem\n"
" \"depth\" .and dot .and stateDepthProperty .error INVALID_DEPTH_PROPERTY;\n"
"stateDepthProperty\n"
" \"range\" .emit DEPTH_RANGE;\n"
"stateClipPlaneItem\n"
" \"clip\" .and lbracket .and stateClipPlaneNum .and rbracket .and dot .and\n"
" \"plane\" .error INVALID_CLIPPLANE_PROPERTY;\n"
"stateClipPlaneNum\n"
" integer;\n"
"statePointItem\n"
" \"point\" .and dot .and statePointProperty .error INVALID_POINT_PROPERTY;\n"
"statePointProperty\n"
" \"size\" .emit POINT_SIZE .or\n"
" .if (point_parameters != 0x00) \"attenuation\" .emit POINT_ATTENUATION;\n"
"stateMatrixRow\n"
" stateMatrixItem .and dot .and \"row\" .error MATRIX_ROW_SELECTOR_OR_MODIFIER_EXPECTED .and\n"
" lbracket .and stateMatrixRowNum .and rbracket .emit 0x0;\n"
"stateMatrixRows\n"
" stateMatrixItem .and optMatrixRows;\n"
"optMatrixRows\n"
" optMatrixRows_1 .or .true .emit 0x0 .emit '3' .emit 0x0 .emit $;\n"
"optMatrixRows_1\n"
" dot_ne .and \"row\" .error MATRIX_ROW_SELECTOR_OR_MODIFIER_EXPECTED .and lbracket .and\n"
" stateMatrixRowNum .and dotdot .and stateMatrixRowNum .and rbracket;\n"
"stateMatrixItem\n"
" \"matrix\" .and dot .and stateMatrixName .error INVALID_MATRIX_NAME .and stateOptMatModifier;\n"
"stateOptMatModifier\n"
" stateOptMatModifier_1 .or .true .emit MATRIX_MODIFIER_IDENTITY;\n"
"stateOptMatModifier_1\n"
" dot_ne .and stateMatModifier;\n"
"stateMatModifier\n"
" \"inverse\" .emit MATRIX_MODIFIER_INVERSE .or\n"
" \"transpose\" .emit MATRIX_MODIFIER_TRANSPOSE .or\n"
" \"invtrans\" .emit MATRIX_MODIFIER_INVTRANS;\n"
"stateMatrixRowNum\n"
" integer_0_3;\n"
"stateMatrixName\n"
" stateMatrixName_1_1 .emit MATRIX_MODELVIEW .or\n"
" \"projection\" .emit MATRIX_PROJECTION .or\n"
" \"mvp\" .emit MATRIX_MVP .or\n"
" stateMatrixName_1_2 .emit MATRIX_TEXTURE .or\n"
" .if (matrix_palette != 0x00) stateMatrixName_1_3 .emit MATRIX_PALETTE .or\n"
" stateMatrixName_1_4 .emit MATRIX_PROGRAM;\n"
"stateMatrixName_1_1\n"
" \"modelview\" .and stateOptModMatNum;\n"
"stateMatrixName_1_2\n"
" \"texture\" .and optTexCoordNum;\n"
"stateMatrixName_1_3\n"
" \"palette\" .and lbracket .and statePaletteMatNum .and rbracket;\n"
"stateMatrixName_1_4\n"
" \"program\" .and lbracket .and stateProgramMatNum .and rbracket;\n"
"stateOptModMatNum\n"
" .if (vertex_blend != 0x00) stateOptModMatNum_1 .or\n"
" .true .emit 0x00;\n"
"stateOptModMatNum_1\n"
" lbracket_ne .and stateModMatNum .and rbracket;\n"
"stateModMatNum\n"
" integer;\n"
"optTexCoordNum\n"
" optTexCoordNum_1 .or .true .emit 0x00;\n"
"optTexCoordNum_1\n"
" lbracket_ne .and texCoordNum .and rbracket;\n"
"texCoordNum\n"
" integer;\n"
"statePaletteMatNum\n"
" integer;\n"
"stateProgramMatNum\n"
" integer;\n"
"programSingleItem\n"
" \"program\" .and dot .and programSingleItem_1 .error INVALID_PROGRAM_PROPERTY;\n"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -