diff options
author | Ben Murdoch <benm@google.com> | 2013-08-07 11:04:47 +0100 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2013-08-07 11:04:47 +0100 |
commit | 3240926e260ce088908e02ac07a6cf7b0c0cbf44 (patch) | |
tree | 5ff5fa16b2fb9278c6d731b3d19123731f3f8626 /third_party | |
parent | 3b21a50ee4fe6f71bb117cbee9998a4f465eea9d (diff) | |
download | chromium_org-3240926e260ce088908e02ac07a6cf7b0c0cbf44.tar.gz |
Merge from Chromium at DEPS revision r216133
This commit was generated by merge_to_master.py.
Change-Id: I541d5d1d8520b6b3829fbc1fa18552bf9ad4a5c7
Diffstat (limited to 'third_party')
94 files changed, 220 insertions, 23804 deletions
diff --git a/third_party/gles2_book/Chapter_10/MultiTexture/MultiTexture.c b/third_party/gles2_book/Chapter_10/MultiTexture/MultiTexture.c deleted file mode 100644 index dc8c190dba..0000000000 --- a/third_party/gles2_book/Chapter_10/MultiTexture/MultiTexture.c +++ /dev/null @@ -1,213 +0,0 @@ -// -// Book: OpenGL(R) ES 2.0 Programming Guide -// Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner -// ISBN-10: 0321502795 -// ISBN-13: 9780321502797 -// Publisher: Addison-Wesley Professional -// URLs: http://safari.informit.com/9780321563835 -// http://www.opengles-book.com -// - -// MultiTexture.c -// -// This is an example that draws a quad with a basemap and -// lightmap to demonstrate multitexturing. -// -#include <stdlib.h> -#include "esUtil.h" - -typedef struct -{ - // Handle to a program object - GLuint programObject; - - // Attribute locations - GLint positionLoc; - GLint texCoordLoc; - - // Sampler locations - GLint baseMapLoc; - GLint lightMapLoc; - - // Texture handle - GLuint baseMapTexId; - GLuint lightMapTexId; - -} UserData; - - -/// -// Load texture from disk -// -GLuint LoadTexture ( char *fileName ) -{ - int width, - height; - char *buffer = esLoadTGA ( fileName, &width, &height ); - GLuint texId; - - if ( buffer == NULL ) - { - esLogMessage ( "Error loading (%s) image.\n", fileName ); - return 0; - } - - glGenTextures ( 1, &texId ); - glBindTexture ( GL_TEXTURE_2D, texId ); - - glTexImage2D ( GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, buffer ); - glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); - glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); - glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE ); - glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE ); - - free ( buffer ); - - return texId; -} - - - -/// -// Initialize the shader and program object -// -int Init ( ESContext *esContext ) -{ - UserData *userData = esContext->userData; - GLbyte vShaderStr[] = - "attribute vec4 a_position; \n" - "attribute vec2 a_texCoord; \n" - "varying vec2 v_texCoord; \n" - "void main() \n" - "{ \n" - " gl_Position = a_position; \n" - " v_texCoord = a_texCoord; \n" - "} \n"; - - GLbyte fShaderStr[] = - "precision mediump float; \n" - "varying vec2 v_texCoord; \n" - "uniform sampler2D s_baseMap; \n" - "uniform sampler2D s_lightMap; \n" - "void main() \n" - "{ \n" - " vec4 baseColor; \n" - " vec4 lightColor; \n" - " \n" - " baseColor = texture2D( s_baseMap, v_texCoord ); \n" - " lightColor = texture2D( s_lightMap, v_texCoord ); \n" - " gl_FragColor = baseColor * (lightColor + 0.25); \n" - "} \n"; - - // Load the shaders and get a linked program object - userData->programObject = esLoadProgram ( vShaderStr, fShaderStr ); - - // Get the attribute locations - userData->positionLoc = glGetAttribLocation ( userData->programObject, "a_position" ); - userData->texCoordLoc = glGetAttribLocation ( userData->programObject, "a_texCoord" ); - - // Get the sampler location - userData->baseMapLoc = glGetUniformLocation ( userData->programObject, "s_baseMap" ); - userData->lightMapLoc = glGetUniformLocation ( userData->programObject, "s_lightMap" ); - - // Load the textures - userData->baseMapTexId = LoadTexture ( "basemap.tga" ); - userData->lightMapTexId = LoadTexture ( "lightmap.tga" ); - - if ( userData->baseMapTexId == 0 || userData->lightMapTexId == 0 ) - return FALSE; - - glClearColor ( 0.0f, 0.0f, 0.0f, 0.0f ); - return TRUE; -} - -/// -// Draw a triangle using the shader pair created in Init() -// -void Draw ( ESContext *esContext ) -{ - UserData *userData = esContext->userData; - GLfloat vVertices[] = { -0.5f, 0.5f, 0.0f, // Position 0 - 0.0f, 0.0f, // TexCoord 0 - -0.5f, -0.5f, 0.0f, // Position 1 - 0.0f, 1.0f, // TexCoord 1 - 0.5f, -0.5f, 0.0f, // Position 2 - 1.0f, 1.0f, // TexCoord 2 - 0.5f, 0.5f, 0.0f, // Position 3 - 1.0f, 0.0f // TexCoord 3 - }; - GLushort indices[] = { 0, 1, 2, 0, 2, 3 }; - - // Set the viewport - glViewport ( 0, 0, esContext->width, esContext->height ); - - // Clear the color buffer - glClear ( GL_COLOR_BUFFER_BIT ); - - // Use the program object - glUseProgram ( userData->programObject ); - - // Load the vertex position - glVertexAttribPointer ( userData->positionLoc, 3, GL_FLOAT, - GL_FALSE, 5 * sizeof(GLfloat), vVertices ); - // Load the texture coordinate - glVertexAttribPointer ( userData->texCoordLoc, 2, GL_FLOAT, - GL_FALSE, 5 * sizeof(GLfloat), &vVertices[3] ); - - glEnableVertexAttribArray ( userData->positionLoc ); - glEnableVertexAttribArray ( userData->texCoordLoc ); - - // Bind the base map - glActiveTexture ( GL_TEXTURE0 ); - glBindTexture ( GL_TEXTURE_2D, userData->baseMapTexId ); - - // Set the base map sampler to texture unit to 0 - glUniform1i ( userData->baseMapLoc, 0 ); - - // Bind the light map - glActiveTexture ( GL_TEXTURE1 ); - glBindTexture ( GL_TEXTURE_2D, userData->lightMapTexId ); - - // Set the light map sampler to texture unit 1 - glUniform1i ( userData->lightMapLoc, 1 ); - - glDrawElements ( GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, indices ); - - eglSwapBuffers ( esContext->eglDisplay, esContext->eglSurface ); -} - -/// -// Cleanup -// -void ShutDown ( ESContext *esContext ) -{ - UserData *userData = esContext->userData; - - // Delete texture object - glDeleteTextures ( 1, &userData->baseMapTexId ); - glDeleteTextures ( 1, &userData->lightMapTexId ); - - // Delete program object - glDeleteProgram ( userData->programObject ); -} - - -int main ( int argc, char *argv[] ) -{ - ESContext esContext; - UserData userData; - - esInitContext ( &esContext ); - esContext.userData = &userData; - - esCreateWindow ( &esContext, "MultiTexture", 320, 240, ES_WINDOW_RGB ); - - if ( !Init ( &esContext ) ) - return 0; - - esRegisterDrawFunc ( &esContext, Draw ); - - esMainLoop ( &esContext ); - - ShutDown ( &esContext ); -} diff --git a/third_party/gles2_book/Chapter_10/MultiTexture/basemap.tga b/third_party/gles2_book/Chapter_10/MultiTexture/basemap.tga Binary files differdeleted file mode 100644 index 8acafae236..0000000000 --- a/third_party/gles2_book/Chapter_10/MultiTexture/basemap.tga +++ /dev/null diff --git a/third_party/gles2_book/Chapter_10/MultiTexture/lightmap.tga b/third_party/gles2_book/Chapter_10/MultiTexture/lightmap.tga Binary files differdeleted file mode 100644 index d95b262837..0000000000 --- a/third_party/gles2_book/Chapter_10/MultiTexture/lightmap.tga +++ /dev/null diff --git a/third_party/gles2_book/Chapter_10/RM_AlphaTest/RM_AlphaTest.rfx b/third_party/gles2_book/Chapter_10/RM_AlphaTest/RM_AlphaTest.rfx deleted file mode 100644 index 4cb98eb748..0000000000 --- a/third_party/gles2_book/Chapter_10/RM_AlphaTest/RM_AlphaTest.rfx +++ /dev/null @@ -1,1050 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<!DOCTYPE RENDER_MONKEY [ - <!ELEMENT RENDER_MONKEY - ( - RmEffectWorkspace | - RmRegistryBranch | - RmClipboardNode - )?> - - <!ELEMENT RmEffectWorkspace - ( - RmRegistryBranch?, - RmPlugInData?, - RmStringVariable*, - ( - ( RmDirectXEffect, RmOpenGLEffect?, RmOpenGLESEffect? ) | - ( RmOpenGLEffect, RmDirectXEffect?, RmOpenGLESEffect? ) | - ( RmOpenGLESEffect, RmDirectXEffect?, RmOpenGLEffect? ) - )?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmEffectGroup - )* - )> - - <!ELEMENT RmEffectGroup - ( - RmPlugInData?, - ( - RmStringVariable | - RmDirectXEffect | - RmOpenGLEffect | - RmOpenGLESEffect | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData - )* - )> - - <!ELEMENT RmDirectXEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmPass - )* - )> - - <!ELEMENT RmOpenGLEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmGLPass - )* - )> - - <!ELEMENT RmOpenGLESEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmGLESPass - )* - )> - - <!ELEMENT RmPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( - ( RmHLSLShader | RmShader ), - ( RmShader | RmHLSLShader )? - ) - )?, - RmRenderTarget*, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject - )* - )> - - <!ELEMENT RmGLPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( RmGLShader, RmGLShader? ) - )?, - RmRenderTarget?, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmGLESPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( RmGLESShader, RmGLESShader? ) - )?, - RmRenderTarget?, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable | - RmShaderConstant - )* - )> - - <!ELEMENT RmHLSLShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmGLShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable - )* - )> - - <!ELEMENT RmGLESShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable - )* - )> - - <!ELEMENT RmTextureObject - ( - RmPlugInData?, - RmStringVariable*, - RmTextureReference?, - RmState* - )> - - <!ELEMENT RmLightObject - ( - RmPlugInData?, - RmStringVariable*, - RmLightReference? - )> - - <!ELEMENT RmMaterialObject - ( - RmPlugInData?, - RmStringVariable*, - RmMaterialReference? - )> - - <!ELEMENT RmRenderStateBlock - ( - RmPlugInData?, - ( - RmStringVariable | - RmState - )* - )> - - <!ELEMENT RmStreamMap - ( - RmPlugInData?, - ( - RmStringVariable | - RmStream - )* - )> - - <!ELEMENT RmStream ( RmPlugInData?, RmStreamChannel* )> - - <!ELEMENT RmModelData ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmTextureReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmLightReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmMaterialReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmCameraReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmModelReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmStreamMapReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmRenderableTexture ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmRenderTarget ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmBooleanVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmFloatVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmVectorVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmMatrixVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmColorVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmIntegerVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT Rm2DTextureVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmCubemapVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT Rm3DTextureVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmLightVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmMaterialVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmCamera ( RmPlugInData?, RmStringVariable* )> - - <!ELEMENT RmStringVariable ( RmTextDataBlock, RmPlugInData? )> - - <!ELEMENT RmDynamicVariable - ( - RmDynamicVariableValueContainer, - RmPlugInData?, - RmStringVariable? - )> - - <!ELEMENT RmDynamicVariableValueContainer - ( - RmPlugInData?, - RmDynamicVariableValue* - )> - - <!ELEMENT RmTextDataBlock ( #PCDATA ) > - - <!ELEMENT RmRegistryBranch - ( - RmTextDataBlock?, - ( - RmRegistryBranch | - RmStringVariable | - RmIntegerVariable | - RmBooleanVariable | - RmFloatVariable - )* - )> - - <!ELEMENT RmPlugInData - ( - RmTextDataBlock?, - ( - RmStringVariable | - RmIntegerVariable | - RmBooleanVariable | - RmFloatVariable | - RmVectorVariable - )* - )> - - <!ELEMENT RmClipboardNode - ( - RmTextDataBlock?, - ( - RmEffectWorkspace | - RmEffectGroup | - RmDirectXEffect | - RmOpenGLEffect | - RmOpenGLESEffect | - RmPass | - RmGLPass | - RmGLESPass | - RmShader | - RmHLSLShader | - RmGLShader | - RmGLESShader | - RmShaderConstant | - RmSampler | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmRenderStateBlock | - RmState | - RmStreamMap | - RmStream | - RmStreamChannel | - RmModelData | - RmTextureReference | - RmLightReference | - RmMaterialReference | - RmModelReference | - RmStreamMapReference | - RmRenderableTexture | - RmRenderTarget | - RmBooleanVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmDynamicVariableValue | - RmColorVariable | - RmIntegerVariable | - RmStringVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRegistryBranch | - RmPlugInData | - RmCamera | - RmCameraReference - )* - )> - - <!ELEMENT RmStreamChannel ( RmPlugInData? ) > - <!ELEMENT RmShaderConstant ( RmPlugInData? ) > - <!ELEMENT RmSampler ( RmPlugInData? ) > - <!ELEMENT RmState ( RmPlugInData? ) > - <!ELEMENT RmDynamicVariableValue ( RmPlugInData? ) > - - <!ELEMENT RmShaderCode ( #PCDATA ) > - - <!ATTLIST RmEffectWorkspace - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_EFFECT CDATA #REQUIRED - VALIDATION_STRING CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmEffectGroup - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmDirectXEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmOpenGLEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmOpenGLESEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLESPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER CDATA #REQUIRED - > - - <!ATTLIST RmHLSLShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - TARGET CDATA #REQUIRED - ENTRY_POINT CDATA #REQUIRED - COMPILER_FLAGS CDATA #REQUIRED - > - - <!ATTLIST RmGLShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLESShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShaderConstant - NAME CDATA #REQUIRED - API CDATA #REQUIRED - REGISTER CDATA #REQUIRED - > - - <!ATTLIST RmSampler - NAME CDATA #REQUIRED - API CDATA #REQUIRED - REGISTER CDATA #REQUIRED - > - - <!ATTLIST RmTextureObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STATE_INDEX CDATA #REQUIRED - VERTEX_TEXTURE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmLightObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - > - - <!ATTLIST RmMaterialObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - > - - <!ATTLIST RmRenderStateBlock - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmState - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STATE CDATA #REQUIRED - VALUE CDATA #REQUIRED - USAGE CDATA #REQUIRED - > - - <!ATTLIST RmStreamMap - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmStream - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STRIDE CDATA #REQUIRED - > - - <!ATTLIST RmStreamChannel - NAME CDATA #REQUIRED - API CDATA #REQUIRED - DATA_SIZE CDATA #REQUIRED - DATA_TYPE CDATA #REQUIRED - REGISTER CDATA #REQUIRED - USAGE CDATA #REQUIRED - USAGE_INDEX CDATA #REQUIRED - ATTRIBUTE_NAME CDATA #REQUIRED - > - - <!ATTLIST RmModelData - NAME CDATA #REQUIRED - API CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIENTATION CDATA #REQUIRED - > - - <!ATTLIST RmTextureReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmLightReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmMaterialReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmModelReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmStreamMapReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmRenderableTexture - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - WIDTH CDATA #REQUIRED - HEIGHT CDATA #REQUIRED - FORMAT CDATA #REQUIRED - USE_VIEWPORT_DIMENSIONS ( TRUE | FALSE ) #REQUIRED - GENERATE_MIPMAPS ( TRUE | FALSE ) #REQUIRED - WIDTH_RATIO CDATA #REQUIRED - HEIGHT_RATIO CDATA #REQUIRED - > - - <!ATTLIST RmRenderTarget - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - RENDER_TO_SCREEN ( TRUE | FALSE ) #REQUIRED - COLOR_CLEAR ( TRUE | FALSE ) #REQUIRED - DEPTH_CLEAR ( TRUE | FALSE ) #REQUIRED - CLEAR_COLOR_VALUE CDATA #REQUIRED - DEPTH_CLEAR_VALUE CDATA #REQUIRED - > - - <!ATTLIST RmBooleanVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - > - - <!ATTLIST RmFloatVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmVectorVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - NORMALIZE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmMatrixVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - VALUE_4 CDATA #REQUIRED - VALUE_5 CDATA #REQUIRED - VALUE_6 CDATA #REQUIRED - VALUE_7 CDATA #REQUIRED - VALUE_8 CDATA #REQUIRED - VALUE_9 CDATA #REQUIRED - VALUE_10 CDATA #REQUIRED - VALUE_11 CDATA #REQUIRED - VALUE_12 CDATA #REQUIRED - VALUE_13 CDATA #REQUIRED - VALUE_14 CDATA #REQUIRED - VALUE_15 CDATA #REQUIRED - > - - <!ATTLIST RmDynamicVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VARIABLE_TYPE ( FLOAT | INTEGER | BOOLEAN ) #REQUIRED - ROWS CDATA #REQUIRED - COLUMNS CDATA #REQUIRED - FIXED_SIZE ( TRUE | FALSE ) #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - NORMALIZE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmDynamicVariableValue - ROW_INDEX CDATA #REQUIRED - COLUMN_INDEX CDATA #REQUIRED - VALUE CDATA #REQUIRED - > - - <!ATTLIST RmColorVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - > - - <!ATTLIST RmIntegerVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmStringVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - > - - <!ATTLIST Rm2DTextureVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST RmCubemapVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST Rm3DTextureVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST RmLightVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - LIGHT_ENABLED ( TRUE | FALSE ) #REQUIRED - LIGHT_TYPE ( POSITIONAL | DIRECTIONAL | SPOTLIGHT ) #REQUIRED - AMBIENT_0 CDATA #REQUIRED - AMBIENT_1 CDATA #REQUIRED - AMBIENT_2 CDATA #REQUIRED - AMBIENT_3 CDATA #REQUIRED - DIFFUSE_0 CDATA #REQUIRED - DIFFUSE_1 CDATA #REQUIRED - DIFFUSE_2 CDATA #REQUIRED - DIFFUSE_3 CDATA #REQUIRED - SPECULAR_0 CDATA #REQUIRED - SPECULAR_1 CDATA #REQUIRED - SPECULAR_2 CDATA #REQUIRED - SPECULAR_3 CDATA #REQUIRED - POSITION_0 CDATA #REQUIRED - POSITION_1 CDATA #REQUIRED - POSITION_2 CDATA #REQUIRED - DIRECTION_0 CDATA #REQUIRED - DIRECTION_1 CDATA #REQUIRED - DIRECTION_2 CDATA #REQUIRED - ATTENUATION_0 CDATA #REQUIRED - ATTENUATION_1 CDATA #REQUIRED - ATTENUATION_2 CDATA #REQUIRED - SPOTLIGHT_THETA CDATA #REQUIRED - SPOTLIGHT_PHI CDATA #REQUIRED - RANGE CDATA #REQUIRED - FALLOFF CDATA #REQUIRED - > - - <!ATTLIST RmMaterialVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - AMBIENT_0 CDATA #REQUIRED - AMBIENT_1 CDATA #REQUIRED - AMBIENT_2 CDATA #REQUIRED - AMBIENT_3 CDATA #REQUIRED - DIFFUSE_0 CDATA #REQUIRED - DIFFUSE_1 CDATA #REQUIRED - DIFFUSE_2 CDATA #REQUIRED - DIFFUSE_3 CDATA #REQUIRED - SPECULAR_0 CDATA #REQUIRED - SPECULAR_1 CDATA #REQUIRED - SPECULAR_2 CDATA #REQUIRED - SPECULAR_3 CDATA #REQUIRED - EMISSIVE_0 CDATA #REQUIRED - EMISSIVE_1 CDATA #REQUIRED - EMISSIVE_2 CDATA #REQUIRED - EMISSIVE_3 CDATA #REQUIRED - SPECULAR_POWER CDATA #REQUIRED - > - - <!ATTLIST RmRegistryBranch - NAME CDATA #REQUIRED - API CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmPlugInData - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PLUGIN_GUID CDATA #REQUIRED - > - - <!ATTLIST RmClipboardNode - NAME CDATA #REQUIRED - API CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmCamera - NAME CDATA #REQUIRED - API CDATA #REQUIRED - CAMERA_POSITION_X CDATA #REQUIRED - CAMERA_POSITION_Y CDATA #REQUIRED - CAMERA_POSITION_Z CDATA #REQUIRED - LOOK_AT_VECTOR_X CDATA #REQUIRED - LOOK_AT_VECTOR_Y CDATA #REQUIRED - LOOK_AT_VECTOR_Z CDATA #REQUIRED - UP_VECTOR_X CDATA #REQUIRED - UP_VECTOR_Y CDATA #REQUIRED - UP_VECTOR_Z CDATA #REQUIRED - FOV CDATA #REQUIRED - NEAR_CLIP_PLANE CDATA #REQUIRED - FAR_CLIP_PLANE CDATA #REQUIRED - > - - <!ATTLIST RmCameraReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - USE_ACTIVE_CAMERA ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShaderCode - TYPE ( TEXT ) #REQUIRED - > - - <!ATTLIST RmTextDataBlock - TYPE ( TEXT ) #REQUIRED - > - -]> -<RENDER_MONKEY> - <RmEffectWorkspace NAME="Effect Workspace" API="" ACTIVE_EFFECT="Effect Workspace.Textured" VALIDATION_STRING="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_REGISTRY" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_LOCAL" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_PLUGIN" API="" XML_VERSION="RenderMonkey 1.71"><RmTextDataBlock TYPE="TEXT"><![CDATA[ -<DockingPaneLayouts><Application_Layout><Pane-1><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Artist Editor</Title><ID>1001</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>7</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>7</LastHolder></Pane-1><Pane-2><Type>2</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><Horiz>0</Horiz><Pane-1>3</Pane-1><Pane-2>8</Pane-2><Panes>2</Panes></Pane-2><Pane-3><Type>2</Type><DockingCX>0</DockingCX><DockingCY>641</DockingCY><Horiz>1</Horiz><Pane-1>4</Pane-1><Pane-2>6</Pane-2><Pane-3>7</Pane-3><Panes>3</Panes></Pane-3><Pane-4><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>5</Selected><Panes>1</Panes><Pane-1>5</Pane-1></Pane-4><Pane-5><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Workspace</Title><ID>1000</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>4</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>4</LastHolder></Pane-5><Pane-6><Type>4</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY></Pane-6><Pane-7><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-7><Pane-8><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>9</Selected><Panes>1</Panes><Pane-1>9</Pane-1></Pane-8><Pane-9><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Output</Title><ID>1002</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>8</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>8</LastHolder></Pane-9><Summary><TopContainer>2</TopContainer><Client>6</Client><Panes>9</Panes></Summary></Application_Layout></DockingPaneLayouts> -]]></RmTextDataBlock> - <RmRegistryBranch NAME="RmPreviewDx9Window" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmPreviewGLESWindow" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmPreviewGLWindow" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EffectPlacementRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Textured" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="350" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="350" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmPreviewGLPreview" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmLightEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="NoteEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmRenderableTextureEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmRenderTargetEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmShaderEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Textured" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Disassembly" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmStringVariable NAME="Editing Shader" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -Fragment Program]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="Editing Pass" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -Pass 0]]></RmTextDataBlock></RmStringVariable> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="650" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="650" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmRenderStateBlockEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Textured" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="108" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="140" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1283" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="434" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmTextureObjectEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmTextureGenerator" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmStreamEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Textured.Stream Mapping" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="258" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="128" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="851" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="270" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="WORKSPACE" API="" XML_VERSION="RenderMonkey 1.71"> - <RmStringVariable NAME="LAST_SAVE" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -25/11/2007 13:42:35]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="VERSION" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -RenderMonkey Version 1.80 (build 125)]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="XML_VERSION" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -RenderMonkey 1.71]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="BASE_WORKSPACE_PATH" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -D:\download\]]></RmTextDataBlock></RmStringVariable> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmOpenGLESEffect NAME="Textured" API="OpenGL ES" ACTIVE_CAMERA=""> - <RmMatrixVariable NAME="matViewProjection" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="ViewProjection" VALUE_0="0.101415" VALUE_1="-1.953759" VALUE_2="0.974475" VALUE_3="6.940574" VALUE_4="-1.739748" VALUE_5="0.673897" VALUE_6="1.532177" VALUE_7="11.274156" VALUE_8="0.729371" VALUE_9="0.369806" VALUE_10="0.665530" VALUE_11="130.011505" VALUE_12="0.691769" VALUE_13="0.350741" VALUE_14="0.631219" VALUE_15="188.355209"/> - <Rm2DTextureVariable NAME="base" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" FILE_NAME="cloud.tga" ORIGIN="0"/> - <RmStreamMap NAME="Stream Mapping" API=""> - <RmStream NAME="Stream" API="" STRIDE="20"> - <RmStreamChannel NAME="Position_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="0" USAGE_INDEX="0" ATTRIBUTE_NAME="rm_Vertex"/> - <RmStreamChannel NAME="TexCoord_0" API="" DATA_SIZE="8" DATA_TYPE="1" REGISTER="0" USAGE="5" USAGE_INDEX="0" ATTRIBUTE_NAME="rm_TexCoord0"/> - </RmStream> - </RmStreamMap> - <RmModelData NAME="Model" API="" FILE_NAME=".\Torus.3ds" ORIENTATION="0"/> - <RmGLESPass NAME="Pass 0" API="OpenGL ES" PASS_INDEX="0" ENABLED="TRUE"> - <RmModelReference NAME="Model" API=""/> - <RmRenderStateBlock NAME="Render State" API="OpenGL ES"> - <RmState NAME="GL_CullMode" API="OpenGL ES" STATE="8" VALUE="1" USAGE="RENDER_STATE"/> - </RmRenderStateBlock> - <RmGLESShader NAME="Fragment Program" API="OpenGL ES" PIXEL_SHADER="TRUE"><RmShaderCode TYPE="TEXT"><![CDATA[ -precision mediump float; - -uniform sampler2D baseMap; - -varying vec2 v_texCoord; - -void main( void ) -{ - vec4 baseColor = texture2D( baseMap, v_texCoord ); - - if( baseColor.a < 0.25 ) - { - discard; - } - else - { - gl_FragColor = baseColor; - } -}]]></RmShaderCode></RmGLESShader> - <RmGLESShader NAME="Vertex Program" API="OpenGL ES" PIXEL_SHADER="FALSE"><RmShaderCode TYPE="TEXT"><![CDATA[ -uniform mat4 matViewProjection; -attribute vec4 rm_Vertex; -attribute vec2 rm_TexCoord0; -varying vec2 v_texCoord; - -void main( void ) -{ - gl_Position = matViewProjection * rm_Vertex; - v_texCoord = rm_TexCoord0.xy; -}]]></RmShaderCode></RmGLESShader> - <RmStreamMapReference NAME="Stream Mapping" API=""/> - <RmTextureObject NAME="baseMap" API="OpenGL ES" STATE_INDEX="0" VERTEX_TEXTURE="FALSE"> - <RmTextureReference NAME="base" API=""/> - <RmState NAME="GL_TextureMinify" API="OpenGL ES" STATE="4" VALUE="6" USAGE="SAMPLER_STATE"/> - <RmState NAME="GL_TextureMagnify" API="OpenGL ES" STATE="5" VALUE="1" USAGE="SAMPLER_STATE"/> - </RmTextureObject> - <RmSampler NAME="baseMap" API="" REGISTER="-1"/> - <RmShaderConstant NAME="matViewProjection" API="" REGISTER="-1"/> - </RmGLESPass> - </RmOpenGLESEffect> - </RmEffectWorkspace> -</RENDER_MONKEY> diff --git a/third_party/gles2_book/Chapter_10/RM_AlphaTest/Torus.3ds b/third_party/gles2_book/Chapter_10/RM_AlphaTest/Torus.3ds Binary files differdeleted file mode 100644 index cceac9aa3a..0000000000 --- a/third_party/gles2_book/Chapter_10/RM_AlphaTest/Torus.3ds +++ /dev/null diff --git a/third_party/gles2_book/Chapter_10/RM_AlphaTest/cloud.tga b/third_party/gles2_book/Chapter_10/RM_AlphaTest/cloud.tga Binary files differdeleted file mode 100644 index 74ddd8f6a2..0000000000 --- a/third_party/gles2_book/Chapter_10/RM_AlphaTest/cloud.tga +++ /dev/null diff --git a/third_party/gles2_book/Chapter_10/RM_ClipPlane/RM_ClipPlane.rfx b/third_party/gles2_book/Chapter_10/RM_ClipPlane/RM_ClipPlane.rfx deleted file mode 100644 index 73bb7a8265..0000000000 --- a/third_party/gles2_book/Chapter_10/RM_ClipPlane/RM_ClipPlane.rfx +++ /dev/null @@ -1,1020 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<!DOCTYPE RENDER_MONKEY [ - <!ELEMENT RENDER_MONKEY - ( - RmEffectWorkspace | - RmRegistryBranch | - RmClipboardNode - )?> - - <!ELEMENT RmEffectWorkspace - ( - RmRegistryBranch?, - RmPlugInData?, - RmStringVariable*, - ( - ( RmDirectXEffect, RmOpenGLEffect?, RmOpenGLESEffect? ) | - ( RmOpenGLEffect, RmDirectXEffect?, RmOpenGLESEffect? ) | - ( RmOpenGLESEffect, RmDirectXEffect?, RmOpenGLEffect? ) - )?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmEffectGroup - )* - )> - - <!ELEMENT RmEffectGroup - ( - RmPlugInData?, - ( - RmStringVariable | - RmDirectXEffect | - RmOpenGLEffect | - RmOpenGLESEffect | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData - )* - )> - - <!ELEMENT RmDirectXEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmPass - )* - )> - - <!ELEMENT RmOpenGLEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmGLPass - )* - )> - - <!ELEMENT RmOpenGLESEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmGLESPass - )* - )> - - <!ELEMENT RmPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( - ( RmHLSLShader | RmShader ), - ( RmShader | RmHLSLShader )? - ) - )?, - RmRenderTarget*, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject - )* - )> - - <!ELEMENT RmGLPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( RmGLShader, RmGLShader? ) - )?, - RmRenderTarget?, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmGLESPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( RmGLESShader, RmGLESShader? ) - )?, - RmRenderTarget?, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable | - RmShaderConstant - )* - )> - - <!ELEMENT RmHLSLShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmGLShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable - )* - )> - - <!ELEMENT RmGLESShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable - )* - )> - - <!ELEMENT RmTextureObject - ( - RmPlugInData?, - RmStringVariable*, - RmTextureReference?, - RmState* - )> - - <!ELEMENT RmLightObject - ( - RmPlugInData?, - RmStringVariable*, - RmLightReference? - )> - - <!ELEMENT RmMaterialObject - ( - RmPlugInData?, - RmStringVariable*, - RmMaterialReference? - )> - - <!ELEMENT RmRenderStateBlock - ( - RmPlugInData?, - ( - RmStringVariable | - RmState - )* - )> - - <!ELEMENT RmStreamMap - ( - RmPlugInData?, - ( - RmStringVariable | - RmStream - )* - )> - - <!ELEMENT RmStream ( RmPlugInData?, RmStreamChannel* )> - - <!ELEMENT RmModelData ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmTextureReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmLightReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmMaterialReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmCameraReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmModelReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmStreamMapReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmRenderableTexture ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmRenderTarget ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmBooleanVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmFloatVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmVectorVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmMatrixVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmColorVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmIntegerVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT Rm2DTextureVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmCubemapVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT Rm3DTextureVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmLightVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmMaterialVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmCamera ( RmPlugInData?, RmStringVariable* )> - - <!ELEMENT RmStringVariable ( RmTextDataBlock, RmPlugInData? )> - - <!ELEMENT RmDynamicVariable - ( - RmDynamicVariableValueContainer, - RmPlugInData?, - RmStringVariable? - )> - - <!ELEMENT RmDynamicVariableValueContainer - ( - RmPlugInData?, - RmDynamicVariableValue* - )> - - <!ELEMENT RmTextDataBlock ( #PCDATA ) > - - <!ELEMENT RmRegistryBranch - ( - RmTextDataBlock?, - ( - RmRegistryBranch | - RmStringVariable | - RmIntegerVariable | - RmBooleanVariable | - RmFloatVariable - )* - )> - - <!ELEMENT RmPlugInData - ( - RmTextDataBlock?, - ( - RmStringVariable | - RmIntegerVariable | - RmBooleanVariable | - RmFloatVariable | - RmVectorVariable - )* - )> - - <!ELEMENT RmClipboardNode - ( - RmTextDataBlock?, - ( - RmEffectWorkspace | - RmEffectGroup | - RmDirectXEffect | - RmOpenGLEffect | - RmOpenGLESEffect | - RmPass | - RmGLPass | - RmGLESPass | - RmShader | - RmHLSLShader | - RmGLShader | - RmGLESShader | - RmShaderConstant | - RmSampler | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmRenderStateBlock | - RmState | - RmStreamMap | - RmStream | - RmStreamChannel | - RmModelData | - RmTextureReference | - RmLightReference | - RmMaterialReference | - RmModelReference | - RmStreamMapReference | - RmRenderableTexture | - RmRenderTarget | - RmBooleanVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmDynamicVariableValue | - RmColorVariable | - RmIntegerVariable | - RmStringVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRegistryBranch | - RmPlugInData | - RmCamera | - RmCameraReference - )* - )> - - <!ELEMENT RmStreamChannel ( RmPlugInData? ) > - <!ELEMENT RmShaderConstant ( RmPlugInData? ) > - <!ELEMENT RmSampler ( RmPlugInData? ) > - <!ELEMENT RmState ( RmPlugInData? ) > - <!ELEMENT RmDynamicVariableValue ( RmPlugInData? ) > - - <!ELEMENT RmShaderCode ( #PCDATA ) > - - <!ATTLIST RmEffectWorkspace - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_EFFECT CDATA #REQUIRED - VALIDATION_STRING CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmEffectGroup - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmDirectXEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmOpenGLEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmOpenGLESEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLESPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER CDATA #REQUIRED - > - - <!ATTLIST RmHLSLShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - TARGET CDATA #REQUIRED - ENTRY_POINT CDATA #REQUIRED - COMPILER_FLAGS CDATA #REQUIRED - > - - <!ATTLIST RmGLShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLESShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShaderConstant - NAME CDATA #REQUIRED - API CDATA #REQUIRED - REGISTER CDATA #REQUIRED - > - - <!ATTLIST RmSampler - NAME CDATA #REQUIRED - API CDATA #REQUIRED - REGISTER CDATA #REQUIRED - > - - <!ATTLIST RmTextureObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STATE_INDEX CDATA #REQUIRED - VERTEX_TEXTURE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmLightObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - > - - <!ATTLIST RmMaterialObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - > - - <!ATTLIST RmRenderStateBlock - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmState - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STATE CDATA #REQUIRED - VALUE CDATA #REQUIRED - USAGE CDATA #REQUIRED - > - - <!ATTLIST RmStreamMap - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmStream - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STRIDE CDATA #REQUIRED - > - - <!ATTLIST RmStreamChannel - NAME CDATA #REQUIRED - API CDATA #REQUIRED - DATA_SIZE CDATA #REQUIRED - DATA_TYPE CDATA #REQUIRED - REGISTER CDATA #REQUIRED - USAGE CDATA #REQUIRED - USAGE_INDEX CDATA #REQUIRED - ATTRIBUTE_NAME CDATA #REQUIRED - > - - <!ATTLIST RmModelData - NAME CDATA #REQUIRED - API CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIENTATION CDATA #REQUIRED - > - - <!ATTLIST RmTextureReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmLightReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmMaterialReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmModelReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmStreamMapReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmRenderableTexture - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - WIDTH CDATA #REQUIRED - HEIGHT CDATA #REQUIRED - FORMAT CDATA #REQUIRED - USE_VIEWPORT_DIMENSIONS ( TRUE | FALSE ) #REQUIRED - GENERATE_MIPMAPS ( TRUE | FALSE ) #REQUIRED - WIDTH_RATIO CDATA #REQUIRED - HEIGHT_RATIO CDATA #REQUIRED - > - - <!ATTLIST RmRenderTarget - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - RENDER_TO_SCREEN ( TRUE | FALSE ) #REQUIRED - COLOR_CLEAR ( TRUE | FALSE ) #REQUIRED - DEPTH_CLEAR ( TRUE | FALSE ) #REQUIRED - CLEAR_COLOR_VALUE CDATA #REQUIRED - DEPTH_CLEAR_VALUE CDATA #REQUIRED - > - - <!ATTLIST RmBooleanVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - > - - <!ATTLIST RmFloatVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmVectorVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - NORMALIZE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmMatrixVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - VALUE_4 CDATA #REQUIRED - VALUE_5 CDATA #REQUIRED - VALUE_6 CDATA #REQUIRED - VALUE_7 CDATA #REQUIRED - VALUE_8 CDATA #REQUIRED - VALUE_9 CDATA #REQUIRED - VALUE_10 CDATA #REQUIRED - VALUE_11 CDATA #REQUIRED - VALUE_12 CDATA #REQUIRED - VALUE_13 CDATA #REQUIRED - VALUE_14 CDATA #REQUIRED - VALUE_15 CDATA #REQUIRED - > - - <!ATTLIST RmDynamicVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VARIABLE_TYPE ( FLOAT | INTEGER | BOOLEAN ) #REQUIRED - ROWS CDATA #REQUIRED - COLUMNS CDATA #REQUIRED - FIXED_SIZE ( TRUE | FALSE ) #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - NORMALIZE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmDynamicVariableValue - ROW_INDEX CDATA #REQUIRED - COLUMN_INDEX CDATA #REQUIRED - VALUE CDATA #REQUIRED - > - - <!ATTLIST RmColorVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - > - - <!ATTLIST RmIntegerVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmStringVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - > - - <!ATTLIST Rm2DTextureVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST RmCubemapVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST Rm3DTextureVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST RmLightVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - LIGHT_ENABLED ( TRUE | FALSE ) #REQUIRED - LIGHT_TYPE ( POSITIONAL | DIRECTIONAL | SPOTLIGHT ) #REQUIRED - AMBIENT_0 CDATA #REQUIRED - AMBIENT_1 CDATA #REQUIRED - AMBIENT_2 CDATA #REQUIRED - AMBIENT_3 CDATA #REQUIRED - DIFFUSE_0 CDATA #REQUIRED - DIFFUSE_1 CDATA #REQUIRED - DIFFUSE_2 CDATA #REQUIRED - DIFFUSE_3 CDATA #REQUIRED - SPECULAR_0 CDATA #REQUIRED - SPECULAR_1 CDATA #REQUIRED - SPECULAR_2 CDATA #REQUIRED - SPECULAR_3 CDATA #REQUIRED - POSITION_0 CDATA #REQUIRED - POSITION_1 CDATA #REQUIRED - POSITION_2 CDATA #REQUIRED - DIRECTION_0 CDATA #REQUIRED - DIRECTION_1 CDATA #REQUIRED - DIRECTION_2 CDATA #REQUIRED - ATTENUATION_0 CDATA #REQUIRED - ATTENUATION_1 CDATA #REQUIRED - ATTENUATION_2 CDATA #REQUIRED - SPOTLIGHT_THETA CDATA #REQUIRED - SPOTLIGHT_PHI CDATA #REQUIRED - RANGE CDATA #REQUIRED - FALLOFF CDATA #REQUIRED - > - - <!ATTLIST RmMaterialVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - AMBIENT_0 CDATA #REQUIRED - AMBIENT_1 CDATA #REQUIRED - AMBIENT_2 CDATA #REQUIRED - AMBIENT_3 CDATA #REQUIRED - DIFFUSE_0 CDATA #REQUIRED - DIFFUSE_1 CDATA #REQUIRED - DIFFUSE_2 CDATA #REQUIRED - DIFFUSE_3 CDATA #REQUIRED - SPECULAR_0 CDATA #REQUIRED - SPECULAR_1 CDATA #REQUIRED - SPECULAR_2 CDATA #REQUIRED - SPECULAR_3 CDATA #REQUIRED - EMISSIVE_0 CDATA #REQUIRED - EMISSIVE_1 CDATA #REQUIRED - EMISSIVE_2 CDATA #REQUIRED - EMISSIVE_3 CDATA #REQUIRED - SPECULAR_POWER CDATA #REQUIRED - > - - <!ATTLIST RmRegistryBranch - NAME CDATA #REQUIRED - API CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmPlugInData - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PLUGIN_GUID CDATA #REQUIRED - > - - <!ATTLIST RmClipboardNode - NAME CDATA #REQUIRED - API CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmCamera - NAME CDATA #REQUIRED - API CDATA #REQUIRED - CAMERA_POSITION_X CDATA #REQUIRED - CAMERA_POSITION_Y CDATA #REQUIRED - CAMERA_POSITION_Z CDATA #REQUIRED - LOOK_AT_VECTOR_X CDATA #REQUIRED - LOOK_AT_VECTOR_Y CDATA #REQUIRED - LOOK_AT_VECTOR_Z CDATA #REQUIRED - UP_VECTOR_X CDATA #REQUIRED - UP_VECTOR_Y CDATA #REQUIRED - UP_VECTOR_Z CDATA #REQUIRED - FOV CDATA #REQUIRED - NEAR_CLIP_PLANE CDATA #REQUIRED - FAR_CLIP_PLANE CDATA #REQUIRED - > - - <!ATTLIST RmCameraReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - USE_ACTIVE_CAMERA ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShaderCode - TYPE ( TEXT ) #REQUIRED - > - - <!ATTLIST RmTextDataBlock - TYPE ( TEXT ) #REQUIRED - > - -]> -<RENDER_MONKEY> - <RmEffectWorkspace NAME="Effect Workspace" API="" ACTIVE_EFFECT="Effect Workspace.Textured" VALIDATION_STRING="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_REGISTRY" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_LOCAL" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_PLUGIN" API="" XML_VERSION="RenderMonkey 1.71"><RmTextDataBlock TYPE="TEXT"><![CDATA[ -<DockingPaneLayouts><Application_Layout><Pane-1><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Artist Editor</Title><ID>1001</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>9</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>9</LastHolder></Pane-1><Pane-2><Type>2</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><Horiz>1</Horiz><Pane-1>3</Pane-1><Pane-2>4</Pane-2><Panes>2</Panes></Pane-2><Pane-3><Type>1</Type><DockingCX>496</DockingCX><DockingCY>230</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-3><Pane-4><Type>2</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><Horiz>0</Horiz><Pane-1>5</Pane-1><Pane-2>10</Pane-2><Panes>2</Panes></Pane-4><Pane-5><Type>2</Type><DockingCX>0</DockingCX><DockingCY>641</DockingCY><Horiz>1</Horiz><Pane-1>6</Pane-1><Pane-2>8</Pane-2><Pane-3>9</Pane-3><Panes>3</Panes></Pane-5><Pane-6><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>7</Selected><Panes>1</Panes><Pane-1>7</Pane-1></Pane-6><Pane-7><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Workspace</Title><ID>1000</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>6</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>6</LastHolder></Pane-7><Pane-8><Type>4</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY></Pane-8><Pane-9><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-9><Pane-10><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>11</Selected><Panes>1</Panes><Pane-1>11</Pane-1></Pane-10><Pane-11><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Output</Title><ID>1002</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>10</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>10</LastHolder></Pane-11><Pane-12><Type>0</Type><DockingCX>496</DockingCX><DockingCY>230</DockingCY><Title>u_clipPlane</Title><ID>1100</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>3</DockingHolder><FloatingHolder>15</FloatingHolder><LastHolder>15</LastHolder></Pane-12><Pane-13><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>14</TopContaner><WindowRectTopPos>431</WindowRectTopPos><WindowRectBottomPos>661</WindowRectBottomPos><WindowRectLeftPos>343</WindowRectLeftPos><WindowRectRightPos>839</WindowRectRightPos></Pane-13><Pane-14><Type>2</Type><DockingCX>496</DockingCX><DockingCY>230</DockingCY><Horiz>1</Horiz><Pane-1>15</Pane-1><Panes>1</Panes></Pane-14><Pane-15><Type>1</Type><DockingCX>496</DockingCX><DockingCY>230</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-15><Summary><TopContainer>2</TopContainer><Client>8</Client><Panes>15</Panes></Summary></Application_Layout></DockingPaneLayouts> -]]></RmTextDataBlock> - <RmRegistryBranch NAME="RmVectorEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Textured.u_clipPlane" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="DockPaneID" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1100" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmPreviewDx9Window" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmPreviewGLESWindow" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmPreviewGLWindow" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EffectPlacementRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Textured" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="350" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="350" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmPreviewGLPreview" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmLightEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="NoteEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmRenderableTextureEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmRenderTargetEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmShaderEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Textured" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Disassembly" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmStringVariable NAME="Editing Shader" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -Fragment Program]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="Editing Pass" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -Pass 0]]></RmTextDataBlock></RmStringVariable> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="15" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="650" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="650" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="459" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmRenderStateBlockEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmTextureObjectEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmTextureGenerator" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="WORKSPACE" API="" XML_VERSION="RenderMonkey 1.71"> - <RmStringVariable NAME="LAST_SAVE" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -25/11/2007 14:33:23]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="VERSION" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -RenderMonkey Version 1.80 (build 125)]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="XML_VERSION" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -RenderMonkey 1.71]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="BASE_WORKSPACE_PATH" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -d:\download\]]></RmTextDataBlock></RmStringVariable> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmOpenGLESEffect NAME="Textured" API="OpenGL ES" ACTIVE_CAMERA=""> - <RmMatrixVariable NAME="matViewProjection" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="ViewProjection" VALUE_0="2.127030" VALUE_1="0.488594" VALUE_2="0.118666" VALUE_3="-0.000001" VALUE_4="-0.502655" VALUE_5="2.308663" VALUE_6="-0.495822" VALUE_7="-0.000006" VALUE_8="0.097929" VALUE_9="-0.188753" VALUE_10="-0.978154" VALUE_11="199.199097" VALUE_12="0.097831" VALUE_13="-0.188564" VALUE_14="-0.977176" VALUE_15="199.999893"/> - <RmVectorVariable NAME="u_clipPlane" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE_0="0.436597" VALUE_1="0.899658" VALUE_2="0.000000" VALUE_3="1.000000" MIN="-10.000000" MAX="10.000000" CLAMP="FALSE" NORMALIZE="TRUE"/> - <RmStreamMap NAME="Stream Mapping" API=""> - <RmStream NAME="Stream" API="" STRIDE="20"> - <RmStreamChannel NAME="Position_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="0" USAGE_INDEX="0" ATTRIBUTE_NAME="rm_Vertex"/> - <RmStreamChannel NAME="TexCoord_0" API="" DATA_SIZE="8" DATA_TYPE="1" REGISTER="0" USAGE="5" USAGE_INDEX="0" ATTRIBUTE_NAME="rm_TexCoord0"/> - </RmStream> - </RmStreamMap> - <RmModelData NAME="Model" API="" FILE_NAME=".\Sphere.3ds" ORIENTATION="0"/> - <RmGLESPass NAME="Pass 0" API="OpenGL ES" PASS_INDEX="0" ENABLED="TRUE"> - <RmModelReference NAME="Model" API=""/> - <RmGLESShader NAME="Vertex Program" API="OpenGL ES" PIXEL_SHADER="FALSE"><RmShaderCode TYPE="TEXT"><![CDATA[ -uniform vec4 u_clipPlane; -uniform mat4 matViewProjection; -attribute vec4 rm_Vertex; - -varying float u_clipDist; - -void main( void ) -{ - // Compute the distance between the vertex and - // the clip plane - u_clipDist = dot( rm_Vertex.xyz, u_clipPlane.xyz ) + - u_clipPlane.w; - gl_Position = matViewProjection * rm_Vertex; -}]]></RmShaderCode></RmGLESShader> - <RmGLESShader NAME="Fragment Program" API="OpenGL ES" PIXEL_SHADER="TRUE"><RmShaderCode TYPE="TEXT"><![CDATA[ -precision mediump float; -varying float u_clipDist; -void main( void ) -{ - // Reject fragments behind the clip plane - if( u_clipDist < 0.0 ) - discard; - - gl_FragColor = vec4( 0.5, 0.5, 1.0, 0.0 ); -}]]></RmShaderCode></RmGLESShader> - <RmStreamMapReference NAME="Stream Mapping" API=""/> - <RmShaderConstant NAME="matViewProjection" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_clipPlane" API="" REGISTER="-1"/> - </RmGLESPass> - </RmOpenGLESEffect> - </RmEffectWorkspace> -</RENDER_MONKEY> diff --git a/third_party/gles2_book/Chapter_10/RM_ClipPlane/Sphere.3ds b/third_party/gles2_book/Chapter_10/RM_ClipPlane/Sphere.3ds Binary files differdeleted file mode 100644 index 108b93de49..0000000000 --- a/third_party/gles2_book/Chapter_10/RM_ClipPlane/Sphere.3ds +++ /dev/null diff --git a/third_party/gles2_book/Chapter_10/RM_LinearFog/LinearFog.rfx b/third_party/gles2_book/Chapter_10/RM_LinearFog/LinearFog.rfx deleted file mode 100644 index f7cd646e1f..0000000000 --- a/third_party/gles2_book/Chapter_10/RM_LinearFog/LinearFog.rfx +++ /dev/null @@ -1,1098 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<!DOCTYPE RENDER_MONKEY [ - <!ELEMENT RENDER_MONKEY - ( - RmEffectWorkspace | - RmRegistryBranch | - RmClipboardNode - )?> - - <!ELEMENT RmEffectWorkspace - ( - RmRegistryBranch?, - RmPlugInData?, - RmStringVariable*, - ( - ( RmDirectXEffect, RmOpenGLEffect?, RmOpenGLESEffect? ) | - ( RmOpenGLEffect, RmDirectXEffect?, RmOpenGLESEffect? ) | - ( RmOpenGLESEffect, RmDirectXEffect?, RmOpenGLEffect? ) - )?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmEffectGroup - )* - )> - - <!ELEMENT RmEffectGroup - ( - RmPlugInData?, - ( - RmStringVariable | - RmDirectXEffect | - RmOpenGLEffect | - RmOpenGLESEffect | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData - )* - )> - - <!ELEMENT RmDirectXEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmPass - )* - )> - - <!ELEMENT RmOpenGLEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmGLPass - )* - )> - - <!ELEMENT RmOpenGLESEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmGLESPass - )* - )> - - <!ELEMENT RmPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( - ( RmHLSLShader | RmShader ), - ( RmShader | RmHLSLShader )? - ) - )?, - RmRenderTarget*, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject - )* - )> - - <!ELEMENT RmGLPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( RmGLShader, RmGLShader? ) - )?, - RmRenderTarget?, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmGLESPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( RmGLESShader, RmGLESShader? ) - )?, - RmRenderTarget?, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable | - RmShaderConstant - )* - )> - - <!ELEMENT RmHLSLShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmGLShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable - )* - )> - - <!ELEMENT RmGLESShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable - )* - )> - - <!ELEMENT RmTextureObject - ( - RmPlugInData?, - RmStringVariable*, - RmTextureReference?, - RmState* - )> - - <!ELEMENT RmLightObject - ( - RmPlugInData?, - RmStringVariable*, - RmLightReference? - )> - - <!ELEMENT RmMaterialObject - ( - RmPlugInData?, - RmStringVariable*, - RmMaterialReference? - )> - - <!ELEMENT RmRenderStateBlock - ( - RmPlugInData?, - ( - RmStringVariable | - RmState - )* - )> - - <!ELEMENT RmStreamMap - ( - RmPlugInData?, - ( - RmStringVariable | - RmStream - )* - )> - - <!ELEMENT RmStream ( RmPlugInData?, RmStreamChannel* )> - - <!ELEMENT RmModelData ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmTextureReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmLightReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmMaterialReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmCameraReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmModelReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmStreamMapReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmRenderableTexture ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmRenderTarget ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmBooleanVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmFloatVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmVectorVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmMatrixVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmColorVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmIntegerVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT Rm2DTextureVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmCubemapVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT Rm3DTextureVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmLightVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmMaterialVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmCamera ( RmPlugInData?, RmStringVariable* )> - - <!ELEMENT RmStringVariable ( RmTextDataBlock, RmPlugInData? )> - - <!ELEMENT RmDynamicVariable - ( - RmDynamicVariableValueContainer, - RmPlugInData?, - RmStringVariable? - )> - - <!ELEMENT RmDynamicVariableValueContainer - ( - RmPlugInData?, - RmDynamicVariableValue* - )> - - <!ELEMENT RmTextDataBlock ( #PCDATA ) > - - <!ELEMENT RmRegistryBranch - ( - RmTextDataBlock?, - ( - RmRegistryBranch | - RmStringVariable | - RmIntegerVariable | - RmBooleanVariable | - RmFloatVariable - )* - )> - - <!ELEMENT RmPlugInData - ( - RmTextDataBlock?, - ( - RmStringVariable | - RmIntegerVariable | - RmBooleanVariable | - RmFloatVariable | - RmVectorVariable - )* - )> - - <!ELEMENT RmClipboardNode - ( - RmTextDataBlock?, - ( - RmEffectWorkspace | - RmEffectGroup | - RmDirectXEffect | - RmOpenGLEffect | - RmOpenGLESEffect | - RmPass | - RmGLPass | - RmGLESPass | - RmShader | - RmHLSLShader | - RmGLShader | - RmGLESShader | - RmShaderConstant | - RmSampler | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmRenderStateBlock | - RmState | - RmStreamMap | - RmStream | - RmStreamChannel | - RmModelData | - RmTextureReference | - RmLightReference | - RmMaterialReference | - RmModelReference | - RmStreamMapReference | - RmRenderableTexture | - RmRenderTarget | - RmBooleanVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmDynamicVariableValue | - RmColorVariable | - RmIntegerVariable | - RmStringVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRegistryBranch | - RmPlugInData | - RmCamera | - RmCameraReference - )* - )> - - <!ELEMENT RmStreamChannel ( RmPlugInData? ) > - <!ELEMENT RmShaderConstant ( RmPlugInData? ) > - <!ELEMENT RmSampler ( RmPlugInData? ) > - <!ELEMENT RmState ( RmPlugInData? ) > - <!ELEMENT RmDynamicVariableValue ( RmPlugInData? ) > - - <!ELEMENT RmShaderCode ( #PCDATA ) > - - <!ATTLIST RmEffectWorkspace - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_EFFECT CDATA #REQUIRED - VALIDATION_STRING CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmEffectGroup - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmDirectXEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmOpenGLEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmOpenGLESEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLESPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER CDATA #REQUIRED - > - - <!ATTLIST RmHLSLShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - TARGET CDATA #REQUIRED - ENTRY_POINT CDATA #REQUIRED - COMPILER_FLAGS CDATA #REQUIRED - > - - <!ATTLIST RmGLShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLESShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShaderConstant - NAME CDATA #REQUIRED - API CDATA #REQUIRED - REGISTER CDATA #REQUIRED - > - - <!ATTLIST RmSampler - NAME CDATA #REQUIRED - API CDATA #REQUIRED - REGISTER CDATA #REQUIRED - > - - <!ATTLIST RmTextureObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STATE_INDEX CDATA #REQUIRED - VERTEX_TEXTURE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmLightObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - > - - <!ATTLIST RmMaterialObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - > - - <!ATTLIST RmRenderStateBlock - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmState - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STATE CDATA #REQUIRED - VALUE CDATA #REQUIRED - USAGE CDATA #REQUIRED - > - - <!ATTLIST RmStreamMap - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmStream - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STRIDE CDATA #REQUIRED - > - - <!ATTLIST RmStreamChannel - NAME CDATA #REQUIRED - API CDATA #REQUIRED - DATA_SIZE CDATA #REQUIRED - DATA_TYPE CDATA #REQUIRED - REGISTER CDATA #REQUIRED - USAGE CDATA #REQUIRED - USAGE_INDEX CDATA #REQUIRED - ATTRIBUTE_NAME CDATA #REQUIRED - > - - <!ATTLIST RmModelData - NAME CDATA #REQUIRED - API CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIENTATION CDATA #REQUIRED - > - - <!ATTLIST RmTextureReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmLightReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmMaterialReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmModelReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmStreamMapReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmRenderableTexture - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - WIDTH CDATA #REQUIRED - HEIGHT CDATA #REQUIRED - FORMAT CDATA #REQUIRED - USE_VIEWPORT_DIMENSIONS ( TRUE | FALSE ) #REQUIRED - GENERATE_MIPMAPS ( TRUE | FALSE ) #REQUIRED - WIDTH_RATIO CDATA #REQUIRED - HEIGHT_RATIO CDATA #REQUIRED - > - - <!ATTLIST RmRenderTarget - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - RENDER_TO_SCREEN ( TRUE | FALSE ) #REQUIRED - COLOR_CLEAR ( TRUE | FALSE ) #REQUIRED - DEPTH_CLEAR ( TRUE | FALSE ) #REQUIRED - CLEAR_COLOR_VALUE CDATA #REQUIRED - DEPTH_CLEAR_VALUE CDATA #REQUIRED - > - - <!ATTLIST RmBooleanVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - > - - <!ATTLIST RmFloatVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmVectorVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - NORMALIZE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmMatrixVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - VALUE_4 CDATA #REQUIRED - VALUE_5 CDATA #REQUIRED - VALUE_6 CDATA #REQUIRED - VALUE_7 CDATA #REQUIRED - VALUE_8 CDATA #REQUIRED - VALUE_9 CDATA #REQUIRED - VALUE_10 CDATA #REQUIRED - VALUE_11 CDATA #REQUIRED - VALUE_12 CDATA #REQUIRED - VALUE_13 CDATA #REQUIRED - VALUE_14 CDATA #REQUIRED - VALUE_15 CDATA #REQUIRED - > - - <!ATTLIST RmDynamicVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VARIABLE_TYPE ( FLOAT | INTEGER | BOOLEAN ) #REQUIRED - ROWS CDATA #REQUIRED - COLUMNS CDATA #REQUIRED - FIXED_SIZE ( TRUE | FALSE ) #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - NORMALIZE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmDynamicVariableValue - ROW_INDEX CDATA #REQUIRED - COLUMN_INDEX CDATA #REQUIRED - VALUE CDATA #REQUIRED - > - - <!ATTLIST RmColorVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - > - - <!ATTLIST RmIntegerVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmStringVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - > - - <!ATTLIST Rm2DTextureVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST RmCubemapVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST Rm3DTextureVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST RmLightVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - LIGHT_ENABLED ( TRUE | FALSE ) #REQUIRED - LIGHT_TYPE ( POSITIONAL | DIRECTIONAL | SPOTLIGHT ) #REQUIRED - AMBIENT_0 CDATA #REQUIRED - AMBIENT_1 CDATA #REQUIRED - AMBIENT_2 CDATA #REQUIRED - AMBIENT_3 CDATA #REQUIRED - DIFFUSE_0 CDATA #REQUIRED - DIFFUSE_1 CDATA #REQUIRED - DIFFUSE_2 CDATA #REQUIRED - DIFFUSE_3 CDATA #REQUIRED - SPECULAR_0 CDATA #REQUIRED - SPECULAR_1 CDATA #REQUIRED - SPECULAR_2 CDATA #REQUIRED - SPECULAR_3 CDATA #REQUIRED - POSITION_0 CDATA #REQUIRED - POSITION_1 CDATA #REQUIRED - POSITION_2 CDATA #REQUIRED - DIRECTION_0 CDATA #REQUIRED - DIRECTION_1 CDATA #REQUIRED - DIRECTION_2 CDATA #REQUIRED - ATTENUATION_0 CDATA #REQUIRED - ATTENUATION_1 CDATA #REQUIRED - ATTENUATION_2 CDATA #REQUIRED - SPOTLIGHT_THETA CDATA #REQUIRED - SPOTLIGHT_PHI CDATA #REQUIRED - RANGE CDATA #REQUIRED - FALLOFF CDATA #REQUIRED - > - - <!ATTLIST RmMaterialVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - AMBIENT_0 CDATA #REQUIRED - AMBIENT_1 CDATA #REQUIRED - AMBIENT_2 CDATA #REQUIRED - AMBIENT_3 CDATA #REQUIRED - DIFFUSE_0 CDATA #REQUIRED - DIFFUSE_1 CDATA #REQUIRED - DIFFUSE_2 CDATA #REQUIRED - DIFFUSE_3 CDATA #REQUIRED - SPECULAR_0 CDATA #REQUIRED - SPECULAR_1 CDATA #REQUIRED - SPECULAR_2 CDATA #REQUIRED - SPECULAR_3 CDATA #REQUIRED - EMISSIVE_0 CDATA #REQUIRED - EMISSIVE_1 CDATA #REQUIRED - EMISSIVE_2 CDATA #REQUIRED - EMISSIVE_3 CDATA #REQUIRED - SPECULAR_POWER CDATA #REQUIRED - > - - <!ATTLIST RmRegistryBranch - NAME CDATA #REQUIRED - API CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmPlugInData - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PLUGIN_GUID CDATA #REQUIRED - > - - <!ATTLIST RmClipboardNode - NAME CDATA #REQUIRED - API CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmCamera - NAME CDATA #REQUIRED - API CDATA #REQUIRED - CAMERA_POSITION_X CDATA #REQUIRED - CAMERA_POSITION_Y CDATA #REQUIRED - CAMERA_POSITION_Z CDATA #REQUIRED - LOOK_AT_VECTOR_X CDATA #REQUIRED - LOOK_AT_VECTOR_Y CDATA #REQUIRED - LOOK_AT_VECTOR_Z CDATA #REQUIRED - UP_VECTOR_X CDATA #REQUIRED - UP_VECTOR_Y CDATA #REQUIRED - UP_VECTOR_Z CDATA #REQUIRED - FOV CDATA #REQUIRED - NEAR_CLIP_PLANE CDATA #REQUIRED - FAR_CLIP_PLANE CDATA #REQUIRED - > - - <!ATTLIST RmCameraReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - USE_ACTIVE_CAMERA ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShaderCode - TYPE ( TEXT ) #REQUIRED - > - - <!ATTLIST RmTextDataBlock - TYPE ( TEXT ) #REQUIRED - > - -]> -<RENDER_MONKEY> - <RmEffectWorkspace NAME="Effect Workspace" API="" ACTIVE_EFFECT="Effect Workspace.Textured" VALIDATION_STRING="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_REGISTRY" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_LOCAL" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_PLUGIN" API="" XML_VERSION="RenderMonkey 1.71"><RmTextDataBlock TYPE="TEXT"><![CDATA[ -<DockingPaneLayouts><Application_Layout><Pane-1><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Artist Editor</Title><ID>1001</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>12</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>12</LastHolder></Pane-1><Pane-2><Type>0</Type><DockingCX>254</DockingCX><DockingCY>374</DockingCY><Title>u_fogColor</Title><ID>1100</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>6</DockingHolder><FloatingHolder>17</FloatingHolder><LastHolder>17</LastHolder></Pane-2><Pane-3><Type>2</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><Horiz>1</Horiz><Pane-1>4</Pane-1><Pane-2>5</Pane-2><Pane-3>6</Pane-3><Pane-4>7</Pane-4><Panes>4</Panes></Pane-3><Pane-4><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-4><Pane-5><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-5><Pane-6><Type>1</Type><DockingCX>254</DockingCX><DockingCY>374</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-6><Pane-7><Type>2</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><Horiz>0</Horiz><Pane-1>8</Pane-1><Pane-2>13</Pane-2><Panes>2</Panes></Pane-7><Pane-8><Type>2</Type><DockingCX>0</DockingCX><DockingCY>641</DockingCY><Horiz>1</Horiz><Pane-1>9</Pane-1><Pane-2>11</Pane-2><Pane-3>12</Pane-3><Panes>3</Panes></Pane-8><Pane-9><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>10</Selected><Panes>1</Panes><Pane-1>10</Pane-1></Pane-9><Pane-10><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Workspace</Title><ID>1000</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>9</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>9</LastHolder></Pane-10><Pane-11><Type>4</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY></Pane-11><Pane-12><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-12><Pane-13><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>14</Selected><Panes>1</Panes><Pane-1>14</Pane-1></Pane-13><Pane-14><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Output</Title><ID>1002</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>13</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>13</LastHolder></Pane-14><Pane-15><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>16</TopContaner><WindowRectTopPos>32</WindowRectTopPos><WindowRectBottomPos>406</WindowRectBottomPos><WindowRectLeftPos>0</WindowRectLeftPos><WindowRectRightPos>254</WindowRectRightPos></Pane-15><Pane-16><Type>2</Type><DockingCX>254</DockingCX><DockingCY>374</DockingCY><Horiz>1</Horiz><Pane-1>17</Pane-1><Panes>1</Panes></Pane-16><Pane-17><Type>1</Type><DockingCX>254</DockingCX><DockingCY>374</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-17><Pane-18><Type>0</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Title>u_fogMaxDist</Title><ID>1101</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>5</DockingHolder><FloatingHolder>21</FloatingHolder><LastHolder>21</LastHolder></Pane-18><Pane-19><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>20</TopContaner><WindowRectTopPos>32</WindowRectTopPos><WindowRectBottomPos>160</WindowRectBottomPos><WindowRectLeftPos>0</WindowRectLeftPos><WindowRectRightPos>566</WindowRectRightPos></Pane-19><Pane-20><Type>2</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Horiz>1</Horiz><Pane-1>21</Pane-1><Panes>1</Panes></Pane-20><Pane-21><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-21><Pane-22><Type>0</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Title>u_fogMinDist</Title><ID>1102</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>4</DockingHolder><FloatingHolder>25</FloatingHolder><LastHolder>25</LastHolder></Pane-22><Pane-23><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>24</TopContaner><WindowRectTopPos>32</WindowRectTopPos><WindowRectBottomPos>160</WindowRectBottomPos><WindowRectLeftPos>0</WindowRectLeftPos><WindowRectRightPos>566</WindowRectRightPos></Pane-23><Pane-24><Type>2</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Horiz>1</Horiz><Pane-1>25</Pane-1><Panes>1</Panes></Pane-24><Pane-25><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-25><Summary><TopContainer>3</TopContainer><Client>11</Client><Panes>25</Panes></Summary></Application_Layout></DockingPaneLayouts> -]]></RmTextDataBlock> - <RmRegistryBranch NAME="RmColorEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Textured.u_fogColor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="DockPaneID" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1100" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmBooleanVariable NAME="FloatingPoint" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="FALSE"/> - <RmIntegerVariable NAME="ColorType" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmBooleanVariable NAME="LargeSize" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="TRUE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmScalarEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Textured.u_fogMaxDist" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="DockPaneID" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1101" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="Effect Workspace.Textured.u_fogMinDist" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="DockPaneID" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1102" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmRenderStateBlockEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Textured" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="54" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="70" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1283" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="434" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmPreviewDx9Window" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmPreviewGLESWindow" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmPreviewGLWindow" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EffectPlacementRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Textured" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="350" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="350" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmPreviewGLPreview" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmLightEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="NoteEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmRenderableTextureEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmRenderTargetEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmShaderEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Textured" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Disassembly" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmStringVariable NAME="Editing Shader" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -Fragment Program]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="Editing Pass" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -Pass 0]]></RmTextDataBlock></RmStringVariable> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="650" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="650" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmTextureObjectEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmTextureGenerator" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="WORKSPACE" API="" XML_VERSION="RenderMonkey 1.71"> - <RmStringVariable NAME="LAST_SAVE" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -3/12/2007 19:42:31]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="VERSION" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -RenderMonkey Version 1.80 (build 125)]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="XML_VERSION" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -RenderMonkey 1.71]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="BASE_WORKSPACE_PATH" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -D:\svn\redbook\Code\Chapter_9\RM_LinearFog\]]></RmTextDataBlock></RmStringVariable> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmOpenGLESEffect NAME="Textured" API="OpenGL ES" ACTIVE_CAMERA="Camera"> - <RmCamera NAME="Camera" API="" CAMERA_POSITION_X="-198.295074" CAMERA_POSITION_Y="-0.681522" CAMERA_POSITION_Z="-26.049891" LOOK_AT_VECTOR_X="0.000000" LOOK_AT_VECTOR_Y="0.000000" LOOK_AT_VECTOR_Z="0.000000" UP_VECTOR_X="-0.013366" UP_VECTOR_Y="0.997044" UP_VECTOR_Z="0.075663" FOV="45.000000" NEAR_CLIP_PLANE="1.000000" FAR_CLIP_PLANE="1000.000000"/> - <RmFloatVariable NAME="u_fogMinDist" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="200.000000" MIN="-1.000000" MAX="0.000000" CLAMP="FALSE"/> - <RmFloatVariable NAME="u_fogMaxDist" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="500.000000" MIN="-1.000000" MAX="1.000000" CLAMP="FALSE"/> - <RmVectorVariable NAME="u_eyePos" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="ViewPosition" VALUE_0="-198.295074" VALUE_1="-0.681522" VALUE_2="-26.049891" VALUE_3="1.000000" MIN="-10.000000" MAX="10.000000" CLAMP="FALSE" NORMALIZE="FALSE"/> - <RmMatrixVariable NAME="matView" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="View" VALUE_0="-0.129607" VALUE_1="-0.076759" VALUE_2="0.988590" VALUE_3="0.000003" VALUE_4="-0.013366" VALUE_5="0.997044" VALUE_6="0.075663" VALUE_7="0.000043" VALUE_8="-0.991475" VALUE_9="-0.003408" VALUE_10="-0.130249" VALUE_11="-200.000000" VALUE_12="0.000000" VALUE_13="0.000000" VALUE_14="0.000000" VALUE_15="1.000000"/> - <RmMatrixVariable NAME="matViewProjection" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="ViewProjection" VALUE_0="-0.283274" VALUE_1="-0.167769" VALUE_2="2.160711" VALUE_3="0.000006" VALUE_4="-0.032269" VALUE_5="2.407077" VALUE_6="0.182668" VALUE_7="0.000103" VALUE_8="0.992468" VALUE_9="0.003411" VALUE_10="0.130380" VALUE_11="199.199203" VALUE_12="0.991475" VALUE_13="0.003408" VALUE_14="0.130249" VALUE_15="200.000000"/> - <RmColorVariable NAME="u_fogColor" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE_0="0.000000" VALUE_1="0.000000" VALUE_2="0.000000" VALUE_3="0.000000"/> - <Rm2DTextureVariable NAME="base" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" FILE_NAME="Terrain.tga" ORIGIN="0"/> - <RmStreamMap NAME="Stream Mapping" API=""> - <RmStream NAME="Stream" API="" STRIDE="20"> - <RmStreamChannel NAME="Position_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="0" USAGE_INDEX="0" ATTRIBUTE_NAME="rm_Vertex"/> - <RmStreamChannel NAME="TexCoord_0" API="" DATA_SIZE="8" DATA_TYPE="1" REGISTER="0" USAGE="5" USAGE_INDEX="0" ATTRIBUTE_NAME="rm_TexCoord0"/> - </RmStream> - </RmStreamMap> - <RmModelData NAME="Model" API="" FILE_NAME=".\Terrain.3ds" ORIENTATION="0"/> - <RmGLESPass NAME="Pass 0" API="OpenGL ES" PASS_INDEX="0" ENABLED="TRUE"> - <RmCameraReference NAME="Camera" API="" USE_ACTIVE_CAMERA="FALSE"/> - <RmModelReference NAME="Model" API=""/> - <RmGLESShader NAME="Fragment Program" API="OpenGL ES" PIXEL_SHADER="TRUE"><RmShaderCode TYPE="TEXT"><![CDATA[ -precision mediump float; - -uniform vec4 u_fogColor; -uniform float u_fogMaxDist; -uniform float u_fogMinDist; -uniform sampler2D baseMap; - -varying vec2 v_texCoord; -varying float v_eyeDist; - -float computeLinearFogFactor() -{ - float factor; - - // Compute linear fog equation - factor = (u_fogMaxDist - v_eyeDist) / - (u_fogMaxDist - u_fogMinDist ); - - // Clamp in the [0,1] range - factor = clamp( factor, 0.0, 1.0 ); - - return factor; -} - -void main( void ) -{ - float fogFactor = computeLinearFogFactor(); - vec4 fogColor = fogFactor * u_fogColor; - vec4 baseColor = texture2D( baseMap, v_texCoord ); - - // Compute final color as a lerp with fog factor - gl_FragColor = baseColor * fogFactor + - fogColor * (1.0 - fogFactor); -}]]></RmShaderCode></RmGLESShader> - <RmGLESShader NAME="Vertex Program" API="OpenGL ES" PIXEL_SHADER="FALSE"><RmShaderCode TYPE="TEXT"><![CDATA[ -uniform mat4 matViewProjection; -uniform mat4 matView; -uniform vec4 u_eyePos; - -attribute vec4 rm_Vertex; -attribute vec2 rm_TexCoord0; - -varying vec2 v_texCoord; -varying float v_eyeDist; - -void main( void ) -{ - // Transform vertex to view-space - vec4 vViewPos = matView * rm_Vertex; - - // Compute the distance to eye - v_eyeDist = sqrt( (vViewPos.x - u_eyePos.x) * - (vViewPos.x - u_eyePos.x) + - (vViewPos.y - u_eyePos.y) * - (vViewPos.y - u_eyePos.y) + - (vViewPos.z - u_eyePos.z) * - (vViewPos.z - u_eyePos.z) ); - - gl_Position = matViewProjection * rm_Vertex; - v_texCoord = rm_TexCoord0.xy; -}]]></RmShaderCode></RmGLESShader> - <RmStreamMapReference NAME="Stream Mapping" API=""/> - <RmTextureObject NAME="baseMap" API="OpenGL ES" STATE_INDEX="0" VERTEX_TEXTURE="FALSE"> - <RmTextureReference NAME="base" API=""/> - <RmState NAME="GL_TextureMinify" API="OpenGL ES" STATE="4" VALUE="6" USAGE="SAMPLER_STATE"/> - <RmState NAME="GL_TextureMagnify" API="OpenGL ES" STATE="5" VALUE="1" USAGE="SAMPLER_STATE"/> - </RmTextureObject> - <RmSampler NAME="baseMap" API="" REGISTER="-1"/> - <RmShaderConstant NAME="matViewProjection" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_eyePos" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_fogColor" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_fogMaxDist" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_fogMinDist" API="" REGISTER="-1"/> - <RmShaderConstant NAME="matView" API="" REGISTER="-1"/> - </RmGLESPass> - </RmOpenGLESEffect> - </RmEffectWorkspace> -</RENDER_MONKEY> diff --git a/third_party/gles2_book/Chapter_10/RM_LinearFog/Terrain.3ds b/third_party/gles2_book/Chapter_10/RM_LinearFog/Terrain.3ds Binary files differdeleted file mode 100644 index a46d78754e..0000000000 --- a/third_party/gles2_book/Chapter_10/RM_LinearFog/Terrain.3ds +++ /dev/null diff --git a/third_party/gles2_book/Chapter_10/RM_LinearFog/Terrain.tga b/third_party/gles2_book/Chapter_10/RM_LinearFog/Terrain.tga Binary files differdeleted file mode 100644 index 47d5117424..0000000000 --- a/third_party/gles2_book/Chapter_10/RM_LinearFog/Terrain.tga +++ /dev/null diff --git a/third_party/gles2_book/Chapter_11/Multisample/Multisample.c b/third_party/gles2_book/Chapter_11/Multisample/Multisample.c deleted file mode 100644 index 596f340ab4..0000000000 --- a/third_party/gles2_book/Chapter_11/Multisample/Multisample.c +++ /dev/null @@ -1,302 +0,0 @@ -// -// Book: OpenGL(R) ES 2.0 Programming Guide -// Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner -// ISBN-10: 0321502795 -// ISBN-13: 9780321502797 -// Publisher: Addison-Wesley Professional -// URLs: http://safari.informit.com/9780321563835 -// http://www.opengles-book.com -// - -// Multisample.c -// -// This example shows various multi-sampling -// operations. -// -#include <stdlib.h> -#include <stdio.h> -#include "esUtil.h" - -typedef struct -{ - // Handle to a program object - GLuint programObject; - - // Attribute locations - GLint positionLoc; - - // Uniform locations - GLint colorLoc; - -} UserData; - -/// -// Initialize the shader and program object -// -int Init ( ESContext *esContext ) -{ - UserData *userData = esContext->userData; - GLbyte vShaderStr[] = - "attribute vec4 a_position; \n" - "void main() \n" - "{ \n" - " gl_Position = a_position; \n" - "} \n"; - - GLbyte fShaderStr[] = - "precision mediump float; \n" - "uniform vec4 u_color; \n" - "void main() \n" - "{ \n" - " gl_FragColor = u_color; \n" - "} \n"; - - // Load the shaders and get a linked program object - userData->programObject = esLoadProgram ( vShaderStr, fShaderStr ); - - // Get the attribute locations - userData->positionLoc = glGetAttribLocation ( userData->programObject, "a_position" ); - - // Get the sampler location - userData->colorLoc = glGetUniformLocation ( userData->programObject, "u_color" ); - - // Set the clear color - glClearColor ( 0.0f, 0.0f, 0.0f, 0.0f ); - - // Set the stencil clear value - glClearStencil ( 0x1 ); - - // Set the depth clear value - glClearDepthf( 0.75f ); - - // Enable the depth and stencil tests - glEnable( GL_DEPTH_TEST ); - glEnable( GL_STENCIL_TEST ); - - return TRUE; -} - -/// -// Initialize the stencil buffer values, and then use those -// values to control rendering -// -void Draw ( ESContext *esContext ) -{ - int i; - - UserData *userData = esContext->userData; - - GLfloat vVertices[] = { - -0.75f, 0.25f, 0.50f, // Quad #0 - -0.25f, 0.25f, 0.50f, - -0.25f, 0.75f, 0.50f, - -0.75f, 0.75f, 0.50f, - 0.25f, 0.25f, 0.90f, // Quad #1 - 0.75f, 0.25f, 0.90f, - 0.75f, 0.75f, 0.90f, - 0.25f, 0.75f, 0.90f, - -0.75f, -0.75f, 0.50f, // Quad #2 - -0.25f, -0.75f, 0.50f, - -0.25f, -0.25f, 0.50f, - -0.75f, -0.25f, 0.50f, - 0.25f, -0.75f, 0.50f, // Quad #3 - 0.75f, -0.75f, 0.50f, - 0.75f, -0.25f, 0.50f, - 0.25f, -0.25f, 0.50f, - -1.00f, -1.00f, 0.00f, // Big Quad - 1.00f, -1.00f, 0.00f, - 1.00f, 1.00f, 0.00f, - -1.00f, 1.00f, 0.00f - }; - - GLubyte indices[][6] = { - { 0, 1, 2, 0, 2, 3 }, // Quad #0 - { 4, 5, 6, 4, 6, 7 }, // Quad #1 - { 8, 9, 10, 8, 10, 11 }, // Quad #2 - { 12, 13, 14, 12, 14, 15 }, // Quad #3 - { 16, 17, 18, 16, 18, 19 } // Big Quad - }; - -#define NumTests 4 - GLfloat colors[NumTests][4] = { - { 1.0f, 0.0f, 0.0f, 1.0f }, - { 0.0f, 1.0f, 0.0f, 1.0f }, - { 0.0f, 0.0f, 1.0f, 1.0f }, - { 1.0f, 1.0f, 0.0f, 0.0f } - }; - - GLint numStencilBits; - GLuint stencilValues[NumTests] = { - 0x7, // Result of test 0 - 0x0, // Result of test 1 - 0x2, // Result of test 2 - 0xff // Result of test 3. We need to fill this - // value in a run-time - }; - - // Set the viewport - glViewport ( 0, 0, esContext->width, esContext->height ); - - // Clear the color, depth, and stencil buffers. At this - // point, the stencil buffer will be 0x1 for all pixels - glClear ( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT ); - - // Use the program object - glUseProgram ( userData->programObject ); - - // Load the vertex position - glVertexAttribPointer ( userData->positionLoc, 3, GL_FLOAT, - GL_FALSE, 0, vVertices ); - - glEnableVertexAttribArray ( userData->positionLoc ); - - // Test 0: - // - // Initialize upper-left region. In this case, the - // stencil-buffer values will be replaced because the - // stencil test for the rendered pixels will fail the - // stencil test, which is - // - // ref mask stencil mask - // ( 0x7 & 0x3 ) < ( 0x1 & 0x7 ) - // - // The value in the stencil buffer for these pixels will - // be 0x7. - // - glStencilFunc( GL_LESS, 0x7, 0x3 ); - glStencilOp( GL_REPLACE, GL_DECR, GL_DECR ); - glDrawElements( GL_TRIANGLES, 6, GL_UNSIGNED_BYTE, indices[0] ); - - // Test 1: - // - // Initialize the upper-right region. Here, we'll decrement - // the stencil-buffer values where the stencil test passes - // but the depth test fails. The stencil test is - // - // ref mask stencil mask - // ( 0x3 & 0x3 ) > ( 0x1 & 0x3 ) - // - // but where the geometry fails the depth test. The - // stencil values for these pixels will be 0x0. - // - glStencilFunc( GL_GREATER, 0x3, 0x3 ); - glStencilOp( GL_KEEP, GL_DECR, GL_KEEP ); - glDrawElements( GL_TRIANGLES, 6, GL_UNSIGNED_BYTE, indices[1] ); - - // Test 2: - // - // Initialize the lower-left region. Here we'll increment - // (with saturation) the stencil value where both the - // stencil and depth tests pass. The stencil test for - // these pixels will be - // - // ref mask stencil mask - // ( 0x1 & 0x3 ) == ( 0x1 & 0x3 ) - // - // The stencil values for these pixels will be 0x2. - // - glStencilFunc( GL_EQUAL, 0x1, 0x3 ); - glStencilOp( GL_KEEP, GL_INCR, GL_INCR ); - glDrawElements( GL_TRIANGLES, 6, GL_UNSIGNED_BYTE, indices[2] ); - - // Test 3: - // - // Finally, initialize the lower-right region. We'll invert - // the stencil value where the stencil tests fails. The - // stencil test for these pixels will be - // - // ref mask stencil mask - // ( 0x2 & 0x1 ) == ( 0x1 & 0x1 ) - // - // The stencil value here will be set to ~((2^s-1) & 0x1), - // (with the 0x1 being from the stencil clear value), - // where 's' is the number of bits in the stencil buffer - // - glStencilFunc( GL_EQUAL, 0x2, 0x1 ); - glStencilOp( GL_INVERT, GL_KEEP, GL_KEEP ); - glDrawElements( GL_TRIANGLES, 6, GL_UNSIGNED_BYTE, indices[3] ); - - // Since we don't know at compile time how many stecil bits are present, - // we'll query, and update the value correct value in the - // stencilValues arrays for the fourth tests. We'll use this value - // later in rendering. - glGetIntegerv( GL_STENCIL_BITS, &numStencilBits ); - - stencilValues[3] = ~(((1 << numStencilBits) - 1) & 0x1) & 0xff; - - // Use the stencil buffer for controlling where rendering will - // occur. We diable writing to the stencil buffer so we - // can test against them without modifying the values we - // generated. - glStencilMask( 0x0 ); - - for ( i = 0; i < NumTests; ++i ) - { - glStencilFunc( GL_EQUAL, stencilValues[i], 0xff ); - glUniform4fv( userData->colorLoc, 1, colors[i] ); - glDrawElements( GL_TRIANGLES, 6, GL_UNSIGNED_BYTE, indices[4] ); - } - - eglSwapBuffers ( esContext->eglDisplay, esContext->eglSurface ); -} - - -/// -// Cleanup -// -void ShutDown ( ESContext *esContext ) -{ - UserData *userData = esContext->userData; - - // Delete program object - glDeleteProgram ( userData->programObject ); -} - - -/// -// Handle keyboard input -// -void Key ( ESContext *esContext, unsigned char key, int x, int y) -{ - switch ( key ) - { - case 'm': - printf( "Saw an 'm'\n" ); - break; - - case 'a': - printf( "Saw an 'a'\n" ); - break; - - case '1': - printf( "Saw a '1'\n" ); - break; - - case 033: // ASCII Escape Key - ShutDown( esContext ); - exit( 0 ); - break; - } -} - - -int main ( int argc, char *argv[] ) -{ - ESContext esContext; - UserData userData; - - esInitContext ( &esContext ); - esContext.userData = &userData; - - esCreateWindow ( &esContext, "Multi-sampling", 320, 240, ES_WINDOW_RGB ); - - if ( !Init ( &esContext ) ) - return 0; - - esRegisterDrawFunc ( &esContext, Draw ); - esRegisterKeyFunc( &esContext, Key ); - - esMainLoop ( &esContext ); - - ShutDown ( &esContext ); -} diff --git a/third_party/gles2_book/Chapter_11/Stencil_Test/Stencil_Test.c b/third_party/gles2_book/Chapter_11/Stencil_Test/Stencil_Test.c deleted file mode 100644 index 1c899d0fcc..0000000000 --- a/third_party/gles2_book/Chapter_11/Stencil_Test/Stencil_Test.c +++ /dev/null @@ -1,243 +0,0 @@ -// -// Book: OpenGL(R) ES 2.0 Programming Guide -// Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner -// ISBN-10: 0321502795 -// ISBN-13: 9780321502797 -// Publisher: Addison-Wesley Professional -// URLs: http://safari.informit.com/9780321563835 -// http://www.opengles-book.com -// - -// Stencil_Test.c -// -// This example shows various stencil buffer -// operations. -// -#include <stdlib.h> -#include "Stencil_Test.h" - -/// -// Initialize the shader and program object -// -int stInit ( ESContext *esContext ) -{ - STUserData *userData = esContext->userData; - GLbyte vShaderStr[] = - "attribute vec4 a_position; \n" - "void main() \n" - "{ \n" - " gl_Position = a_position; \n" - "} \n"; - - GLbyte fShaderStr[] = - "precision mediump float; \n" - "uniform vec4 u_color; \n" - "void main() \n" - "{ \n" - " gl_FragColor = u_color; \n" - "} \n"; - - GLfloat vVertices[] = { - -0.75f, 0.25f, 0.50f, // Quad #0 - -0.25f, 0.25f, 0.50f, - -0.25f, 0.75f, 0.50f, - -0.75f, 0.75f, 0.50f, - 0.25f, 0.25f, 0.50f, // Quad #1 - 0.75f, 0.25f, 0.50f, - 0.75f, 0.75f, 0.50f, - 0.25f, 0.75f, 0.50f, - -0.75f, -0.75f, 0.50f, // Quad #2 - -0.25f, -0.75f, 0.50f, - -0.25f, -0.25f, 0.50f, - -0.75f, -0.25f, 0.50f, - 0.25f, -0.75f, 0.50f, // Quad #3 - 0.75f, -0.75f, 0.50f, - 0.75f, -0.25f, 0.50f, - 0.25f, -0.25f, 0.50f, - -1.00f, -1.00f, 0.00f, // Big Quad - 1.00f, -1.00f, 0.00f, - 1.00f, 1.00f, 0.00f, - -1.00f, 1.00f, 0.00f - }; - - GLubyte indices[] = { - 0, 1, 2, 0, 2, 3, // Quad #0 - 4, 5, 6, 4, 6, 7, // Quad #1 - 8, 9, 10, 8, 10, 11, // Quad #2 - 12, 13, 14, 12, 14, 15, // Quad #3 - 16, 17, 18, 16, 18, 19 // Big Quad - }; - - // Load the shaders and get a linked program object - userData->programObject = esLoadProgram ( vShaderStr, fShaderStr ); - - // Get the attribute locations - userData->positionLoc = glGetAttribLocation ( userData->programObject, "a_position" ); - - // Get the sampler location - userData->colorLoc = glGetUniformLocation ( userData->programObject, "u_color" ); - - // Load vertex data - glGenBuffers ( 2, userData->vboIds ); - glBindBuffer ( GL_ARRAY_BUFFER, userData->vboIds[0] ); - glBufferData ( GL_ARRAY_BUFFER, sizeof(vVertices), - vVertices, GL_STATIC_DRAW ); - glBindBuffer ( GL_ELEMENT_ARRAY_BUFFER, userData->vboIds[1] ); - glBufferData ( GL_ELEMENT_ARRAY_BUFFER, sizeof(indices), - indices, GL_STATIC_DRAW ); - - // Set the clear color - glClearColor ( 0.0f, 0.0f, 0.0f, 0.0f ); - - // Set the stencil clear value - glClearStencil ( 0x1 ); - - // Set the depth clear value - glClearDepthf( 0.75f ); - - // Enable the depth and stencil tests - glEnable( GL_DEPTH_TEST ); - glEnable( GL_STENCIL_TEST ); - - return TRUE; -} - -/// -// Initialize the stencil buffer values, and then use those -// values to control rendering -// -void stDraw ( ESContext *esContext ) -{ - int i; - GLubyte *offset = NULL; - - STUserData *userData = esContext->userData; - -#define NumTests 4 - GLfloat colors[NumTests][4] = { - { 1.0f, 0.0f, 0.0f, 1.0f }, - { 0.0f, 1.0f, 0.0f, 1.0f }, - { 0.0f, 0.0f, 1.0f, 1.0f }, - { 1.0f, 1.0f, 0.0f, 1.0f } - }; - - GLuint stencilValues[NumTests] = { - 0x7, // Result of test 0 - 0x0, // Result of test 1 - 0x2, // Result of test 2 - 0xfe // Result of test 3 - }; - - // Set the viewport - glViewport ( 0, 0, esContext->width, esContext->height ); - - // Clear the color, depth, and stencil buffers. At this - // point, the stencil buffer will be 0x1 for all pixels - glClear ( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT ); - - // Use the program object - glUseProgram ( userData->programObject ); - - // Load the vertex position - glVertexAttribPointer ( userData->positionLoc, 3, GL_FLOAT, - GL_FALSE, 0, 0 ); - - glEnableVertexAttribArray ( userData->positionLoc ); - - // Test 0: - // - // Initialize upper-left region. In this case, the - // stencil-buffer values will be replaced because the - // stencil test for the rendered pixels will fail the - // stencil test, which is - // - // ref mask stencil mask - // ( 0x7 & 0x3 ) < ( 0x1 & 0x7 ) - // - // The value in the stencil buffer for these pixels will - // be 0x7. - // - glStencilFunc( GL_LESS, 0x7, 0x3 ); - glStencilOp( GL_REPLACE, GL_DECR, GL_DECR ); - glDrawElements( GL_TRIANGLES, 6, GL_UNSIGNED_BYTE, offset ); - - // Test 1: - // - // Initialize the upper-right region. Here, we'll decrement - // the stencil-buffer values where the stencil test passes - // but the depth test fails. The stencil test is - // - // ref mask stencil mask - // ( 0x3 & 0x3 ) > ( 0x1 & 0x3 ) - // - // but where the geometry fails the depth test. The - // stencil values for these pixels will be 0x0. - // - glStencilFunc( GL_GREATER, 0x3, 0x3 ); - glStencilOp( GL_KEEP, GL_DECR, GL_KEEP ); - offset += 6; - glDrawElements( GL_TRIANGLES, 6, GL_UNSIGNED_BYTE, offset ); - - // Test 2: - // - // Initialize the lower-left region. Here we'll increment - // (with saturation) the stencil value where both the - // stencil and depth tests pass. The stencil test for - // these pixels will be - // - // ref mask stencil mask - // ( 0x1 & 0x3 ) == ( 0x1 & 0x3 ) - // - // The stencil values for these pixels will be 0x2. - // - glStencilFunc( GL_EQUAL, 0x1, 0x3 ); - glStencilOp( GL_KEEP, GL_INCR, GL_INCR ); - offset += 6; - glDrawElements( GL_TRIANGLES, 6, GL_UNSIGNED_BYTE, offset ); - - // Test 3: - // - // Finally, initialize the lower-right region. We'll invert - // the stencil value where the stencil tests fails. The - // stencil test for these pixels will be - // - // ref mask stencil mask - // ( 0x2 & 0x1 ) == ( 0x1 & 0x1 ) - // - // The stencil value here will be set to ~((2^s-1) & 0x1), - // (with the 0x1 being from the stencil clear value), - // where 's' is the number of bits in the stencil buffer - // - glStencilFunc( GL_EQUAL, 0x2, 0x1 ); - glStencilOp( GL_INVERT, GL_KEEP, GL_KEEP ); - offset += 6; - glDrawElements( GL_TRIANGLES, 6, GL_UNSIGNED_BYTE, offset ); - - // Use the stencil buffer for controlling where rendering will - // occur. We diable writing to the stencil buffer so we - // can test against them without modifying the values we - // generated. - glStencilMask( 0x0 ); - offset += 6; - for ( i = 0; i < NumTests; ++i ) - { - glStencilFunc( GL_EQUAL, stencilValues[i], 0xff ); - glUniform4fv( userData->colorLoc, 1, colors[i] ); - glDrawElements( GL_TRIANGLES, 6, GL_UNSIGNED_BYTE, offset ); - } - glStencilMask( 0xff ); -} - -/// -// Cleanup -// -void stShutDown ( ESContext *esContext ) -{ - STUserData *userData = esContext->userData; - - // Delete program object - glDeleteProgram ( userData->programObject ); - - // Delete vertex buffer objects - glDeleteBuffers ( 2, userData->vboIds ); -} diff --git a/third_party/gles2_book/Chapter_11/Stencil_Test/Stencil_Test.h b/third_party/gles2_book/Chapter_11/Stencil_Test/Stencil_Test.h deleted file mode 100644 index ff6bff9518..0000000000 --- a/third_party/gles2_book/Chapter_11/Stencil_Test/Stencil_Test.h +++ /dev/null @@ -1,45 +0,0 @@ -// -// Book: OpenGL(R) ES 2.0 Programming Guide -// Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner -// ISBN-10: 0321502795 -// ISBN-13: 9780321502797 -// Publisher: Addison-Wesley Professional -// URLs: http://safari.informit.com/9780321563835 -// http://www.opengles-book.com -// - -#ifndef STENCIL_TEST_H -#define STENCIL_TEST_H - -#include "esUtil.h" - -#ifdef __cplusplus -extern "C" { -#endif // __cplusplus - -typedef struct -{ - // Handle to a program object - GLuint programObject; - - // Attribute locations - GLint positionLoc; - - // Uniform locations - GLint colorLoc; - - // Vertex buffer object handles - GLuint vboIds[2]; - -} STUserData; - -extern int stInit ( ESContext *esContext ); - -extern void stDraw ( ESContext *esContext ); - -extern void stShutDown ( ESContext *esContext ); - -#ifdef __cplusplus -} -#endif // __cplusplus -#endif // STENCIL_TEST_H diff --git a/third_party/gles2_book/Chapter_13/EnvironmentMapping/EnvironmentMapping.rfx b/third_party/gles2_book/Chapter_13/EnvironmentMapping/EnvironmentMapping.rfx deleted file mode 100644 index 8c32adbbe6..0000000000 --- a/third_party/gles2_book/Chapter_13/EnvironmentMapping/EnvironmentMapping.rfx +++ /dev/null @@ -1,1204 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<!DOCTYPE RENDER_MONKEY [ - <!ELEMENT RENDER_MONKEY - ( - RmEffectWorkspace | - RmRegistryBranch | - RmClipboardNode - )?> - - <!ELEMENT RmEffectWorkspace - ( - RmRegistryBranch?, - RmPlugInData?, - RmStringVariable*, - ( - ( RmDirectXEffect, RmOpenGLEffect?, RmOpenGLESEffect? ) | - ( RmOpenGLEffect, RmDirectXEffect?, RmOpenGLESEffect? ) | - ( RmOpenGLESEffect, RmDirectXEffect?, RmOpenGLEffect? ) - )?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmEffectGroup - )* - )> - - <!ELEMENT RmEffectGroup - ( - RmPlugInData?, - ( - RmStringVariable | - RmDirectXEffect | - RmOpenGLEffect | - RmOpenGLESEffect | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData - )* - )> - - <!ELEMENT RmDirectXEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmPass - )* - )> - - <!ELEMENT RmOpenGLEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmGLPass - )* - )> - - <!ELEMENT RmOpenGLESEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmGLESPass - )* - )> - - <!ELEMENT RmPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( - ( RmHLSLShader | RmShader ), - ( RmShader | RmHLSLShader )? - ) - )?, - RmRenderTarget*, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject - )* - )> - - <!ELEMENT RmGLPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( RmGLShader, RmGLShader? ) - )?, - RmRenderTarget?, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmGLESPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( RmGLESShader, RmGLESShader? ) - )?, - RmRenderTarget?, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable | - RmShaderConstant - )* - )> - - <!ELEMENT RmHLSLShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmGLShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable - )* - )> - - <!ELEMENT RmGLESShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable - )* - )> - - <!ELEMENT RmTextureObject - ( - RmPlugInData?, - RmStringVariable*, - RmTextureReference?, - RmState* - )> - - <!ELEMENT RmLightObject - ( - RmPlugInData?, - RmStringVariable*, - RmLightReference? - )> - - <!ELEMENT RmMaterialObject - ( - RmPlugInData?, - RmStringVariable*, - RmMaterialReference? - )> - - <!ELEMENT RmRenderStateBlock - ( - RmPlugInData?, - ( - RmStringVariable | - RmState - )* - )> - - <!ELEMENT RmStreamMap - ( - RmPlugInData?, - ( - RmStringVariable | - RmStream - )* - )> - - <!ELEMENT RmStream ( RmPlugInData?, RmStreamChannel* )> - - <!ELEMENT RmModelData ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmTextureReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmLightReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmMaterialReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmCameraReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmModelReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmStreamMapReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmRenderableTexture ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmRenderTarget ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmBooleanVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmFloatVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmVectorVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmMatrixVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmColorVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmIntegerVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT Rm2DTextureVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmCubemapVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT Rm3DTextureVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmLightVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmMaterialVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmCamera ( RmPlugInData?, RmStringVariable* )> - - <!ELEMENT RmStringVariable ( RmTextDataBlock, RmPlugInData? )> - - <!ELEMENT RmDynamicVariable - ( - RmDynamicVariableValueContainer, - RmPlugInData?, - RmStringVariable? - )> - - <!ELEMENT RmDynamicVariableValueContainer - ( - RmPlugInData?, - RmDynamicVariableValue* - )> - - <!ELEMENT RmTextDataBlock ( #PCDATA ) > - - <!ELEMENT RmRegistryBranch - ( - RmTextDataBlock?, - ( - RmRegistryBranch | - RmStringVariable | - RmIntegerVariable | - RmBooleanVariable | - RmFloatVariable - )* - )> - - <!ELEMENT RmPlugInData - ( - RmTextDataBlock?, - ( - RmStringVariable | - RmIntegerVariable | - RmBooleanVariable | - RmFloatVariable | - RmVectorVariable - )* - )> - - <!ELEMENT RmClipboardNode - ( - RmTextDataBlock?, - ( - RmEffectWorkspace | - RmEffectGroup | - RmDirectXEffect | - RmOpenGLEffect | - RmOpenGLESEffect | - RmPass | - RmGLPass | - RmGLESPass | - RmShader | - RmHLSLShader | - RmGLShader | - RmGLESShader | - RmShaderConstant | - RmSampler | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmRenderStateBlock | - RmState | - RmStreamMap | - RmStream | - RmStreamChannel | - RmModelData | - RmTextureReference | - RmLightReference | - RmMaterialReference | - RmModelReference | - RmStreamMapReference | - RmRenderableTexture | - RmRenderTarget | - RmBooleanVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmDynamicVariableValue | - RmColorVariable | - RmIntegerVariable | - RmStringVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRegistryBranch | - RmPlugInData | - RmCamera | - RmCameraReference - )* - )> - - <!ELEMENT RmStreamChannel ( RmPlugInData? ) > - <!ELEMENT RmShaderConstant ( RmPlugInData? ) > - <!ELEMENT RmSampler ( RmPlugInData? ) > - <!ELEMENT RmState ( RmPlugInData? ) > - <!ELEMENT RmDynamicVariableValue ( RmPlugInData? ) > - - <!ELEMENT RmShaderCode ( #PCDATA ) > - - <!ATTLIST RmEffectWorkspace - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_EFFECT CDATA #REQUIRED - VALIDATION_STRING CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmEffectGroup - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmDirectXEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmOpenGLEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmOpenGLESEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLESPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER CDATA #REQUIRED - > - - <!ATTLIST RmHLSLShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - TARGET CDATA #REQUIRED - ENTRY_POINT CDATA #REQUIRED - COMPILER_FLAGS CDATA #REQUIRED - > - - <!ATTLIST RmGLShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLESShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShaderConstant - NAME CDATA #REQUIRED - API CDATA #REQUIRED - REGISTER CDATA #REQUIRED - > - - <!ATTLIST RmSampler - NAME CDATA #REQUIRED - API CDATA #REQUIRED - REGISTER CDATA #REQUIRED - > - - <!ATTLIST RmTextureObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STATE_INDEX CDATA #REQUIRED - VERTEX_TEXTURE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmLightObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - > - - <!ATTLIST RmMaterialObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - > - - <!ATTLIST RmRenderStateBlock - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmState - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STATE CDATA #REQUIRED - VALUE CDATA #REQUIRED - USAGE CDATA #REQUIRED - > - - <!ATTLIST RmStreamMap - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmStream - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STRIDE CDATA #REQUIRED - > - - <!ATTLIST RmStreamChannel - NAME CDATA #REQUIRED - API CDATA #REQUIRED - DATA_SIZE CDATA #REQUIRED - DATA_TYPE CDATA #REQUIRED - REGISTER CDATA #REQUIRED - USAGE CDATA #REQUIRED - USAGE_INDEX CDATA #REQUIRED - ATTRIBUTE_NAME CDATA #REQUIRED - > - - <!ATTLIST RmModelData - NAME CDATA #REQUIRED - API CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIENTATION CDATA #REQUIRED - > - - <!ATTLIST RmTextureReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmLightReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmMaterialReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmModelReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmStreamMapReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmRenderableTexture - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - WIDTH CDATA #REQUIRED - HEIGHT CDATA #REQUIRED - FORMAT CDATA #REQUIRED - USE_VIEWPORT_DIMENSIONS ( TRUE | FALSE ) #REQUIRED - GENERATE_MIPMAPS ( TRUE | FALSE ) #REQUIRED - WIDTH_RATIO CDATA #REQUIRED - HEIGHT_RATIO CDATA #REQUIRED - > - - <!ATTLIST RmRenderTarget - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - RENDER_TO_SCREEN ( TRUE | FALSE ) #REQUIRED - COLOR_CLEAR ( TRUE | FALSE ) #REQUIRED - DEPTH_CLEAR ( TRUE | FALSE ) #REQUIRED - CLEAR_COLOR_VALUE CDATA #REQUIRED - DEPTH_CLEAR_VALUE CDATA #REQUIRED - > - - <!ATTLIST RmBooleanVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - > - - <!ATTLIST RmFloatVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmVectorVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - NORMALIZE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmMatrixVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - VALUE_4 CDATA #REQUIRED - VALUE_5 CDATA #REQUIRED - VALUE_6 CDATA #REQUIRED - VALUE_7 CDATA #REQUIRED - VALUE_8 CDATA #REQUIRED - VALUE_9 CDATA #REQUIRED - VALUE_10 CDATA #REQUIRED - VALUE_11 CDATA #REQUIRED - VALUE_12 CDATA #REQUIRED - VALUE_13 CDATA #REQUIRED - VALUE_14 CDATA #REQUIRED - VALUE_15 CDATA #REQUIRED - > - - <!ATTLIST RmDynamicVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VARIABLE_TYPE ( FLOAT | INTEGER | BOOLEAN ) #REQUIRED - ROWS CDATA #REQUIRED - COLUMNS CDATA #REQUIRED - FIXED_SIZE ( TRUE | FALSE ) #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - NORMALIZE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmDynamicVariableValue - ROW_INDEX CDATA #REQUIRED - COLUMN_INDEX CDATA #REQUIRED - VALUE CDATA #REQUIRED - > - - <!ATTLIST RmColorVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - > - - <!ATTLIST RmIntegerVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmStringVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - > - - <!ATTLIST Rm2DTextureVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST RmCubemapVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST Rm3DTextureVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST RmLightVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - LIGHT_ENABLED ( TRUE | FALSE ) #REQUIRED - LIGHT_TYPE ( POSITIONAL | DIRECTIONAL | SPOTLIGHT ) #REQUIRED - AMBIENT_0 CDATA #REQUIRED - AMBIENT_1 CDATA #REQUIRED - AMBIENT_2 CDATA #REQUIRED - AMBIENT_3 CDATA #REQUIRED - DIFFUSE_0 CDATA #REQUIRED - DIFFUSE_1 CDATA #REQUIRED - DIFFUSE_2 CDATA #REQUIRED - DIFFUSE_3 CDATA #REQUIRED - SPECULAR_0 CDATA #REQUIRED - SPECULAR_1 CDATA #REQUIRED - SPECULAR_2 CDATA #REQUIRED - SPECULAR_3 CDATA #REQUIRED - POSITION_0 CDATA #REQUIRED - POSITION_1 CDATA #REQUIRED - POSITION_2 CDATA #REQUIRED - DIRECTION_0 CDATA #REQUIRED - DIRECTION_1 CDATA #REQUIRED - DIRECTION_2 CDATA #REQUIRED - ATTENUATION_0 CDATA #REQUIRED - ATTENUATION_1 CDATA #REQUIRED - ATTENUATION_2 CDATA #REQUIRED - SPOTLIGHT_THETA CDATA #REQUIRED - SPOTLIGHT_PHI CDATA #REQUIRED - RANGE CDATA #REQUIRED - FALLOFF CDATA #REQUIRED - > - - <!ATTLIST RmMaterialVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - AMBIENT_0 CDATA #REQUIRED - AMBIENT_1 CDATA #REQUIRED - AMBIENT_2 CDATA #REQUIRED - AMBIENT_3 CDATA #REQUIRED - DIFFUSE_0 CDATA #REQUIRED - DIFFUSE_1 CDATA #REQUIRED - DIFFUSE_2 CDATA #REQUIRED - DIFFUSE_3 CDATA #REQUIRED - SPECULAR_0 CDATA #REQUIRED - SPECULAR_1 CDATA #REQUIRED - SPECULAR_2 CDATA #REQUIRED - SPECULAR_3 CDATA #REQUIRED - EMISSIVE_0 CDATA #REQUIRED - EMISSIVE_1 CDATA #REQUIRED - EMISSIVE_2 CDATA #REQUIRED - EMISSIVE_3 CDATA #REQUIRED - SPECULAR_POWER CDATA #REQUIRED - > - - <!ATTLIST RmRegistryBranch - NAME CDATA #REQUIRED - API CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmPlugInData - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PLUGIN_GUID CDATA #REQUIRED - > - - <!ATTLIST RmClipboardNode - NAME CDATA #REQUIRED - API CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmCamera - NAME CDATA #REQUIRED - API CDATA #REQUIRED - CAMERA_POSITION_X CDATA #REQUIRED - CAMERA_POSITION_Y CDATA #REQUIRED - CAMERA_POSITION_Z CDATA #REQUIRED - LOOK_AT_VECTOR_X CDATA #REQUIRED - LOOK_AT_VECTOR_Y CDATA #REQUIRED - LOOK_AT_VECTOR_Z CDATA #REQUIRED - UP_VECTOR_X CDATA #REQUIRED - UP_VECTOR_Y CDATA #REQUIRED - UP_VECTOR_Z CDATA #REQUIRED - FOV CDATA #REQUIRED - NEAR_CLIP_PLANE CDATA #REQUIRED - FAR_CLIP_PLANE CDATA #REQUIRED - > - - <!ATTLIST RmCameraReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - USE_ACTIVE_CAMERA ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShaderCode - TYPE ( TEXT ) #REQUIRED - > - - <!ATTLIST RmTextDataBlock - TYPE ( TEXT ) #REQUIRED - > - -]> -<RENDER_MONKEY> - <RmEffectWorkspace NAME="Effect Workspace" API="" ACTIVE_EFFECT="Effect Workspace.Environment Mapping" VALIDATION_STRING="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_REGISTRY" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_LOCAL" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_PLUGIN" API="" XML_VERSION="RenderMonkey 1.71"><RmTextDataBlock TYPE="TEXT"><![CDATA[ -<DockingPaneLayouts><Application_Layout><Pane-1><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Artist Editor</Title><ID>1001</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>8</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>8</LastHolder></Pane-1><Pane-2><Type>2</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><Horiz>1</Horiz><Pane-1>3</Pane-1><Panes>1</Panes></Pane-2><Pane-3><Type>2</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><Horiz>0</Horiz><Pane-1>4</Pane-1><Pane-2>9</Pane-2><Panes>2</Panes></Pane-3><Pane-4><Type>2</Type><DockingCX>0</DockingCX><DockingCY>641</DockingCY><Horiz>1</Horiz><Pane-1>5</Pane-1><Pane-2>7</Pane-2><Pane-3>8</Pane-3><Panes>3</Panes></Pane-4><Pane-5><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>6</Selected><Panes>1</Panes><Pane-1>6</Pane-1></Pane-5><Pane-6><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Workspace</Title><ID>1000</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>5</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>5</LastHolder></Pane-6><Pane-7><Type>4</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY></Pane-7><Pane-8><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-8><Pane-9><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>10</Selected><Panes>1</Panes><Pane-1>10</Pane-1></Pane-9><Pane-10><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Output</Title><ID>1002</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>9</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>9</LastHolder></Pane-10><Summary><TopContainer>2</TopContainer><Client>7</Client><Panes>10</Panes></Summary></Application_Layout></DockingPaneLayouts> -]]></RmTextDataBlock> - <RmRegistryBranch NAME="RmPreviewGLWindow" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EffectPlacementRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Environment Mapping" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="6" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="433" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="400" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmStreamEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Textured Bump.Stream Mapping" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="663" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="400" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="851" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="310" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="Effect Workspace.Environment Mapping.Stream Mapping" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="258" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="128" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="851" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="310" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmPreviewDx9Window" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmPreviewGLESWindow" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmPreviewGLPreview" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmLightEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="NoteEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmRenderableTextureEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmRenderTargetEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmShaderEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Environment Mapping" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Disassembly" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmStringVariable NAME="Editing Shader" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -Fragment Program]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="Editing Pass" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -Teapot]]></RmTextDataBlock></RmStringVariable> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1014" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="650" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="3" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="491" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmRenderStateBlockEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Environment Mapping" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="54" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="70" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1283" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="434" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmTextureObjectEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmTextureGenerator" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="WORKSPACE" API="" XML_VERSION="RenderMonkey 1.71"> - <RmStringVariable NAME="LAST_SAVE" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -27/12/2007 11:33:28]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="VERSION" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -RenderMonkey Version 1.80 (build 125)]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="XML_VERSION" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -RenderMonkey 1.71]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="BASE_WORKSPACE_PATH" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -D:\svn\redbook\Code\Chapter_12\EnvironmentMapping\]]></RmTextDataBlock></RmStringVariable> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmOpenGLESEffect NAME="Environment Mapping" API="OpenGL ES" ACTIVE_CAMERA="Camera"> - <RmCamera NAME="Camera" API="" CAMERA_POSITION_X="-13.744995" CAMERA_POSITION_Y="23.367828" CAMERA_POSITION_Z="-220.341003" LOOK_AT_VECTOR_X="4.617599" LOOK_AT_VECTOR_Y="-4.282429" LOOK_AT_VECTOR_Z="0.204170" UP_VECTOR_X="-0.257297" UP_VECTOR_Y="0.955950" UP_VECTOR_Z="0.141275" FOV="45.000000" NEAR_CLIP_PLANE="70.930000" FAR_CLIP_PLANE="1883.088135"/> - <RmDynamicVariable NAME="u_eyePosition" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VARIABLE_TYPE="FLOAT" ROWS="3" COLUMNS="1" FIXED_SIZE="TRUE" MIN="-100.000000" MAX="100.000000" CLAMP="TRUE" NORMALIZE="FALSE"> - <RmDynamicVariableValueContainer> - <RmDynamicVariableValue ROW_INDEX="0" COLUMN_INDEX="0" VALUE="0.000000"/> - <RmDynamicVariableValue ROW_INDEX="1" COLUMN_INDEX="0" VALUE="0.000000"/> - <RmDynamicVariableValue ROW_INDEX="2" COLUMN_INDEX="0" VALUE="100.000000"/> - </RmDynamicVariableValueContainer> - </RmDynamicVariable> - <RmMatrixVariable NAME="u_matViewProjection" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="ViewProjection" VALUE_0="-1.965568" VALUE_1="-0.543160" VALUE_2="0.095556" VALUE_3="6.730651" VALUE_4="-0.621170" VALUE_5="2.307867" VALUE_6="0.341067" VALUE_7="12.683241" VALUE_8="0.085555" VALUE_9="-0.128829" VALUE_10="1.027569" VALUE_11="156.895691" VALUE_12="0.082333" VALUE_13="-0.123976" VALUE_14="0.988864" VALUE_15="221.915924"/> - <RmMatrixVariable NAME="u_matViewInverse" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="ViewInverse" VALUE_0="-0.962819" VALUE_1="-0.257297" VALUE_2="-0.082333" VALUE_3="-13.744995" VALUE_4="-0.266063" VALUE_5="0.955950" VALUE_6="0.123978" VALUE_7="23.367828" VALUE_8="0.046807" VALUE_9="0.141272" VALUE_10="-0.988863" VALUE_11="-220.341003" VALUE_12="0.000000" VALUE_13="0.000000" VALUE_14="0.000000" VALUE_15="1.000000"/> - <RmFloatVariable NAME="u_specularPower" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE="25.000000" MIN="1.000000" MAX="100.000000" CLAMP="TRUE"/> - <RmVectorVariable NAME="u_viewPosition" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="ViewPosition" VALUE_0="-13.744995" VALUE_1="23.367828" VALUE_2="-220.341003" VALUE_3="1.000000" MIN="-10.000000" MAX="10.000000" CLAMP="FALSE" NORMALIZE="FALSE"/> - <RmDynamicVariable NAME="u_lightPosition" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VARIABLE_TYPE="FLOAT" ROWS="3" COLUMNS="1" FIXED_SIZE="TRUE" MIN="-100.000000" MAX="100.000000" CLAMP="TRUE" NORMALIZE="FALSE"> - <RmDynamicVariableValueContainer> - <RmDynamicVariableValue ROW_INDEX="0" COLUMN_INDEX="0" VALUE="-100.000000"/> - <RmDynamicVariableValue ROW_INDEX="1" COLUMN_INDEX="0" VALUE="100.000000"/> - <RmDynamicVariableValue ROW_INDEX="2" COLUMN_INDEX="0" VALUE="100.000000"/> - </RmDynamicVariableValueContainer> - </RmDynamicVariable> - <RmColorVariable NAME="u_ambient" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE_0="0.368627" VALUE_1="0.368421" VALUE_2="0.368421" VALUE_3="1.000000"/> - <RmColorVariable NAME="u_diffuse" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE_0="0.886275" VALUE_1="0.885003" VALUE_2="0.885003" VALUE_3="1.000000"/> - <RmColorVariable NAME="u_specular" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE_0="0.490196" VALUE_1="0.488722" VALUE_2="0.488722" VALUE_3="1.000000"/> - <Rm2DTextureVariable NAME="base" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" FILE_NAME="Fieldstone.tga" ORIGIN="0"/> - <Rm2DTextureVariable NAME="bump" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" FILE_NAME="FieldstoneBumpDOT3.tga" ORIGIN="0"/> - <RmCubemapVariable NAME="cubemap" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" FILE_NAME="Snow.dds" ORIGIN="0"/> - <RmStreamMap NAME="Stream Mapping" API=""> - <RmStream NAME="Stream" API="" STRIDE="56"> - <RmStreamChannel NAME="Position_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="0" USAGE_INDEX="0" ATTRIBUTE_NAME="a_vertex"/> - <RmStreamChannel NAME="TexCoord_0" API="" DATA_SIZE="8" DATA_TYPE="1" REGISTER="0" USAGE="5" USAGE_INDEX="0" ATTRIBUTE_NAME="a_texcoord0"/> - <RmStreamChannel NAME="Normal_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="3" USAGE_INDEX="0" ATTRIBUTE_NAME="a_normal"/> - <RmStreamChannel NAME="Binormal_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="7" USAGE_INDEX="0" ATTRIBUTE_NAME="a_binormal"/> - <RmStreamChannel NAME="Tangent_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="6" USAGE_INDEX="0" ATTRIBUTE_NAME="a_tangent"/> - </RmStream> - </RmStreamMap> - <RmModelData NAME="SkyDome" API="" FILE_NAME=".\Sphere.3ds" ORIENTATION="0"/> - <RmModelData NAME="Teapot" API="" FILE_NAME=".\Teapot.3ds" ORIENTATION="0"/> - <RmGLESPass NAME="Skybox" API="OpenGL ES" PASS_INDEX="0" ENABLED="TRUE"> - <RmCameraReference NAME="Camera" API="" USE_ACTIVE_CAMERA="FALSE"/> - <RmModelReference NAME="SkyDome" API=""/> - <RmRenderStateBlock NAME="Render State" API="OpenGL ES"> - <RmState NAME="GL_CullMode" API="OpenGL ES" STATE="8" VALUE="1" USAGE="RENDER_STATE"/> - <RmState NAME="GL_WriteMaskDepth" API="OpenGL ES" STATE="54" VALUE="0" USAGE="RENDER_STATE"/> - </RmRenderStateBlock> - <RmGLESShader NAME="Fragment Program" API="OpenGL ES" PIXEL_SHADER="TRUE"><RmShaderCode TYPE="TEXT"><![CDATA[ -precision mediump float; - -uniform samplerCube s_cubeMap; - -varying vec3 v_texcoord; - - -void main(void) -{ - gl_FragColor = textureCube( s_cubeMap, v_texcoord ); -}]]></RmShaderCode></RmGLESShader> - <RmGLESShader NAME="Vertex Program" API="OpenGL ES" PIXEL_SHADER="FALSE"><RmShaderCode TYPE="TEXT"><![CDATA[ -uniform vec4 u_viewPosition; -uniform mat4 u_matViewProjection; -attribute vec4 a_vertex; -varying vec3 v_texcoord; -void main(void) -{ - vec3 position = a_vertex.xyz; - - position += u_viewPosition.xyz; - - gl_Position = u_matViewProjection * vec4( position, 1.0 ); - - v_texcoord = a_vertex.xyz; -}]]></RmShaderCode></RmGLESShader> - <RmStreamMapReference NAME="Stream Mapping" API=""/> - <RmTextureObject NAME="s_cubeMap" API="OpenGL ES" STATE_INDEX="0" VERTEX_TEXTURE="FALSE"> - <RmTextureReference NAME="cubemap" API=""/> - </RmTextureObject> - <RmSampler NAME="s_cubeMap" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_viewPosition" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_matViewProjection" API="" REGISTER="-1"/> - </RmGLESPass> - <RmGLESPass NAME="Teapot" API="OpenGL ES" PASS_INDEX="1" ENABLED="TRUE"> - <RmCameraReference NAME="Camera" API="" USE_ACTIVE_CAMERA="FALSE"/> - <RmModelReference NAME="Teapot" API=""/> - <RmRenderStateBlock NAME="Render State" API="OpenGL ES"> - <RmState NAME="GL_CullMode" API="OpenGL ES" STATE="8" VALUE="3" USAGE="RENDER_STATE"/> - <RmState NAME="GL_WriteMaskDepth" API="OpenGL ES" STATE="54" VALUE="1" USAGE="RENDER_STATE"/> - </RmRenderStateBlock> - <RmGLESShader NAME="Vertex Program" API="OpenGL ES" PIXEL_SHADER="FALSE"><RmShaderCode TYPE="TEXT"><![CDATA[ -uniform mat4 u_matViewInverse; -uniform mat4 u_matViewProjection; -uniform vec3 u_lightPosition; -uniform vec3 u_eyePosition; - -varying vec2 v_texcoord; -varying vec3 v_lightDirection; -varying vec3 v_normal; -varying vec3 v_binormal; -varying vec3 v_tangent; - -attribute vec4 a_vertex; -attribute vec2 a_texcoord0; -attribute vec3 a_normal; -attribute vec3 a_binormal; -attribute vec3 a_tangent; - -void main( void ) -{ - // Transform light position into world space - vec3 lightPositionWorld = (u_matViewInverse * vec4(u_lightPosition, 1.0)).xyz; - - // Compute world-space light dirction vector - vec3 lightDirectionWorld = lightPositionWorld - a_vertex.xyz; - - // Pass the world-space light vector to the fragment shader - v_lightDirection = lightDirectionWorld; - - // Transform output position - gl_Position = u_matViewProjection * a_vertex; - - // Pass through other attributes - v_texcoord = a_texcoord0.xy; - v_normal = a_normal; - v_binormal = a_binormal; - v_tangent = a_tangent; - -}]]></RmShaderCode></RmGLESShader> - <RmGLESShader NAME="Fragment Program" API="OpenGL ES" PIXEL_SHADER="TRUE"><RmShaderCode TYPE="TEXT"><![CDATA[ -precision mediump float; - -uniform vec4 u_ambient; -uniform vec4 u_specular; -uniform vec4 u_diffuse; -uniform float u_specularPower; - -uniform sampler2D s_baseMap; -uniform sampler2D s_bumpMap; -uniform samplerCube s_envMap; - - -varying vec2 v_texcoord; -varying vec3 v_lightDirection; -varying vec3 v_normal; -varying vec3 v_binormal; -varying vec3 v_tangent; - -void main( void ) -{ - // Fetch basemap color - vec4 baseColor = texture2D( s_baseMap, v_texcoord ); - - // Fetch the tangent space normal from normal map - vec3 normal = texture2D( s_bumpMap, v_texcoord ).xyz; - - // Scale and bias from [0, 1] to [-1, 1] - normal = normal * 2.0 - 1.0; - - // Construct a matrix to transform from tangent to world space - mat3 tangentToWorldMat = mat3( v_tangent, - v_binormal, - v_normal ); - - // Transform normal to world space and normalize - normal = normalize( tangentToWorldMat * normal ); - - // Normalize the light direction - vec3 lightDirection = normalize( v_lightDirection ); - - // Compute N.L - float nDotL = dot( normal, lightDirection ); - - // Compute reflection vector - vec3 reflection = ( 2.0 * normal * nDotL ) - lightDirection; - - // Use the reflection vector to fetch from the environment map - vec4 envColor = textureCube( s_envMap, reflection ); - - // Output final color - gl_FragColor = 0.25 * baseColor + envColor; -}]]></RmShaderCode></RmGLESShader> - <RmStreamMapReference NAME="Stream Mapping" API=""/> - <RmTextureObject NAME="s_envMap" API="OpenGL ES" STATE_INDEX="2" VERTEX_TEXTURE="FALSE"> - <RmTextureReference NAME="cubemap" API=""/> - </RmTextureObject> - <RmTextureObject NAME="s_baseMap" API="OpenGL ES" STATE_INDEX="0" VERTEX_TEXTURE="FALSE"> - <RmTextureReference NAME="base" API=""/> - <RmState NAME="GL_TextureMinify" API="OpenGL ES" STATE="4" VALUE="6" USAGE="SAMPLER_STATE"/> - <RmState NAME="GL_TextureMagnify" API="OpenGL ES" STATE="5" VALUE="1" USAGE="SAMPLER_STATE"/> - </RmTextureObject> - <RmTextureObject NAME="s_bumpMap" API="OpenGL ES" STATE_INDEX="1" VERTEX_TEXTURE="FALSE"> - <RmTextureReference NAME="bump" API=""/> - <RmState NAME="GL_TextureMinify" API="OpenGL ES" STATE="4" VALUE="6" USAGE="SAMPLER_STATE"/> - <RmState NAME="GL_TextureMagnify" API="OpenGL ES" STATE="5" VALUE="1" USAGE="SAMPLER_STATE"/> - </RmTextureObject> - <RmSampler NAME="s_baseMap" API="" REGISTER="-1"/> - <RmSampler NAME="s_bumpMap" API="" REGISTER="-1"/> - <RmSampler NAME="s_envMap" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_lightPosition" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_matViewInverse" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_matViewProjection" API="" REGISTER="-1"/> - </RmGLESPass> - </RmOpenGLESEffect> - </RmEffectWorkspace> -</RENDER_MONKEY> diff --git a/third_party/gles2_book/Chapter_13/EnvironmentMapping/Fieldstone.tga b/third_party/gles2_book/Chapter_13/EnvironmentMapping/Fieldstone.tga Binary files differdeleted file mode 100644 index 8acafae236..0000000000 --- a/third_party/gles2_book/Chapter_13/EnvironmentMapping/Fieldstone.tga +++ /dev/null diff --git a/third_party/gles2_book/Chapter_13/EnvironmentMapping/FieldstoneBumpDOT3.tga b/third_party/gles2_book/Chapter_13/EnvironmentMapping/FieldstoneBumpDOT3.tga Binary files differdeleted file mode 100644 index 6290f52778..0000000000 --- a/third_party/gles2_book/Chapter_13/EnvironmentMapping/FieldstoneBumpDOT3.tga +++ /dev/null diff --git a/third_party/gles2_book/Chapter_13/EnvironmentMapping/Snow.dds b/third_party/gles2_book/Chapter_13/EnvironmentMapping/Snow.dds Binary files differdeleted file mode 100644 index 62799c28bf..0000000000 --- a/third_party/gles2_book/Chapter_13/EnvironmentMapping/Snow.dds +++ /dev/null diff --git a/third_party/gles2_book/Chapter_13/EnvironmentMapping/Sphere.3ds b/third_party/gles2_book/Chapter_13/EnvironmentMapping/Sphere.3ds Binary files differdeleted file mode 100644 index 108b93de49..0000000000 --- a/third_party/gles2_book/Chapter_13/EnvironmentMapping/Sphere.3ds +++ /dev/null diff --git a/third_party/gles2_book/Chapter_13/EnvironmentMapping/Teapot.3ds b/third_party/gles2_book/Chapter_13/EnvironmentMapping/Teapot.3ds Binary files differdeleted file mode 100644 index 78be5fb6d5..0000000000 --- a/third_party/gles2_book/Chapter_13/EnvironmentMapping/Teapot.3ds +++ /dev/null diff --git a/third_party/gles2_book/Chapter_13/Noise3D/Noise3D.rfx b/third_party/gles2_book/Chapter_13/Noise3D/Noise3D.rfx deleted file mode 100644 index b6663d15d2..0000000000 --- a/third_party/gles2_book/Chapter_13/Noise3D/Noise3D.rfx +++ /dev/null @@ -1,1171 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<!DOCTYPE RENDER_MONKEY [ - <!ELEMENT RENDER_MONKEY - ( - RmEffectWorkspace | - RmRegistryBranch | - RmClipboardNode - )?> - - <!ELEMENT RmEffectWorkspace - ( - RmRegistryBranch?, - RmPlugInData?, - RmStringVariable*, - ( - ( RmDirectXEffect, RmOpenGLEffect?, RmOpenGLESEffect? ) | - ( RmOpenGLEffect, RmDirectXEffect?, RmOpenGLESEffect? ) | - ( RmOpenGLESEffect, RmDirectXEffect?, RmOpenGLEffect? ) - )?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmEffectGroup - )* - )> - - <!ELEMENT RmEffectGroup - ( - RmPlugInData?, - ( - RmStringVariable | - RmDirectXEffect | - RmOpenGLEffect | - RmOpenGLESEffect | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData - )* - )> - - <!ELEMENT RmDirectXEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmPass - )* - )> - - <!ELEMENT RmOpenGLEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmGLPass - )* - )> - - <!ELEMENT RmOpenGLESEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmGLESPass - )* - )> - - <!ELEMENT RmPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( - ( RmHLSLShader | RmShader ), - ( RmShader | RmHLSLShader )? - ) - )?, - RmRenderTarget*, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject - )* - )> - - <!ELEMENT RmGLPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( RmGLShader, RmGLShader? ) - )?, - RmRenderTarget?, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmGLESPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( RmGLESShader, RmGLESShader? ) - )?, - RmRenderTarget?, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable | - RmShaderConstant - )* - )> - - <!ELEMENT RmHLSLShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmGLShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable - )* - )> - - <!ELEMENT RmGLESShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable - )* - )> - - <!ELEMENT RmTextureObject - ( - RmPlugInData?, - RmStringVariable*, - RmTextureReference?, - RmState* - )> - - <!ELEMENT RmLightObject - ( - RmPlugInData?, - RmStringVariable*, - RmLightReference? - )> - - <!ELEMENT RmMaterialObject - ( - RmPlugInData?, - RmStringVariable*, - RmMaterialReference? - )> - - <!ELEMENT RmRenderStateBlock - ( - RmPlugInData?, - ( - RmStringVariable | - RmState - )* - )> - - <!ELEMENT RmStreamMap - ( - RmPlugInData?, - ( - RmStringVariable | - RmStream - )* - )> - - <!ELEMENT RmStream ( RmPlugInData?, RmStreamChannel* )> - - <!ELEMENT RmModelData ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmTextureReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmLightReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmMaterialReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmCameraReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmModelReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmStreamMapReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmRenderableTexture ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmRenderTarget ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmBooleanVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmFloatVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmVectorVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmMatrixVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmColorVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmIntegerVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT Rm2DTextureVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmCubemapVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT Rm3DTextureVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmLightVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmMaterialVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmCamera ( RmPlugInData?, RmStringVariable* )> - - <!ELEMENT RmStringVariable ( RmTextDataBlock, RmPlugInData? )> - - <!ELEMENT RmDynamicVariable - ( - RmDynamicVariableValueContainer, - RmPlugInData?, - RmStringVariable? - )> - - <!ELEMENT RmDynamicVariableValueContainer - ( - RmPlugInData?, - RmDynamicVariableValue* - )> - - <!ELEMENT RmTextDataBlock ( #PCDATA ) > - - <!ELEMENT RmRegistryBranch - ( - RmTextDataBlock?, - ( - RmRegistryBranch | - RmStringVariable | - RmIntegerVariable | - RmBooleanVariable | - RmFloatVariable - )* - )> - - <!ELEMENT RmPlugInData - ( - RmTextDataBlock?, - ( - RmStringVariable | - RmIntegerVariable | - RmBooleanVariable | - RmFloatVariable | - RmVectorVariable - )* - )> - - <!ELEMENT RmClipboardNode - ( - RmTextDataBlock?, - ( - RmEffectWorkspace | - RmEffectGroup | - RmDirectXEffect | - RmOpenGLEffect | - RmOpenGLESEffect | - RmPass | - RmGLPass | - RmGLESPass | - RmShader | - RmHLSLShader | - RmGLShader | - RmGLESShader | - RmShaderConstant | - RmSampler | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmRenderStateBlock | - RmState | - RmStreamMap | - RmStream | - RmStreamChannel | - RmModelData | - RmTextureReference | - RmLightReference | - RmMaterialReference | - RmModelReference | - RmStreamMapReference | - RmRenderableTexture | - RmRenderTarget | - RmBooleanVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmDynamicVariableValue | - RmColorVariable | - RmIntegerVariable | - RmStringVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRegistryBranch | - RmPlugInData | - RmCamera | - RmCameraReference - )* - )> - - <!ELEMENT RmStreamChannel ( RmPlugInData? ) > - <!ELEMENT RmShaderConstant ( RmPlugInData? ) > - <!ELEMENT RmSampler ( RmPlugInData? ) > - <!ELEMENT RmState ( RmPlugInData? ) > - <!ELEMENT RmDynamicVariableValue ( RmPlugInData? ) > - - <!ELEMENT RmShaderCode ( #PCDATA ) > - - <!ATTLIST RmEffectWorkspace - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_EFFECT CDATA #REQUIRED - VALIDATION_STRING CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmEffectGroup - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmDirectXEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmOpenGLEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmOpenGLESEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLESPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER CDATA #REQUIRED - > - - <!ATTLIST RmHLSLShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - TARGET CDATA #REQUIRED - ENTRY_POINT CDATA #REQUIRED - COMPILER_FLAGS CDATA #REQUIRED - > - - <!ATTLIST RmGLShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLESShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShaderConstant - NAME CDATA #REQUIRED - API CDATA #REQUIRED - REGISTER CDATA #REQUIRED - > - - <!ATTLIST RmSampler - NAME CDATA #REQUIRED - API CDATA #REQUIRED - REGISTER CDATA #REQUIRED - > - - <!ATTLIST RmTextureObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STATE_INDEX CDATA #REQUIRED - VERTEX_TEXTURE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmLightObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - > - - <!ATTLIST RmMaterialObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - > - - <!ATTLIST RmRenderStateBlock - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmState - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STATE CDATA #REQUIRED - VALUE CDATA #REQUIRED - USAGE CDATA #REQUIRED - > - - <!ATTLIST RmStreamMap - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmStream - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STRIDE CDATA #REQUIRED - > - - <!ATTLIST RmStreamChannel - NAME CDATA #REQUIRED - API CDATA #REQUIRED - DATA_SIZE CDATA #REQUIRED - DATA_TYPE CDATA #REQUIRED - REGISTER CDATA #REQUIRED - USAGE CDATA #REQUIRED - USAGE_INDEX CDATA #REQUIRED - ATTRIBUTE_NAME CDATA #REQUIRED - > - - <!ATTLIST RmModelData - NAME CDATA #REQUIRED - API CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIENTATION CDATA #REQUIRED - > - - <!ATTLIST RmTextureReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmLightReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmMaterialReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmModelReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmStreamMapReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmRenderableTexture - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - WIDTH CDATA #REQUIRED - HEIGHT CDATA #REQUIRED - FORMAT CDATA #REQUIRED - USE_VIEWPORT_DIMENSIONS ( TRUE | FALSE ) #REQUIRED - GENERATE_MIPMAPS ( TRUE | FALSE ) #REQUIRED - WIDTH_RATIO CDATA #REQUIRED - HEIGHT_RATIO CDATA #REQUIRED - > - - <!ATTLIST RmRenderTarget - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - RENDER_TO_SCREEN ( TRUE | FALSE ) #REQUIRED - COLOR_CLEAR ( TRUE | FALSE ) #REQUIRED - DEPTH_CLEAR ( TRUE | FALSE ) #REQUIRED - CLEAR_COLOR_VALUE CDATA #REQUIRED - DEPTH_CLEAR_VALUE CDATA #REQUIRED - > - - <!ATTLIST RmBooleanVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - > - - <!ATTLIST RmFloatVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmVectorVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - NORMALIZE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmMatrixVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - VALUE_4 CDATA #REQUIRED - VALUE_5 CDATA #REQUIRED - VALUE_6 CDATA #REQUIRED - VALUE_7 CDATA #REQUIRED - VALUE_8 CDATA #REQUIRED - VALUE_9 CDATA #REQUIRED - VALUE_10 CDATA #REQUIRED - VALUE_11 CDATA #REQUIRED - VALUE_12 CDATA #REQUIRED - VALUE_13 CDATA #REQUIRED - VALUE_14 CDATA #REQUIRED - VALUE_15 CDATA #REQUIRED - > - - <!ATTLIST RmDynamicVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VARIABLE_TYPE ( FLOAT | INTEGER | BOOLEAN ) #REQUIRED - ROWS CDATA #REQUIRED - COLUMNS CDATA #REQUIRED - FIXED_SIZE ( TRUE | FALSE ) #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - NORMALIZE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmDynamicVariableValue - ROW_INDEX CDATA #REQUIRED - COLUMN_INDEX CDATA #REQUIRED - VALUE CDATA #REQUIRED - > - - <!ATTLIST RmColorVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - > - - <!ATTLIST RmIntegerVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmStringVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - > - - <!ATTLIST Rm2DTextureVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST RmCubemapVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST Rm3DTextureVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST RmLightVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - LIGHT_ENABLED ( TRUE | FALSE ) #REQUIRED - LIGHT_TYPE ( POSITIONAL | DIRECTIONAL | SPOTLIGHT ) #REQUIRED - AMBIENT_0 CDATA #REQUIRED - AMBIENT_1 CDATA #REQUIRED - AMBIENT_2 CDATA #REQUIRED - AMBIENT_3 CDATA #REQUIRED - DIFFUSE_0 CDATA #REQUIRED - DIFFUSE_1 CDATA #REQUIRED - DIFFUSE_2 CDATA #REQUIRED - DIFFUSE_3 CDATA #REQUIRED - SPECULAR_0 CDATA #REQUIRED - SPECULAR_1 CDATA #REQUIRED - SPECULAR_2 CDATA #REQUIRED - SPECULAR_3 CDATA #REQUIRED - POSITION_0 CDATA #REQUIRED - POSITION_1 CDATA #REQUIRED - POSITION_2 CDATA #REQUIRED - DIRECTION_0 CDATA #REQUIRED - DIRECTION_1 CDATA #REQUIRED - DIRECTION_2 CDATA #REQUIRED - ATTENUATION_0 CDATA #REQUIRED - ATTENUATION_1 CDATA #REQUIRED - ATTENUATION_2 CDATA #REQUIRED - SPOTLIGHT_THETA CDATA #REQUIRED - SPOTLIGHT_PHI CDATA #REQUIRED - RANGE CDATA #REQUIRED - FALLOFF CDATA #REQUIRED - > - - <!ATTLIST RmMaterialVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - AMBIENT_0 CDATA #REQUIRED - AMBIENT_1 CDATA #REQUIRED - AMBIENT_2 CDATA #REQUIRED - AMBIENT_3 CDATA #REQUIRED - DIFFUSE_0 CDATA #REQUIRED - DIFFUSE_1 CDATA #REQUIRED - DIFFUSE_2 CDATA #REQUIRED - DIFFUSE_3 CDATA #REQUIRED - SPECULAR_0 CDATA #REQUIRED - SPECULAR_1 CDATA #REQUIRED - SPECULAR_2 CDATA #REQUIRED - SPECULAR_3 CDATA #REQUIRED - EMISSIVE_0 CDATA #REQUIRED - EMISSIVE_1 CDATA #REQUIRED - EMISSIVE_2 CDATA #REQUIRED - EMISSIVE_3 CDATA #REQUIRED - SPECULAR_POWER CDATA #REQUIRED - > - - <!ATTLIST RmRegistryBranch - NAME CDATA #REQUIRED - API CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmPlugInData - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PLUGIN_GUID CDATA #REQUIRED - > - - <!ATTLIST RmClipboardNode - NAME CDATA #REQUIRED - API CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmCamera - NAME CDATA #REQUIRED - API CDATA #REQUIRED - CAMERA_POSITION_X CDATA #REQUIRED - CAMERA_POSITION_Y CDATA #REQUIRED - CAMERA_POSITION_Z CDATA #REQUIRED - LOOK_AT_VECTOR_X CDATA #REQUIRED - LOOK_AT_VECTOR_Y CDATA #REQUIRED - LOOK_AT_VECTOR_Z CDATA #REQUIRED - UP_VECTOR_X CDATA #REQUIRED - UP_VECTOR_Y CDATA #REQUIRED - UP_VECTOR_Z CDATA #REQUIRED - FOV CDATA #REQUIRED - NEAR_CLIP_PLANE CDATA #REQUIRED - FAR_CLIP_PLANE CDATA #REQUIRED - > - - <!ATTLIST RmCameraReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - USE_ACTIVE_CAMERA ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShaderCode - TYPE ( TEXT ) #REQUIRED - > - - <!ATTLIST RmTextDataBlock - TYPE ( TEXT ) #REQUIRED - > - -]> -<RENDER_MONKEY> - <RmEffectWorkspace NAME="Effect Workspace" API="" ACTIVE_EFFECT="Effect Workspace.Textured" VALIDATION_STRING="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_REGISTRY" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_LOCAL" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_PLUGIN" API="" XML_VERSION="RenderMonkey 1.71"><RmTextDataBlock TYPE="TEXT"><![CDATA[ -<DockingPaneLayouts><Application_Layout><Pane-1><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Artist Editor</Title><ID>1001</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>12</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>12</LastHolder></Pane-1><Pane-2><Type>0</Type><DockingCX>254</DockingCX><DockingCY>374</DockingCY><Title>u_fogColor</Title><ID>1100</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>6</DockingHolder><FloatingHolder>17</FloatingHolder><LastHolder>17</LastHolder></Pane-2><Pane-3><Type>2</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><Horiz>1</Horiz><Pane-1>4</Pane-1><Pane-2>5</Pane-2><Pane-3>6</Pane-3><Pane-4>7</Pane-4><Panes>4</Panes></Pane-3><Pane-4><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-4><Pane-5><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-5><Pane-6><Type>1</Type><DockingCX>254</DockingCX><DockingCY>374</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-6><Pane-7><Type>2</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><Horiz>0</Horiz><Pane-1>8</Pane-1><Pane-2>13</Pane-2><Panes>2</Panes></Pane-7><Pane-8><Type>2</Type><DockingCX>0</DockingCX><DockingCY>641</DockingCY><Horiz>1</Horiz><Pane-1>9</Pane-1><Pane-2>11</Pane-2><Pane-3>12</Pane-3><Panes>3</Panes></Pane-8><Pane-9><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>10</Selected><Panes>1</Panes><Pane-1>10</Pane-1></Pane-9><Pane-10><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Workspace</Title><ID>1000</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>9</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>9</LastHolder></Pane-10><Pane-11><Type>4</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY></Pane-11><Pane-12><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-12><Pane-13><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>14</Selected><Panes>1</Panes><Pane-1>14</Pane-1></Pane-13><Pane-14><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Output</Title><ID>1002</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>13</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>13</LastHolder></Pane-14><Pane-15><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>16</TopContaner><WindowRectTopPos>32</WindowRectTopPos><WindowRectBottomPos>406</WindowRectBottomPos><WindowRectLeftPos>0</WindowRectLeftPos><WindowRectRightPos>254</WindowRectRightPos></Pane-15><Pane-16><Type>2</Type><DockingCX>254</DockingCX><DockingCY>374</DockingCY><Horiz>1</Horiz><Pane-1>17</Pane-1><Panes>1</Panes></Pane-16><Pane-17><Type>1</Type><DockingCX>254</DockingCX><DockingCY>374</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-17><Pane-18><Type>0</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Title>u_fogMaxDist</Title><ID>1101</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>5</DockingHolder><FloatingHolder>21</FloatingHolder><LastHolder>21</LastHolder></Pane-18><Pane-19><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>20</TopContaner><WindowRectTopPos>32</WindowRectTopPos><WindowRectBottomPos>160</WindowRectBottomPos><WindowRectLeftPos>0</WindowRectLeftPos><WindowRectRightPos>566</WindowRectRightPos></Pane-19><Pane-20><Type>2</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Horiz>1</Horiz><Pane-1>21</Pane-1><Panes>1</Panes></Pane-20><Pane-21><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-21><Pane-22><Type>0</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Title>u_fogMinDist</Title><ID>1102</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>4</DockingHolder><FloatingHolder>25</FloatingHolder><LastHolder>25</LastHolder></Pane-22><Pane-23><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>24</TopContaner><WindowRectTopPos>32</WindowRectTopPos><WindowRectBottomPos>160</WindowRectBottomPos><WindowRectLeftPos>0</WindowRectLeftPos><WindowRectRightPos>566</WindowRectRightPos></Pane-23><Pane-24><Type>2</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Horiz>1</Horiz><Pane-1>25</Pane-1><Panes>1</Panes></Pane-24><Pane-25><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-25><Summary><TopContainer>3</TopContainer><Client>11</Client><Panes>25</Panes></Summary></Application_Layout></DockingPaneLayouts> -]]></RmTextDataBlock> - <RmRegistryBranch NAME="RmColorEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Textured.u_fogColor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="DockPaneID" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1100" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmBooleanVariable NAME="FloatingPoint" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="FALSE"/> - <RmIntegerVariable NAME="ColorType" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmBooleanVariable NAME="LargeSize" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="TRUE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmScalarEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Textured.u_fogMaxDist" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="DockPaneID" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1101" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="Effect Workspace.Textured.u_fogMinDist" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="DockPaneID" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1102" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmRenderStateBlockEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Textured" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="340" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="143" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1283" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="434" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmPreviewDx9Window" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmPreviewGLESWindow" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmPreviewGLWindow" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EffectPlacementRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Textured" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="528" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="512" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmPreviewGLPreview" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmLightEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="NoteEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmRenderableTextureEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmRenderTargetEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmShaderEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Textured" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Disassembly" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmStringVariable NAME="Editing Shader" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -Fragment Program]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="Editing Pass" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -Terrain]]></RmTextDataBlock></RmStringVariable> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-19" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="650" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="650" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="382" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmTextureObjectEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Textured" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="81" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="105" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1283" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="434" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmTextureGenerator" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmStreamEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Textured.Stream Mapping" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="258" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="128" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="851" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="270" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="WORKSPACE" API="" XML_VERSION="RenderMonkey 1.71"> - <RmStringVariable NAME="LAST_SAVE" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -20/1/2008 12:42:24]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="VERSION" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -RenderMonkey Version 1.80 (build 125)]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="XML_VERSION" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -RenderMonkey 1.71]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="BASE_WORKSPACE_PATH" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -D:\svn\redbook\Code\Chapter_13\Noise3D\]]></RmTextDataBlock></RmStringVariable> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmOpenGLESEffect NAME="Textured" API="OpenGL ES" ACTIVE_CAMERA="Camera"> - <RmCamera NAME="Camera" API="" CAMERA_POSITION_X="-80.307373" CAMERA_POSITION_Y="12.115058" CAMERA_POSITION_Z="-182.767441" LOOK_AT_VECTOR_X="0.000000" LOOK_AT_VECTOR_Y="0.000000" LOOK_AT_VECTOR_Z="0.000000" UP_VECTOR_X="-0.012923" UP_VECTOR_Y="0.997336" UP_VECTOR_Z="0.071790" FOV="45.000000" NEAR_CLIP_PLANE="1.000000" FAR_CLIP_PLANE="1000.000000"/> - <RmFloatVariable NAME="u_fogMinDist" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-200.000000" MIN="-1.000000" MAX="0.000000" CLAMP="FALSE"/> - <RmFloatVariable NAME="u_fogMaxDist" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="500.000000" MIN="-1.000000" MAX="1.000000" CLAMP="FALSE"/> - <RmVectorVariable NAME="u_eyePos" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="ViewPosition" VALUE_0="-80.307373" VALUE_1="12.115058" VALUE_2="-182.767441" VALUE_3="1.000000" MIN="-10.000000" MAX="10.000000" CLAMP="FALSE" NORMALIZE="FALSE"/> - <RmMatrixVariable NAME="u_matView" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="View" VALUE_0="-0.915752" VALUE_1="-0.040636" VALUE_2="0.399684" VALUE_3="-0.000002" VALUE_4="-0.012923" VALUE_5="0.997336" VALUE_6="0.071790" VALUE_7="0.000279" VALUE_8="-0.401537" VALUE_9="0.060575" VALUE_10="-0.913837" VALUE_11="-199.999985" VALUE_12="0.000000" VALUE_13="0.000000" VALUE_14="0.000000" VALUE_15="1.000000"/> - <RmMatrixVariable NAME="u_matViewProjection" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="ViewProjection" VALUE_0="-2.005162" VALUE_1="-0.088978" VALUE_2="0.875163" VALUE_3="-0.000005" VALUE_4="-0.031199" VALUE_5="2.407782" VALUE_6="0.173316" VALUE_7="0.000675" VALUE_8="0.401939" VALUE_9="-0.060636" VALUE_10="0.914752" VALUE_11="199.199188" VALUE_12="0.401537" VALUE_13="-0.060575" VALUE_14="0.913837" VALUE_15="199.999985"/> - <RmFloatVariable NAME="u_time" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="Time0_X" VALUE="100.126518" MIN="-1.000000" MAX="1.000000" CLAMP="FALSE"/> - <RmColorVariable NAME="u_fogColor" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE_0="1.000000" VALUE_1="1.000000" VALUE_2="1.000000" VALUE_3="0.000000"/> - <Rm2DTextureVariable NAME="base" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" FILE_NAME="Terrain.tga" ORIGIN="0"/> - <Rm3DTextureVariable NAME="NoiseVolume" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" FILE_NAME="NoiseVolume.dds" ORIGIN="0"/> - <RmStreamMap NAME="Stream Mapping" API=""> - <RmStream NAME="Stream" API="" STRIDE="20"> - <RmStreamChannel NAME="Position_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="0" USAGE_INDEX="0" ATTRIBUTE_NAME="a_vertex"/> - <RmStreamChannel NAME="TexCoord_0" API="" DATA_SIZE="8" DATA_TYPE="1" REGISTER="0" USAGE="5" USAGE_INDEX="0" ATTRIBUTE_NAME="a_texCoord"/> - </RmStream> - </RmStreamMap> - <RmModelData NAME="Model" API="" FILE_NAME=".\Terrain.3ds" ORIENTATION="0"/> - <RmModelData NAME="SkyDome" API="" FILE_NAME=".\SkyDome.3ds" ORIENTATION="0"/> - <RmGLESPass NAME="Sky" API="OpenGL ES" PASS_INDEX="0" ENABLED="TRUE"> - <RmCameraReference NAME="Camera" API="" USE_ACTIVE_CAMERA="FALSE"/> - <RmModelReference NAME="SkyDome" API=""/> - <RmRenderStateBlock NAME="Render State" API="OpenGL ES"> - <RmState NAME="GL_FrontFace" API="OpenGL ES" STATE="7" VALUE="2" USAGE="RENDER_STATE"/> - </RmRenderStateBlock> - <RmGLESShader NAME="Vertex Program" API="OpenGL ES" PIXEL_SHADER="FALSE"><RmShaderCode TYPE="TEXT"><![CDATA[ -uniform mat4 u_matViewProjection; -attribute vec4 a_vertex; -void main(void) -{ - gl_Position = u_matViewProjection * a_vertex; -}]]></RmShaderCode></RmGLESShader> - <RmGLESShader NAME="Fragment Program" API="OpenGL ES" PIXEL_SHADER="TRUE"><RmShaderCode TYPE="TEXT"><![CDATA[ -#ifdef GL_FRAGMENT_PRECISION_HIGH - // Default precision - precision highp float; -#else - precision mediump float; -#endif - -uniform vec4 u_fogColor; - -void main(void) -{ - gl_FragColor = u_fogColor; -}]]></RmShaderCode></RmGLESShader> - <RmStreamMapReference NAME="Stream Mapping" API=""/> - <RmShaderConstant NAME="u_fogColor" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_matViewProjection" API="" REGISTER="-1"/> - </RmGLESPass> - <RmGLESPass NAME="Terrain" API="OpenGL ES" PASS_INDEX="1" ENABLED="TRUE"> - <RmCameraReference NAME="Camera" API="" USE_ACTIVE_CAMERA="FALSE"/> - <RmModelReference NAME="Model" API=""/> - <RmRenderStateBlock NAME="Render State" API="OpenGL ES"> - <RmState NAME="GL_FrontFace" API="OpenGL ES" STATE="7" VALUE="1" USAGE="RENDER_STATE"/> - </RmRenderStateBlock> - <RmGLESShader NAME="Vertex Program" API="OpenGL ES" PIXEL_SHADER="FALSE"><RmShaderCode TYPE="TEXT"><![CDATA[ -uniform mat4 u_matViewProjection; -uniform mat4 u_matView; -uniform vec4 u_eyePos; - -attribute vec4 a_vertex; -attribute vec2 a_texCoord; - -varying vec2 v_texCoord; -varying float v_eyeDist; - -void main( void ) -{ - // Transform vertex to view-space - vec4 vViewPos = u_matView * a_vertex; - - // Compute the distance to eye - v_eyeDist = sqrt( (vViewPos.x - u_eyePos.x) * - (vViewPos.x - u_eyePos.x) + - (vViewPos.y - u_eyePos.y) * - (vViewPos.y - u_eyePos.y) + - (vViewPos.z - u_eyePos.z) * - (vViewPos.z - u_eyePos.z) ); - - gl_Position = u_matViewProjection * a_vertex; - v_texCoord = a_texCoord.xy; -}]]></RmShaderCode></RmGLESShader> - <RmGLESShader NAME="Fragment Program" API="OpenGL ES" PIXEL_SHADER="TRUE"><RmShaderCode TYPE="TEXT"><![CDATA[ -#extension GL_OES_texture_3D : enable -precision mediump float; - -uniform vec4 u_fogColor; -uniform float u_fogMaxDist; -uniform float u_fogMinDist; -uniform float u_time; -uniform sampler2D baseMap; -uniform sampler3D noiseVolume; - -varying vec2 v_texCoord; -varying float v_eyeDist; - -float computeLinearFogFactor() -{ - float factor; - - // Compute linear fog equation - factor = (u_fogMaxDist - v_eyeDist) / - (u_fogMaxDist - u_fogMinDist ); - - return factor; -} - -void main( void ) -{ - float fogFactor = computeLinearFogFactor(); - vec4 baseColor = texture2D( baseMap, v_texCoord ); - - // Distort fog factor by noise - vec3 noiseCoord; - noiseCoord.xy = v_texCoord.xy - ( u_time * 0.1 ); - noiseCoord.z = u_time * 0.1; - - fogFactor += texture3D( noiseVolume, noiseCoord ).r; - fogFactor = clamp ( fogFactor, 0.0, 1.0 ); - - // Compute final color as a lerp with fog factor - gl_FragColor = baseColor * fogFactor + - u_fogColor * (1.0 - fogFactor); -}]]></RmShaderCode></RmGLESShader> - <RmStreamMapReference NAME="Stream Mapping" API=""/> - <RmTextureObject NAME="baseMap" API="OpenGL ES" STATE_INDEX="0" VERTEX_TEXTURE="FALSE"> - <RmTextureReference NAME="base" API=""/> - <RmState NAME="GL_TextureMinify" API="OpenGL ES" STATE="4" VALUE="6" USAGE="SAMPLER_STATE"/> - <RmState NAME="GL_TextureMagnify" API="OpenGL ES" STATE="5" VALUE="1" USAGE="SAMPLER_STATE"/> - </RmTextureObject> - <RmTextureObject NAME="noiseVolume" API="OpenGL ES" STATE_INDEX="1" VERTEX_TEXTURE="FALSE"> - <RmTextureReference NAME="NoiseVolume" API=""/> - </RmTextureObject> - <RmSampler NAME="baseMap" API="" REGISTER="-1"/> - <RmSampler NAME="noiseVolume" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_fogMaxDist" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_fogMinDist" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_matView" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_matViewProjection" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_time" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_eyePos" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_fogColor" API="" REGISTER="-1"/> - </RmGLESPass> - </RmOpenGLESEffect> - </RmEffectWorkspace> -</RENDER_MONKEY> diff --git a/third_party/gles2_book/Chapter_13/Noise3D/NoiseVolume.dds b/third_party/gles2_book/Chapter_13/Noise3D/NoiseVolume.dds Binary files differdeleted file mode 100644 index bd8147d49f..0000000000 --- a/third_party/gles2_book/Chapter_13/Noise3D/NoiseVolume.dds +++ /dev/null diff --git a/third_party/gles2_book/Chapter_13/Noise3D/SkyDome.3ds b/third_party/gles2_book/Chapter_13/Noise3D/SkyDome.3ds Binary files differdeleted file mode 100644 index 5994396c77..0000000000 --- a/third_party/gles2_book/Chapter_13/Noise3D/SkyDome.3ds +++ /dev/null diff --git a/third_party/gles2_book/Chapter_13/Noise3D/Terrain.3ds b/third_party/gles2_book/Chapter_13/Noise3D/Terrain.3ds Binary files differdeleted file mode 100644 index a46d78754e..0000000000 --- a/third_party/gles2_book/Chapter_13/Noise3D/Terrain.3ds +++ /dev/null diff --git a/third_party/gles2_book/Chapter_13/Noise3D/Terrain.tga b/third_party/gles2_book/Chapter_13/Noise3D/Terrain.tga Binary files differdeleted file mode 100644 index 47d5117424..0000000000 --- a/third_party/gles2_book/Chapter_13/Noise3D/Terrain.tga +++ /dev/null diff --git a/third_party/gles2_book/Chapter_13/Noise3D/generatenoise.c b/third_party/gles2_book/Chapter_13/Noise3D/generatenoise.c deleted file mode 100644 index a4c969bde5..0000000000 --- a/third_party/gles2_book/Chapter_13/Noise3D/generatenoise.c +++ /dev/null @@ -1,147 +0,0 @@ -#include <stdlib.h> -#include <math.h> - -// permTable describes a random permutatin of 8-bit values from 0 to 255. -static unsigned char permTable[256] = { - 0xE1, 0x9B, 0xD2, 0x6C, 0xAF, 0xC7, 0xDD, 0x90, 0xCB, 0x74, 0x46, 0xD5, 0x45, 0x9E, 0x21, 0xFC, - 0x05, 0x52, 0xAD, 0x85, 0xDE, 0x8B, 0xAE, 0x1B, 0x09, 0x47, 0x5A, 0xF6, 0x4B, 0x82, 0x5B, 0xBF, - 0xA9, 0x8A, 0x02, 0x97, 0xC2, 0xEB, 0x51, 0x07, 0x19, 0x71, 0xE4, 0x9F, 0xCD, 0xFD, 0x86, 0x8E, - 0xF8, 0x41, 0xE0, 0xD9, 0x16, 0x79, 0xE5, 0x3F, 0x59, 0x67, 0x60, 0x68, 0x9C, 0x11, 0xC9, 0x81, - 0x24, 0x08, 0xA5, 0x6E, 0xED, 0x75, 0xE7, 0x38, 0x84, 0xD3, 0x98, 0x14, 0xB5, 0x6F, 0xEF, 0xDA, - 0xAA, 0xA3, 0x33, 0xAC, 0x9D, 0x2F, 0x50, 0xD4, 0xB0, 0xFA, 0x57, 0x31, 0x63, 0xF2, 0x88, 0xBD, - 0xA2, 0x73, 0x2C, 0x2B, 0x7C, 0x5E, 0x96, 0x10, 0x8D, 0xF7, 0x20, 0x0A, 0xC6, 0xDF, 0xFF, 0x48, - 0x35, 0x83, 0x54, 0x39, 0xDC, 0xC5, 0x3A, 0x32, 0xD0, 0x0B, 0xF1, 0x1C, 0x03, 0xC0, 0x3E, 0xCA, - 0x12, 0xD7, 0x99, 0x18, 0x4C, 0x29, 0x0F, 0xB3, 0x27, 0x2E, 0x37, 0x06, 0x80, 0xA7, 0x17, 0xBC, - 0x6A, 0x22, 0xBB, 0x8C, 0xA4, 0x49, 0x70, 0xB6, 0xF4, 0xC3, 0xE3, 0x0D, 0x23, 0x4D, 0xC4, 0xB9, - 0x1A, 0xC8, 0xE2, 0x77, 0x1F, 0x7B, 0xA8, 0x7D, 0xF9, 0x44, 0xB7, 0xE6, 0xB1, 0x87, 0xA0, 0xB4, - 0x0C, 0x01, 0xF3, 0x94, 0x66, 0xA6, 0x26, 0xEE, 0xFB, 0x25, 0xF0, 0x7E, 0x40, 0x4A, 0xA1, 0x28, - 0xB8, 0x95, 0xAB, 0xB2, 0x65, 0x42, 0x1D, 0x3B, 0x92, 0x3D, 0xFE, 0x6B, 0x2A, 0x56, 0x9A, 0x04, - 0xEC, 0xE8, 0x78, 0x15, 0xE9, 0xD1, 0x2D, 0x62, 0xC1, 0x72, 0x4E, 0x13, 0xCE, 0x0E, 0x76, 0x7F, - 0x30, 0x4F, 0x93, 0x55, 0x1E, 0xCF, 0xDB, 0x36, 0x58, 0xEA, 0xBE, 0x7A, 0x5F, 0x43, 0x8F, 0x6D, - 0x89, 0xD6, 0x91, 0x5D, 0x5C, 0x64, 0xF5, 0x00, 0xD8, 0xBA, 0x3C, 0x53, 0x69, 0x61, 0xCC, 0x34, - }; - -#define NOISE_TABLE_MASK 255 - -// lattice gradients 3D noise -static float gradientTable[256*3]; - -#define FLOOR(x) ((int)(x) - ((x) < 0 && (x) != (int)(x))) -#define smoothstep(t) ( t * t * (3.0f - 2.0f * t) ) -#define lerp(t, a, b) ( a + t * (b - a) ) - -void -initNoiseTable() -{ - long rnd; - int i; - double a; - float x, y, z, r, theta; - float gradients[256*3]; - unsigned int *p, *psrc; - - srandom(0); - - // build gradient table for 3D noise - for (i=0; i<256; i++) - { - /* - * calculate 1 - 2 * random number - */ - rnd = random(); - a = (random() & 0x7FFFFFFF) / (double) 0x7FFFFFFF; - z = (float)(1.0 - 2.0 * a); - - r = (float)sqrt(1.0 - z * z); // r is radius of circle - - rnd = random(); - a = (float)((random() & 0x7FFFFFFF) / (double) 0x7FFFFFFF); - theta = (float)(2.0 * M_PI * a); - x = (float)(r * (float)cos(a)); - y = (float)(r * (float)sin(a)); - - gradients[i*3] = x; - gradients[i*3+1] = y; - gradients[i*3+2] = z; - } - - // use the index in the permutation table to load the - // gradient values from gradients to gradientTable - p = (unsigned int *)gradientTable; - psrc = (unsigned int *)gradients; - for (i=0; i<256; i++) - { - int indx = permTable[i]; - p[i*3] = psrc[indx*3]; - p[i*3+1] = psrc[indx*3+1]; - p[i*3+2] = psrc[indx*3+2]; - } -} -// -// generate the value of gradient noise for a given lattice point -// -// (ix, iy, iz) specifies the 3D lattice position -// (fx, fy, fz) specifies the fractional part -// -static float -glattice3D(int ix, int iy, int iz, float fx, float fy, float fz) -{ - float *g; - int indx, y, z; - - z = permTable[iz & NOISE_TABLE_MASK]; - y = permTable[(iy + z) & NOISE_TABLE_MASK]; - indx = (ix + y) & NOISE_TABLE_MASK; - g = &gradientTable[indx*3]; - - return (g[0]*fx + g[1]*fy + g[2]*fz); -} - -// -// generate the 3D noise value -// f describes the input (x, y, z) position for which the noise value needs to be computed -// noise3D returns the scalar noise value -// -float -noise3D(float *f) -{ - int ix, iy, iz; - float fx0, fx1, fy0, fy1, fz0, fz1; - float wx, wy, wz; - float vx0, vx1, vy0, vy1, vz0, vz1; - - ix = FLOOR(f[0]); - fx0 = f[0] - ix; - fx1 = fx0 - 1; - wx = smoothstep(fx0); - - iy = FLOOR(f[1]); - fy0 = f[1] - iy; - fy1 = fy0 - 1; - wy = smoothstep(fy0); - - iz = FLOOR(f[2]); - fz0 = f[2] - iz; - fz1 = fz0 - 1; - wz = smoothstep(fz0); - - vx0 = glattice3D(ix, iy, iz, fx0, fy0, fz0); - vx1 = glattice3D(ix+1, iy, iz, fx1, fy0, fz0); - vy0 = lerp(wx, vx0, vx1); - vx0 = glattice3D(ix, iy+1, iz, fx0, fy1, fz0); - vx1 = glattice3D(ix+1, iy+1, iz, fx1, fy1, fz0); - vy1 = lerp(wx, vx0, vx1); - vz0 = lerp(wy, vy0, vy1); - - vx0 = glattice3D(ix, iy, iz+1, fx0, fy0, fz1); - vx1 = glattice3D(ix+1, iy, iz+1, fx1, fy0, fz1); - vy0 = lerp(wx, vx0, vx1); - vx0 = glattice3D(ix, iy+1, iz+1, fx0, fy1, fz1); - vx1 = glattice3D(ix+1, iy+1, iz+1, fx1, fy1, fz1); - vy1 = lerp(wx, vx0, vx1); - vz1 = lerp(wy, vy0, vy1); - - return lerp(wz, vz0, vz1);; -} - - diff --git a/third_party/gles2_book/Chapter_13/ParticleSystem/ParticleSystem.c b/third_party/gles2_book/Chapter_13/ParticleSystem/ParticleSystem.c deleted file mode 100644 index c6be9cf40d..0000000000 --- a/third_party/gles2_book/Chapter_13/ParticleSystem/ParticleSystem.c +++ /dev/null @@ -1,294 +0,0 @@ -// -// Book: OpenGL(R) ES 2.0 Programming Guide -// Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner -// ISBN-10: 0321502795 -// ISBN-13: 9780321502797 -// Publisher: Addison-Wesley Professional -// URLs: http://safari.informit.com/9780321563835 -// http://www.opengles-book.com -// - -// ParticleSystem.c -// -// This is an example that demonstrates rendering a particle system -// using a vertex shader and point sprites. -// -#include <stdlib.h> -#include <math.h> -#include "esUtil.h" - -#define NUM_PARTICLES 1000 -#define PARTICLE_SIZE 7 - -typedef struct -{ - // Handle to a program object - GLuint programObject; - - // Attribute locations - GLint lifetimeLoc; - GLint startPositionLoc; - GLint endPositionLoc; - - // Uniform location - GLint timeLoc; - GLint colorLoc; - GLint centerPositionLoc; - GLint samplerLoc; - - // Texture handle - GLuint textureId; - - // Particle vertex data - float particleData[ NUM_PARTICLES * PARTICLE_SIZE ]; - - // Current time - float time; - -} UserData; - -/// -// Load texture from disk -// -GLuint LoadTexture ( char *fileName ) -{ - int width, - height; - char *buffer = esLoadTGA ( fileName, &width, &height ); - GLuint texId; - - if ( buffer == NULL ) - { - esLogMessage ( "Error loading (%s) image.\n", fileName ); - return 0; - } - - glGenTextures ( 1, &texId ); - glBindTexture ( GL_TEXTURE_2D, texId ); - - glTexImage2D ( GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, buffer ); - glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); - glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); - glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE ); - glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE ); - - free ( buffer ); - - return texId; -} - - -/// -// Initialize the shader and program object -// -int Init ( ESContext *esContext ) -{ - UserData *userData = esContext->userData; - int i; - - GLbyte vShaderStr[] = - "uniform float u_time; \n" - "uniform vec3 u_centerPosition; \n" - "attribute float a_lifetime; \n" - "attribute vec3 a_startPosition; \n" - "attribute vec3 a_endPosition; \n" - "varying float v_lifetime; \n" - "void main() \n" - "{ \n" - " if ( u_time <= a_lifetime ) \n" - " { \n" - " gl_Position.xyz = a_startPosition + \n" - " (u_time * a_endPosition); \n" - " gl_Position.xyz += u_centerPosition; \n" - " gl_Position.w = 1.0; \n" - " } \n" - " else \n" - " gl_Position = vec4( -1000, -1000, 0, 0 ); \n" - " v_lifetime = 1.0 - ( u_time / a_lifetime ); \n" - " v_lifetime = clamp ( v_lifetime, 0.0, 1.0 ); \n" - " gl_PointSize = ( v_lifetime * v_lifetime ) * 40.0; \n" - "}"; - - GLbyte fShaderStr[] = - "precision mediump float; \n" - "uniform vec4 u_color; \n" - "varying float v_lifetime; \n" - "uniform sampler2D s_texture; \n" - "void main() \n" - "{ \n" - " vec4 texColor; \n" - " texColor = texture2D( s_texture, gl_PointCoord ); \n" - " gl_FragColor = vec4( u_color ) * texColor; \n" - " gl_FragColor.a *= v_lifetime; \n" - "} \n"; - - // Load the shaders and get a linked program object - userData->programObject = esLoadProgram ( vShaderStr, fShaderStr ); - - // Get the attribute locations - userData->lifetimeLoc = glGetAttribLocation ( userData->programObject, "a_lifetime" ); - userData->startPositionLoc = glGetAttribLocation ( userData->programObject, "a_startPosition" ); - userData->endPositionLoc = glGetAttribLocation ( userData->programObject, "a_endPosition" ); - - // Get the uniform locations - userData->timeLoc = glGetUniformLocation ( userData->programObject, "u_time" ); - userData->centerPositionLoc = glGetUniformLocation ( userData->programObject, "u_centerPosition" ); - userData->colorLoc = glGetUniformLocation ( userData->programObject, "u_color" ); - userData->samplerLoc = glGetUniformLocation ( userData->programObject, "s_texture" ); - - glClearColor ( 0.0f, 0.0f, 0.0f, 0.0f ); - - // Fill in particle data array - srand ( 0 ); - for ( i = 0; i < NUM_PARTICLES; i++ ) - { - float *particleData = &userData->particleData[i * PARTICLE_SIZE]; - - // Lifetime of particle - (*particleData++) = ( (float)(rand() % 10000) / 10000.0f ); - - // End position of particle - (*particleData++) = ( (float)(rand() % 10000) / 5000.0f ) - 1.0f; - (*particleData++) = ( (float)(rand() % 10000) / 5000.0f ) - 1.0f; - (*particleData++) = ( (float)(rand() % 10000) / 5000.0f ) - 1.0f; - - // Start position of particle - (*particleData++) = ( (float)(rand() % 10000) / 40000.0f ) - 0.125f; - (*particleData++) = ( (float)(rand() % 10000) / 40000.0f ) - 0.125f; - (*particleData++) = ( (float)(rand() % 10000) / 40000.0f ) - 0.125f; - - } - - // Initialize time to cause reset on first update - userData->time = 1.0f; - - userData->textureId = LoadTexture ( "smoke.tga" ); - if ( userData->textureId <= 0 ) - { - return FALSE; - } - - return TRUE; -} - -/// -// Update time-based variables -// -void Update ( ESContext *esContext, float deltaTime ) -{ - UserData *userData = esContext->userData; - - userData->time += deltaTime; - - if ( userData->time >= 1.0f ) - { - float centerPos[3]; - float color[4]; - - userData->time = 0.0f; - - // Pick a new start location and color - centerPos[0] = ( (float)(rand() % 10000) / 10000.0f ) - 0.5f; - centerPos[1] = ( (float)(rand() % 10000) / 10000.0f ) - 0.5f; - centerPos[2] = ( (float)(rand() % 10000) / 10000.0f ) - 0.5f; - - glUniform3fv ( userData->centerPositionLoc, 1, ¢erPos[0] ); - - // Random color - color[0] = ( (float)(rand() % 10000) / 20000.0f ) + 0.5f; - color[1] = ( (float)(rand() % 10000) / 20000.0f ) + 0.5f; - color[2] = ( (float)(rand() % 10000) / 20000.0f ) + 0.5f; - color[3] = 0.5; - - glUniform4fv ( userData->colorLoc, 1, &color[0] ); - } - - // Load uniform time variable - glUniform1f ( userData->timeLoc, userData->time ); -} - -/// -// Draw a triangle using the shader pair created in Init() -// -void Draw ( ESContext *esContext ) -{ - UserData *userData = esContext->userData; - - // Set the viewport - glViewport ( 0, 0, esContext->width, esContext->height ); - - // Clear the color buffer - glClear ( GL_COLOR_BUFFER_BIT ); - - // Use the program object - glUseProgram ( userData->programObject ); - - // Load the vertex attributes - glVertexAttribPointer ( userData->lifetimeLoc, 1, GL_FLOAT, - GL_FALSE, PARTICLE_SIZE * sizeof(GLfloat), - userData->particleData ); - - glVertexAttribPointer ( userData->endPositionLoc, 3, GL_FLOAT, - GL_FALSE, PARTICLE_SIZE * sizeof(GLfloat), - &userData->particleData[1] ); - - glVertexAttribPointer ( userData->startPositionLoc, 3, GL_FLOAT, - GL_FALSE, PARTICLE_SIZE * sizeof(GLfloat), - &userData->particleData[4] ); - - - glEnableVertexAttribArray ( userData->lifetimeLoc ); - glEnableVertexAttribArray ( userData->endPositionLoc ); - glEnableVertexAttribArray ( userData->startPositionLoc ); - // Blend particles - glEnable ( GL_BLEND ); - glBlendFunc ( GL_SRC_ALPHA, GL_ONE ); - - // Bind the texture - glActiveTexture ( GL_TEXTURE0 ); - glBindTexture ( GL_TEXTURE_2D, userData->textureId ); - glEnable ( GL_TEXTURE_2D ); - - // Set the sampler texture unit to 0 - glUniform1i ( userData->samplerLoc, 0 ); - - glDrawArrays( GL_POINTS, 0, NUM_PARTICLES ); - - eglSwapBuffers ( esContext->eglDisplay, esContext->eglSurface ); -} - -/// -// Cleanup -// -void ShutDown ( ESContext *esContext ) -{ - UserData *userData = esContext->userData; - - // Delete texture object - glDeleteTextures ( 1, &userData->textureId ); - - // Delete program object - glDeleteProgram ( userData->programObject ); -} - - -int main ( int argc, char *argv[] ) -{ - ESContext esContext; - UserData userData; - - esInitContext ( &esContext ); - esContext.userData = &userData; - - esCreateWindow ( &esContext, "ParticleSystem", 640, 480, ES_WINDOW_RGB ); - - if ( !Init ( &esContext ) ) - return 0; - - esRegisterDrawFunc ( &esContext, Draw ); - esRegisterUpdateFunc ( &esContext, Update ); - - esMainLoop ( &esContext ); - - ShutDown ( &esContext ); -} diff --git a/third_party/gles2_book/Chapter_13/ParticleSystem/smoke.tga b/third_party/gles2_book/Chapter_13/ParticleSystem/smoke.tga Binary files differdeleted file mode 100644 index 06a0705c7e..0000000000 --- a/third_party/gles2_book/Chapter_13/ParticleSystem/smoke.tga +++ /dev/null diff --git a/third_party/gles2_book/Chapter_13/PerFragmentLighting/Fieldstone.tga b/third_party/gles2_book/Chapter_13/PerFragmentLighting/Fieldstone.tga Binary files differdeleted file mode 100644 index 8acafae236..0000000000 --- a/third_party/gles2_book/Chapter_13/PerFragmentLighting/Fieldstone.tga +++ /dev/null diff --git a/third_party/gles2_book/Chapter_13/PerFragmentLighting/FieldstoneBumpDOT3.tga b/third_party/gles2_book/Chapter_13/PerFragmentLighting/FieldstoneBumpDOT3.tga Binary files differdeleted file mode 100644 index 6290f52778..0000000000 --- a/third_party/gles2_book/Chapter_13/PerFragmentLighting/FieldstoneBumpDOT3.tga +++ /dev/null diff --git a/third_party/gles2_book/Chapter_13/PerFragmentLighting/PerFragmentLighting.rfx b/third_party/gles2_book/Chapter_13/PerFragmentLighting/PerFragmentLighting.rfx deleted file mode 100644 index 58c3b9ff87..0000000000 --- a/third_party/gles2_book/Chapter_13/PerFragmentLighting/PerFragmentLighting.rfx +++ /dev/null @@ -1,1137 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<!DOCTYPE RENDER_MONKEY [ - <!ELEMENT RENDER_MONKEY - ( - RmEffectWorkspace | - RmRegistryBranch | - RmClipboardNode - )?> - - <!ELEMENT RmEffectWorkspace - ( - RmRegistryBranch?, - RmPlugInData?, - RmStringVariable*, - ( - ( RmDirectXEffect, RmOpenGLEffect?, RmOpenGLESEffect? ) | - ( RmOpenGLEffect, RmDirectXEffect?, RmOpenGLESEffect? ) | - ( RmOpenGLESEffect, RmDirectXEffect?, RmOpenGLEffect? ) - )?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmEffectGroup - )* - )> - - <!ELEMENT RmEffectGroup - ( - RmPlugInData?, - ( - RmStringVariable | - RmDirectXEffect | - RmOpenGLEffect | - RmOpenGLESEffect | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData - )* - )> - - <!ELEMENT RmDirectXEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmPass - )* - )> - - <!ELEMENT RmOpenGLEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmGLPass - )* - )> - - <!ELEMENT RmOpenGLESEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmGLESPass - )* - )> - - <!ELEMENT RmPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( - ( RmHLSLShader | RmShader ), - ( RmShader | RmHLSLShader )? - ) - )?, - RmRenderTarget*, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject - )* - )> - - <!ELEMENT RmGLPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( RmGLShader, RmGLShader? ) - )?, - RmRenderTarget?, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmGLESPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( RmGLESShader, RmGLESShader? ) - )?, - RmRenderTarget?, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable | - RmShaderConstant - )* - )> - - <!ELEMENT RmHLSLShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmGLShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable - )* - )> - - <!ELEMENT RmGLESShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable - )* - )> - - <!ELEMENT RmTextureObject - ( - RmPlugInData?, - RmStringVariable*, - RmTextureReference?, - RmState* - )> - - <!ELEMENT RmLightObject - ( - RmPlugInData?, - RmStringVariable*, - RmLightReference? - )> - - <!ELEMENT RmMaterialObject - ( - RmPlugInData?, - RmStringVariable*, - RmMaterialReference? - )> - - <!ELEMENT RmRenderStateBlock - ( - RmPlugInData?, - ( - RmStringVariable | - RmState - )* - )> - - <!ELEMENT RmStreamMap - ( - RmPlugInData?, - ( - RmStringVariable | - RmStream - )* - )> - - <!ELEMENT RmStream ( RmPlugInData?, RmStreamChannel* )> - - <!ELEMENT RmModelData ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmTextureReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmLightReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmMaterialReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmCameraReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmModelReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmStreamMapReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmRenderableTexture ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmRenderTarget ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmBooleanVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmFloatVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmVectorVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmMatrixVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmColorVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmIntegerVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT Rm2DTextureVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmCubemapVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT Rm3DTextureVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmLightVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmMaterialVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmCamera ( RmPlugInData?, RmStringVariable* )> - - <!ELEMENT RmStringVariable ( RmTextDataBlock, RmPlugInData? )> - - <!ELEMENT RmDynamicVariable - ( - RmDynamicVariableValueContainer, - RmPlugInData?, - RmStringVariable? - )> - - <!ELEMENT RmDynamicVariableValueContainer - ( - RmPlugInData?, - RmDynamicVariableValue* - )> - - <!ELEMENT RmTextDataBlock ( #PCDATA ) > - - <!ELEMENT RmRegistryBranch - ( - RmTextDataBlock?, - ( - RmRegistryBranch | - RmStringVariable | - RmIntegerVariable | - RmBooleanVariable | - RmFloatVariable - )* - )> - - <!ELEMENT RmPlugInData - ( - RmTextDataBlock?, - ( - RmStringVariable | - RmIntegerVariable | - RmBooleanVariable | - RmFloatVariable | - RmVectorVariable - )* - )> - - <!ELEMENT RmClipboardNode - ( - RmTextDataBlock?, - ( - RmEffectWorkspace | - RmEffectGroup | - RmDirectXEffect | - RmOpenGLEffect | - RmOpenGLESEffect | - RmPass | - RmGLPass | - RmGLESPass | - RmShader | - RmHLSLShader | - RmGLShader | - RmGLESShader | - RmShaderConstant | - RmSampler | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmRenderStateBlock | - RmState | - RmStreamMap | - RmStream | - RmStreamChannel | - RmModelData | - RmTextureReference | - RmLightReference | - RmMaterialReference | - RmModelReference | - RmStreamMapReference | - RmRenderableTexture | - RmRenderTarget | - RmBooleanVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmDynamicVariableValue | - RmColorVariable | - RmIntegerVariable | - RmStringVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRegistryBranch | - RmPlugInData | - RmCamera | - RmCameraReference - )* - )> - - <!ELEMENT RmStreamChannel ( RmPlugInData? ) > - <!ELEMENT RmShaderConstant ( RmPlugInData? ) > - <!ELEMENT RmSampler ( RmPlugInData? ) > - <!ELEMENT RmState ( RmPlugInData? ) > - <!ELEMENT RmDynamicVariableValue ( RmPlugInData? ) > - - <!ELEMENT RmShaderCode ( #PCDATA ) > - - <!ATTLIST RmEffectWorkspace - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_EFFECT CDATA #REQUIRED - VALIDATION_STRING CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmEffectGroup - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmDirectXEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmOpenGLEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmOpenGLESEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLESPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER CDATA #REQUIRED - > - - <!ATTLIST RmHLSLShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - TARGET CDATA #REQUIRED - ENTRY_POINT CDATA #REQUIRED - COMPILER_FLAGS CDATA #REQUIRED - > - - <!ATTLIST RmGLShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLESShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShaderConstant - NAME CDATA #REQUIRED - API CDATA #REQUIRED - REGISTER CDATA #REQUIRED - > - - <!ATTLIST RmSampler - NAME CDATA #REQUIRED - API CDATA #REQUIRED - REGISTER CDATA #REQUIRED - > - - <!ATTLIST RmTextureObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STATE_INDEX CDATA #REQUIRED - VERTEX_TEXTURE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmLightObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - > - - <!ATTLIST RmMaterialObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - > - - <!ATTLIST RmRenderStateBlock - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmState - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STATE CDATA #REQUIRED - VALUE CDATA #REQUIRED - USAGE CDATA #REQUIRED - > - - <!ATTLIST RmStreamMap - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmStream - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STRIDE CDATA #REQUIRED - > - - <!ATTLIST RmStreamChannel - NAME CDATA #REQUIRED - API CDATA #REQUIRED - DATA_SIZE CDATA #REQUIRED - DATA_TYPE CDATA #REQUIRED - REGISTER CDATA #REQUIRED - USAGE CDATA #REQUIRED - USAGE_INDEX CDATA #REQUIRED - ATTRIBUTE_NAME CDATA #REQUIRED - > - - <!ATTLIST RmModelData - NAME CDATA #REQUIRED - API CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIENTATION CDATA #REQUIRED - > - - <!ATTLIST RmTextureReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmLightReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmMaterialReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmModelReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmStreamMapReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmRenderableTexture - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - WIDTH CDATA #REQUIRED - HEIGHT CDATA #REQUIRED - FORMAT CDATA #REQUIRED - USE_VIEWPORT_DIMENSIONS ( TRUE | FALSE ) #REQUIRED - GENERATE_MIPMAPS ( TRUE | FALSE ) #REQUIRED - WIDTH_RATIO CDATA #REQUIRED - HEIGHT_RATIO CDATA #REQUIRED - > - - <!ATTLIST RmRenderTarget - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - RENDER_TO_SCREEN ( TRUE | FALSE ) #REQUIRED - COLOR_CLEAR ( TRUE | FALSE ) #REQUIRED - DEPTH_CLEAR ( TRUE | FALSE ) #REQUIRED - CLEAR_COLOR_VALUE CDATA #REQUIRED - DEPTH_CLEAR_VALUE CDATA #REQUIRED - > - - <!ATTLIST RmBooleanVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - > - - <!ATTLIST RmFloatVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmVectorVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - NORMALIZE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmMatrixVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - VALUE_4 CDATA #REQUIRED - VALUE_5 CDATA #REQUIRED - VALUE_6 CDATA #REQUIRED - VALUE_7 CDATA #REQUIRED - VALUE_8 CDATA #REQUIRED - VALUE_9 CDATA #REQUIRED - VALUE_10 CDATA #REQUIRED - VALUE_11 CDATA #REQUIRED - VALUE_12 CDATA #REQUIRED - VALUE_13 CDATA #REQUIRED - VALUE_14 CDATA #REQUIRED - VALUE_15 CDATA #REQUIRED - > - - <!ATTLIST RmDynamicVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VARIABLE_TYPE ( FLOAT | INTEGER | BOOLEAN ) #REQUIRED - ROWS CDATA #REQUIRED - COLUMNS CDATA #REQUIRED - FIXED_SIZE ( TRUE | FALSE ) #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - NORMALIZE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmDynamicVariableValue - ROW_INDEX CDATA #REQUIRED - COLUMN_INDEX CDATA #REQUIRED - VALUE CDATA #REQUIRED - > - - <!ATTLIST RmColorVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - > - - <!ATTLIST RmIntegerVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmStringVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - > - - <!ATTLIST Rm2DTextureVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST RmCubemapVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST Rm3DTextureVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST RmLightVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - LIGHT_ENABLED ( TRUE | FALSE ) #REQUIRED - LIGHT_TYPE ( POSITIONAL | DIRECTIONAL | SPOTLIGHT ) #REQUIRED - AMBIENT_0 CDATA #REQUIRED - AMBIENT_1 CDATA #REQUIRED - AMBIENT_2 CDATA #REQUIRED - AMBIENT_3 CDATA #REQUIRED - DIFFUSE_0 CDATA #REQUIRED - DIFFUSE_1 CDATA #REQUIRED - DIFFUSE_2 CDATA #REQUIRED - DIFFUSE_3 CDATA #REQUIRED - SPECULAR_0 CDATA #REQUIRED - SPECULAR_1 CDATA #REQUIRED - SPECULAR_2 CDATA #REQUIRED - SPECULAR_3 CDATA #REQUIRED - POSITION_0 CDATA #REQUIRED - POSITION_1 CDATA #REQUIRED - POSITION_2 CDATA #REQUIRED - DIRECTION_0 CDATA #REQUIRED - DIRECTION_1 CDATA #REQUIRED - DIRECTION_2 CDATA #REQUIRED - ATTENUATION_0 CDATA #REQUIRED - ATTENUATION_1 CDATA #REQUIRED - ATTENUATION_2 CDATA #REQUIRED - SPOTLIGHT_THETA CDATA #REQUIRED - SPOTLIGHT_PHI CDATA #REQUIRED - RANGE CDATA #REQUIRED - FALLOFF CDATA #REQUIRED - > - - <!ATTLIST RmMaterialVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - AMBIENT_0 CDATA #REQUIRED - AMBIENT_1 CDATA #REQUIRED - AMBIENT_2 CDATA #REQUIRED - AMBIENT_3 CDATA #REQUIRED - DIFFUSE_0 CDATA #REQUIRED - DIFFUSE_1 CDATA #REQUIRED - DIFFUSE_2 CDATA #REQUIRED - DIFFUSE_3 CDATA #REQUIRED - SPECULAR_0 CDATA #REQUIRED - SPECULAR_1 CDATA #REQUIRED - SPECULAR_2 CDATA #REQUIRED - SPECULAR_3 CDATA #REQUIRED - EMISSIVE_0 CDATA #REQUIRED - EMISSIVE_1 CDATA #REQUIRED - EMISSIVE_2 CDATA #REQUIRED - EMISSIVE_3 CDATA #REQUIRED - SPECULAR_POWER CDATA #REQUIRED - > - - <!ATTLIST RmRegistryBranch - NAME CDATA #REQUIRED - API CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmPlugInData - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PLUGIN_GUID CDATA #REQUIRED - > - - <!ATTLIST RmClipboardNode - NAME CDATA #REQUIRED - API CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmCamera - NAME CDATA #REQUIRED - API CDATA #REQUIRED - CAMERA_POSITION_X CDATA #REQUIRED - CAMERA_POSITION_Y CDATA #REQUIRED - CAMERA_POSITION_Z CDATA #REQUIRED - LOOK_AT_VECTOR_X CDATA #REQUIRED - LOOK_AT_VECTOR_Y CDATA #REQUIRED - LOOK_AT_VECTOR_Z CDATA #REQUIRED - UP_VECTOR_X CDATA #REQUIRED - UP_VECTOR_Y CDATA #REQUIRED - UP_VECTOR_Z CDATA #REQUIRED - FOV CDATA #REQUIRED - NEAR_CLIP_PLANE CDATA #REQUIRED - FAR_CLIP_PLANE CDATA #REQUIRED - > - - <!ATTLIST RmCameraReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - USE_ACTIVE_CAMERA ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShaderCode - TYPE ( TEXT ) #REQUIRED - > - - <!ATTLIST RmTextDataBlock - TYPE ( TEXT ) #REQUIRED - > - -]> -<RENDER_MONKEY> - <RmEffectWorkspace NAME="Effect Workspace" API="" ACTIVE_EFFECT="Effect Workspace.Textured Bump" VALIDATION_STRING="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_REGISTRY" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_LOCAL" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_PLUGIN" API="" XML_VERSION="RenderMonkey 1.71"><RmTextDataBlock TYPE="TEXT"><![CDATA[ -<DockingPaneLayouts><Application_Layout><Pane-1><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Artist Editor</Title><ID>1001</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>8</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>8</LastHolder></Pane-1><Pane-2><Type>2</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><Horiz>1</Horiz><Pane-1>3</Pane-1><Panes>1</Panes></Pane-2><Pane-3><Type>2</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><Horiz>0</Horiz><Pane-1>4</Pane-1><Pane-2>9</Pane-2><Panes>2</Panes></Pane-3><Pane-4><Type>2</Type><DockingCX>0</DockingCX><DockingCY>791</DockingCY><Horiz>1</Horiz><Pane-1>5</Pane-1><Pane-2>7</Pane-2><Pane-3>8</Pane-3><Panes>3</Panes></Pane-4><Pane-5><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>6</Selected><Panes>1</Panes><Pane-1>6</Pane-1></Pane-5><Pane-6><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Workspace</Title><ID>1000</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>5</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>5</LastHolder></Pane-6><Pane-7><Type>4</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY></Pane-7><Pane-8><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-8><Pane-9><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>10</Selected><Panes>1</Panes><Pane-1>10</Pane-1></Pane-9><Pane-10><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Output</Title><ID>1002</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>9</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>9</LastHolder></Pane-10><Summary><TopContainer>2</TopContainer><Client>7</Client><Panes>10</Panes></Summary></Application_Layout></DockingPaneLayouts> -]]></RmTextDataBlock> - <RmRegistryBranch NAME="RmPreviewGLWindow" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EffectPlacementRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Textured Bump" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="349" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="350" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmStreamEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Textured Bump.Stream Mapping" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="663" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="400" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="851" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="310" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmPreviewDx9Window" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmPreviewGLESWindow" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmPreviewGLPreview" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmLightEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="NoteEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmRenderableTextureEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmRenderTargetEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmShaderEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Textured Bump" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Disassembly" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmStringVariable NAME="Editing Shader" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -Fragment Program]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="Editing Pass" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -Pass 0]]></RmTextDataBlock></RmStringVariable> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="32" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1014" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="650" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="43" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmRenderStateBlockEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmTextureObjectEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmTextureGenerator" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="WORKSPACE" API="" XML_VERSION="RenderMonkey 1.71"> - <RmStringVariable NAME="LAST_SAVE" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -21/12/2007 14:16:11]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="VERSION" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -RenderMonkey Version 1.80 (build 125)]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="XML_VERSION" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -RenderMonkey 1.71]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="BASE_WORKSPACE_PATH" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -D:\download\]]></RmTextDataBlock></RmStringVariable> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmOpenGLESEffect NAME="Textured Bump" API="OpenGL ES" ACTIVE_CAMERA=""> - <RmFloatVariable NAME="u_specularPower" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE="25.000000" MIN="1.000000" MAX="100.000000" CLAMP="TRUE"/> - <RmDynamicVariable NAME="u_lightPosition" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VARIABLE_TYPE="FLOAT" ROWS="3" COLUMNS="1" FIXED_SIZE="TRUE" MIN="-100.000000" MAX="100.000000" CLAMP="TRUE" NORMALIZE="FALSE"> - <RmDynamicVariableValueContainer> - <RmDynamicVariableValue ROW_INDEX="0" COLUMN_INDEX="0" VALUE="-100.000000"/> - <RmDynamicVariableValue ROW_INDEX="1" COLUMN_INDEX="0" VALUE="100.000000"/> - <RmDynamicVariableValue ROW_INDEX="2" COLUMN_INDEX="0" VALUE="100.000000"/> - </RmDynamicVariableValueContainer> - </RmDynamicVariable> - <RmDynamicVariable NAME="u_eyePosition" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VARIABLE_TYPE="FLOAT" ROWS="3" COLUMNS="1" FIXED_SIZE="TRUE" MIN="-100.000000" MAX="100.000000" CLAMP="TRUE" NORMALIZE="FALSE"> - <RmDynamicVariableValueContainer> - <RmDynamicVariableValue ROW_INDEX="0" COLUMN_INDEX="0" VALUE="0.000000"/> - <RmDynamicVariableValue ROW_INDEX="1" COLUMN_INDEX="0" VALUE="0.000000"/> - <RmDynamicVariableValue ROW_INDEX="2" COLUMN_INDEX="0" VALUE="100.000000"/> - </RmDynamicVariableValueContainer> - </RmDynamicVariable> - <RmMatrixVariable NAME="u_matViewProjection" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="ViewProjection" VALUE_0="1.248492" VALUE_1="-0.144174" VALUE_2="1.796089" VALUE_3="-0.000000" VALUE_4="-0.822713" VALUE_5="2.144300" VALUE_6="0.744007" VALUE_7="-0.000062" VALUE_8="0.748748" VALUE_9="0.455184" VALUE_10="-0.483929" VALUE_11="199.199112" VALUE_12="0.747999" VALUE_13="0.454729" VALUE_14="-0.483445" VALUE_15="199.999908"/> - <RmMatrixVariable NAME="u_matViewInverse" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="ViewInverse" VALUE_0="0.569533" VALUE_1="-0.340779" VALUE_2="-0.747999" VALUE_3="-149.599716" VALUE_4="-0.065769" VALUE_5="0.888198" VALUE_6="-0.454729" VALUE_7="-90.945732" VALUE_8="0.819333" VALUE_9="0.308178" VALUE_10="0.483445" VALUE_11="96.689011" VALUE_12="-0.000000" VALUE_13="-0.000000" VALUE_14="0.000000" VALUE_15="1.000000"/> - <RmColorVariable NAME="u_ambient" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE_0="0.368627" VALUE_1="0.368421" VALUE_2="0.368421" VALUE_3="1.000000"/> - <RmColorVariable NAME="u_diffuse" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE_0="0.886275" VALUE_1="0.885003" VALUE_2="0.885003" VALUE_3="1.000000"/> - <RmColorVariable NAME="u_specular" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE_0="0.490196" VALUE_1="0.488722" VALUE_2="0.488722" VALUE_3="1.000000"/> - <Rm2DTextureVariable NAME="bump" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" FILE_NAME="FieldstoneBumpDOT3.tga" ORIGIN="0"/> - <Rm2DTextureVariable NAME="base" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" FILE_NAME="Fieldstone.tga" ORIGIN="0"/> - <RmStreamMap NAME="Stream Mapping" API=""> - <RmStream NAME="Stream" API="" STRIDE="56"> - <RmStreamChannel NAME="Position_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="0" USAGE_INDEX="0" ATTRIBUTE_NAME="a_vertex"/> - <RmStreamChannel NAME="TexCoord_0" API="" DATA_SIZE="8" DATA_TYPE="1" REGISTER="0" USAGE="5" USAGE_INDEX="0" ATTRIBUTE_NAME="a_texcoord0"/> - <RmStreamChannel NAME="Normal_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="3" USAGE_INDEX="0" ATTRIBUTE_NAME="a_normal"/> - <RmStreamChannel NAME="Binormal_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="7" USAGE_INDEX="0" ATTRIBUTE_NAME="a_binormal"/> - <RmStreamChannel NAME="Tangent_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="6" USAGE_INDEX="0" ATTRIBUTE_NAME="a_tangent"/> - </RmStream> - </RmStreamMap> - <RmModelData NAME="Model" API="" FILE_NAME=".\Torus.3ds" ORIENTATION="0"/> - <RmGLESPass NAME="Pass 0" API="OpenGL ES" PASS_INDEX="0" ENABLED="TRUE"> - <RmModelReference NAME="Model" API=""/> - <RmGLESShader NAME="Vertex Program" API="OpenGL ES" PIXEL_SHADER="FALSE"><RmShaderCode TYPE="TEXT"><![CDATA[ -uniform mat4 u_matViewInverse; -uniform mat4 u_matViewProjection; -uniform vec3 u_lightPosition; -uniform vec3 u_eyePosition; - -varying vec2 v_texcoord; -varying vec3 v_viewDirection; -varying vec3 v_lightDirection; - -attribute vec4 a_vertex; -attribute vec2 a_texcoord0; -attribute vec3 a_normal; -attribute vec3 a_binormal; -attribute vec3 a_tangent; - -void main( void ) -{ - // Transform eye vector into world space - vec3 eyePositionWorld = (u_matViewInverse * vec4(u_eyePosition, 1.0)).xyz; - - // Compute world-space direction vector - vec3 viewDirectionWorld = eyePositionWorld - a_vertex.xyz; - - // Transform light position into world space - vec3 lightPositionWorld = (u_matViewInverse * vec4(u_lightPosition, 1.0)).xyz; - - // Compute world-space light dirction vector - vec3 lightDirectionWorld = lightPositionWorld - a_vertex.xyz; - - // Create the tangent matrix - mat3 tangentMat = mat3( a_tangent, - a_binormal, - a_normal ); - - // Transform the view and light vectors into tangent space - v_viewDirection = viewDirectionWorld * tangentMat; - v_lightDirection = lightDirectionWorld * tangentMat; - - // Transform output position - gl_Position = u_matViewProjection * a_vertex; - - // Pass through texture coordinate - v_texcoord = a_texcoord0.xy; - -}]]></RmShaderCode></RmGLESShader> - <RmGLESShader NAME="Fragment Program" API="OpenGL ES" PIXEL_SHADER="TRUE"><RmShaderCode TYPE="TEXT"><![CDATA[ -precision mediump float; - -uniform vec4 u_ambient; -uniform vec4 u_specular; -uniform vec4 u_diffuse; -uniform float u_specularPower; - -uniform sampler2D s_baseMap; -uniform sampler2D s_bumpMap; - -varying vec2 v_texcoord; -varying vec3 v_viewDirection; -varying vec3 v_lightDirection; - -void main( void ) -{ - // Fetch basemap color - vec4 baseColor = texture2D( s_baseMap, v_texcoord ); - - // Fetch the tangent space normal from normal map - vec3 normal = texture2D( s_bumpMap, v_texcoord ).xyz; - - // Scale and bias from [0, 1] to [-1, 1] and normalize - normal = normalize( normal * 2.0 - 1.0 ); - - // Normalize the light direction and view direction - vec3 lightDirection = normalize( v_lightDirection ); - vec3 viewDirection = normalize( v_viewDirection ); - - // Compute N.L - float nDotL = dot( normal, lightDirection ); - - // Compute reflection vector - vec3 reflection = ( 2.0 * normal * nDotL ) - lightDirection; - - // Compute R.V - float rDotV = max( 0.0, dot( reflection, viewDirection ) ); - - // Compute Ambient term - vec4 ambient = u_ambient * baseColor; - - // Compute Diffuse term - vec4 diffuse = u_diffuse * nDotL * baseColor; - - // Compute Specular term - vec4 specular = u_specular * pow( rDotV, u_specularPower ); - - // Output final color - gl_FragColor = ambient + diffuse + specular; -}]]></RmShaderCode></RmGLESShader> - <RmStreamMapReference NAME="Stream Mapping" API=""/> - <RmTextureObject NAME="s_baseMap" API="OpenGL ES" STATE_INDEX="0" VERTEX_TEXTURE="FALSE"> - <RmTextureReference NAME="base" API=""/> - <RmState NAME="GL_TextureMinify" API="OpenGL ES" STATE="4" VALUE="6" USAGE="SAMPLER_STATE"/> - <RmState NAME="GL_TextureMagnify" API="OpenGL ES" STATE="5" VALUE="1" USAGE="SAMPLER_STATE"/> - </RmTextureObject> - <RmTextureObject NAME="s_bumpMap" API="OpenGL ES" STATE_INDEX="1" VERTEX_TEXTURE="FALSE"> - <RmTextureReference NAME="bump" API=""/> - <RmState NAME="GL_TextureMinify" API="OpenGL ES" STATE="4" VALUE="6" USAGE="SAMPLER_STATE"/> - <RmState NAME="GL_TextureMagnify" API="OpenGL ES" STATE="5" VALUE="1" USAGE="SAMPLER_STATE"/> - </RmTextureObject> - <RmSampler NAME="s_baseMap" API="" REGISTER="-1"/> - <RmSampler NAME="s_bumpMap" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_eyePosition" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_lightPosition" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_matViewInverse" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_matViewProjection" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_specular" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_specularPower" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_ambient" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_diffuse" API="" REGISTER="-1"/> - </RmGLESPass> - </RmOpenGLESEffect> - </RmEffectWorkspace> -</RENDER_MONKEY> diff --git a/third_party/gles2_book/Chapter_13/PerFragmentLighting/Torus.3ds b/third_party/gles2_book/Chapter_13/PerFragmentLighting/Torus.3ds Binary files differdeleted file mode 100644 index cceac9aa3a..0000000000 --- a/third_party/gles2_book/Chapter_13/PerFragmentLighting/Torus.3ds +++ /dev/null diff --git a/third_party/gles2_book/Chapter_13/PostProcess/Car.3ds b/third_party/gles2_book/Chapter_13/PostProcess/Car.3ds Binary files differdeleted file mode 100644 index fb261dc84a..0000000000 --- a/third_party/gles2_book/Chapter_13/PostProcess/Car.3ds +++ /dev/null diff --git a/third_party/gles2_book/Chapter_13/PostProcess/Cube.x b/third_party/gles2_book/Chapter_13/PostProcess/Cube.x deleted file mode 100644 index 35c0f4c3d9..0000000000 --- a/third_party/gles2_book/Chapter_13/PostProcess/Cube.x +++ /dev/null @@ -1,215 +0,0 @@ -xof 0303txt 0032 -template XSkinMeshHeader { - <3cf169ce-ff7c-44ab-93c0-f78f62d172e2> - WORD nMaxSkinWeightsPerVertex; - WORD nMaxSkinWeightsPerFace; - WORD nBones; -} - -template VertexDuplicationIndices { - <b8d65549-d7c9-4995-89cf-53a9a8b031e3> - DWORD nIndices; - DWORD nOriginalVertices; - array DWORD indices[nIndices]; -} - -template SkinWeights { - <6f0d123b-bad2-4167-a0d0-80224f25fabb> - STRING transformNodeName; - DWORD nWeights; - array DWORD vertexIndices[nWeights]; - array FLOAT weights[nWeights]; - Matrix4x4 matrixOffset; -} - - -Frame SCENE_ROOT { - - - FrameTransformMatrix { - 1.000000,0.000000,0.000000,0.000000,0.000000,1.000000,0.000000,0.000000,0.000000,0.000000,1.000000,0.000000,0.000000,0.000000,0.000000,1.000000;; - } - - Frame groundPlane_transform { - - - FrameTransformMatrix { - 10.000000,0.000000,0.000000,0.000000,0.000000,0.000000,10.000000,0.000000,0.000000,-1.000000,0.000000,0.000000,0.000000,0.000000,0.000000,1.000000;; - } - } - - Frame persp { - - - FrameTransformMatrix { - -0.912120,-0.000000,0.409923,0.000000,0.165019,0.915393,0.367184,0.000000,-0.375241,0.402561,-0.834949,0.000000,-110.715416,118.776169,-246.352966,1.000000;; - } - } - - Frame top { - - - FrameTransformMatrix { - 1.000000,0.000000,0.000000,0.000000,0.000000,0.000000,-1.000000,0.000000,0.000000,1.000000,0.000000,0.000000,-552.763062,10020.154297,128.411041,1.000000;; - } - } - - Frame front { - - - FrameTransformMatrix { - 1.000000,0.000000,0.000000,0.000000,0.000000,1.000000,0.000000,0.000000,0.000000,0.000000,1.000000,0.000000,64.176056,1999.952515,10134.481445,1.000000;; - } - } - - Frame side { - - - FrameTransformMatrix { - 0.000000,0.000000,-1.000000,0.000000,0.000000,1.000000,0.000000,0.000000,1.000000,0.000000,0.000000,0.000000,10124.230469,1585.576538,76.173088,1.000000;; - } - } - - Frame pCube1 { - - - FrameTransformMatrix { - 1.000000,0.000000,0.000000,0.000000,0.000000,1.000000,0.000000,0.000000,0.000000,0.000000,1.000000,0.000000,0.000000,0.000000,0.000000,1.000000;; - } - - Mesh pCubeShape1 { - 24; - -50.000000;-50.000000;50.000000;, - 50.000000;-50.000000;50.000000;, - -50.000000;50.000000;50.000000;, - 50.000000;50.000000;50.000000;, - -50.000000;50.000000;-50.000000;, - 50.000000;50.000000;-50.000000;, - -50.000000;-50.000000;-50.000000;, - 50.000000;-50.000000;-50.000000;, - -50.000000;50.000000;50.000000;, - 50.000000;50.000000;50.000000;, - -50.000000;50.000000;-50.000000;, - 50.000000;50.000000;-50.000000;, - -50.000000;-50.000000;-50.000000;, - 50.000000;-50.000000;-50.000000;, - 50.000000;-50.000000;50.000000;, - -50.000000;-50.000000;50.000000;, - 50.000000;-50.000000;50.000000;, - 50.000000;-50.000000;-50.000000;, - 50.000000;50.000000;-50.000000;, - 50.000000;50.000000;50.000000;, - -50.000000;-50.000000;-50.000000;, - -50.000000;-50.000000;50.000000;, - -50.000000;50.000000;50.000000;, - -50.000000;50.000000;-50.000000;; - 6; - 4;0,1,3,2;, - 4;8,9,5,4;, - 4;10,11,7,6;, - 4;12,13,14,15;, - 4;16,17,18,19;, - 4;20,21,22,23;; - - MeshNormals { - 6; - -1.000000;0.000000;0.000000;, - 0.000000;-1.000000;0.000000;, - 0.000000;0.000000;-1.000000;, - 0.000000;0.000000;1.000000;, - 0.000000;1.000000;0.000000;, - 1.000000;0.000000;0.000000;; - 6; - 4;3,3,3,3;, - 4;4,4,4,4;, - 4;2,2,2,2;, - 4;1,1,1,1;, - 4;5,5,5,5;, - 4;0,0,0,0;; - } - - MeshTextureCoords { - 24; - 0.000000;0.000000;, - 1.000000;0.000000;, - 0.000000;-1.000000;, - 1.000000;-1.000000;, - 0.000000;-2.000000;, - 1.000000;-2.000000;, - 0.000000;-3.000000;, - 1.000000;-3.000000;, - 0.000000;-1.000000;, - 1.000000;-1.000000;, - 0.000000;-2.000000;, - 1.000000;-2.000000;, - 0.000000;-3.000000;, - 1.000000;-3.000000;, - 1.000000;-4.000000;, - 0.000000;-4.000000;, - 1.000000;0.000000;, - 2.000000;0.000000;, - 2.000000;-1.000000;, - 1.000000;-1.000000;, - -1.000000;0.000000;, - 0.000000;0.000000;, - 0.000000;-1.000000;, - -1.000000;-1.000000;; - } - - MeshMaterialList { - 1; - 6; - 0, - 0, - 0, - 0, - 0, - 0; - - Material Arm_left { - 0.800000;0.800000;0.800000;1.000000;; - 0.500000; - 0.500000;0.500000;0.500000;; - 0.000000;0.000000;0.000000;; - - TextureFilename { - "../Tex/EX_1_c0_arm_left.png"; - } - } - } - - VertexDuplicationIndices { - 24; - 8; - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 2, - 3, - 4, - 5, - 6, - 7, - 1, - 0, - 1, - 7, - 5, - 3, - 6, - 0, - 2, - 4; - } - } - } -} - -AnimationSet { - -}
\ No newline at end of file diff --git a/third_party/gles2_book/Chapter_13/PostProcess/Fieldstone.tga b/third_party/gles2_book/Chapter_13/PostProcess/Fieldstone.tga Binary files differdeleted file mode 100644 index 8acafae236..0000000000 --- a/third_party/gles2_book/Chapter_13/PostProcess/Fieldstone.tga +++ /dev/null diff --git a/third_party/gles2_book/Chapter_13/PostProcess/PostProcess.rfx b/third_party/gles2_book/Chapter_13/PostProcess/PostProcess.rfx deleted file mode 100644 index d8e7047856..0000000000 --- a/third_party/gles2_book/Chapter_13/PostProcess/PostProcess.rfx +++ /dev/null @@ -1,1395 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<!DOCTYPE RENDER_MONKEY [ - <!ELEMENT RENDER_MONKEY - ( - RmEffectWorkspace | - RmRegistryBranch | - RmClipboardNode - )?> - - <!ELEMENT RmEffectWorkspace - ( - RmRegistryBranch?, - RmPlugInData?, - RmStringVariable*, - ( - ( RmDirectXEffect, RmOpenGLEffect?, RmOpenGLESEffect? ) | - ( RmOpenGLEffect, RmDirectXEffect?, RmOpenGLESEffect? ) | - ( RmOpenGLESEffect, RmDirectXEffect?, RmOpenGLEffect? ) - )?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmEffectGroup - )* - )> - - <!ELEMENT RmEffectGroup - ( - RmPlugInData?, - ( - RmStringVariable | - RmDirectXEffect | - RmOpenGLEffect | - RmOpenGLESEffect | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData - )* - )> - - <!ELEMENT RmDirectXEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmPass - )* - )> - - <!ELEMENT RmOpenGLEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmGLPass - )* - )> - - <!ELEMENT RmOpenGLESEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmGLESPass - )* - )> - - <!ELEMENT RmPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( - ( RmHLSLShader | RmShader ), - ( RmShader | RmHLSLShader )? - ) - )?, - RmRenderTarget*, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject - )* - )> - - <!ELEMENT RmGLPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( RmGLShader, RmGLShader? ) - )?, - RmRenderTarget?, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmGLESPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( RmGLESShader, RmGLESShader? ) - )?, - RmRenderTarget?, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable | - RmShaderConstant - )* - )> - - <!ELEMENT RmHLSLShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmGLShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable - )* - )> - - <!ELEMENT RmGLESShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable - )* - )> - - <!ELEMENT RmTextureObject - ( - RmPlugInData?, - RmStringVariable*, - RmTextureReference?, - RmState* - )> - - <!ELEMENT RmLightObject - ( - RmPlugInData?, - RmStringVariable*, - RmLightReference? - )> - - <!ELEMENT RmMaterialObject - ( - RmPlugInData?, - RmStringVariable*, - RmMaterialReference? - )> - - <!ELEMENT RmRenderStateBlock - ( - RmPlugInData?, - ( - RmStringVariable | - RmState - )* - )> - - <!ELEMENT RmStreamMap - ( - RmPlugInData?, - ( - RmStringVariable | - RmStream - )* - )> - - <!ELEMENT RmStream ( RmPlugInData?, RmStreamChannel* )> - - <!ELEMENT RmModelData ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmTextureReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmLightReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmMaterialReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmCameraReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmModelReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmStreamMapReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmRenderableTexture ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmRenderTarget ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmBooleanVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmFloatVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmVectorVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmMatrixVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmColorVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmIntegerVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT Rm2DTextureVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmCubemapVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT Rm3DTextureVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmLightVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmMaterialVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmCamera ( RmPlugInData?, RmStringVariable* )> - - <!ELEMENT RmStringVariable ( RmTextDataBlock, RmPlugInData? )> - - <!ELEMENT RmDynamicVariable - ( - RmDynamicVariableValueContainer, - RmPlugInData?, - RmStringVariable? - )> - - <!ELEMENT RmDynamicVariableValueContainer - ( - RmPlugInData?, - RmDynamicVariableValue* - )> - - <!ELEMENT RmTextDataBlock ( #PCDATA ) > - - <!ELEMENT RmRegistryBranch - ( - RmTextDataBlock?, - ( - RmRegistryBranch | - RmStringVariable | - RmIntegerVariable | - RmBooleanVariable | - RmFloatVariable - )* - )> - - <!ELEMENT RmPlugInData - ( - RmTextDataBlock?, - ( - RmStringVariable | - RmIntegerVariable | - RmBooleanVariable | - RmFloatVariable | - RmVectorVariable - )* - )> - - <!ELEMENT RmClipboardNode - ( - RmTextDataBlock?, - ( - RmEffectWorkspace | - RmEffectGroup | - RmDirectXEffect | - RmOpenGLEffect | - RmOpenGLESEffect | - RmPass | - RmGLPass | - RmGLESPass | - RmShader | - RmHLSLShader | - RmGLShader | - RmGLESShader | - RmShaderConstant | - RmSampler | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmRenderStateBlock | - RmState | - RmStreamMap | - RmStream | - RmStreamChannel | - RmModelData | - RmTextureReference | - RmLightReference | - RmMaterialReference | - RmModelReference | - RmStreamMapReference | - RmRenderableTexture | - RmRenderTarget | - RmBooleanVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmDynamicVariableValue | - RmColorVariable | - RmIntegerVariable | - RmStringVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRegistryBranch | - RmPlugInData | - RmCamera | - RmCameraReference - )* - )> - - <!ELEMENT RmStreamChannel ( RmPlugInData? ) > - <!ELEMENT RmShaderConstant ( RmPlugInData? ) > - <!ELEMENT RmSampler ( RmPlugInData? ) > - <!ELEMENT RmState ( RmPlugInData? ) > - <!ELEMENT RmDynamicVariableValue ( RmPlugInData? ) > - - <!ELEMENT RmShaderCode ( #PCDATA ) > - - <!ATTLIST RmEffectWorkspace - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_EFFECT CDATA #REQUIRED - VALIDATION_STRING CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmEffectGroup - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmDirectXEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmOpenGLEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmOpenGLESEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLESPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER CDATA #REQUIRED - > - - <!ATTLIST RmHLSLShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - TARGET CDATA #REQUIRED - ENTRY_POINT CDATA #REQUIRED - COMPILER_FLAGS CDATA #REQUIRED - > - - <!ATTLIST RmGLShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLESShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShaderConstant - NAME CDATA #REQUIRED - API CDATA #REQUIRED - REGISTER CDATA #REQUIRED - > - - <!ATTLIST RmSampler - NAME CDATA #REQUIRED - API CDATA #REQUIRED - REGISTER CDATA #REQUIRED - > - - <!ATTLIST RmTextureObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STATE_INDEX CDATA #REQUIRED - VERTEX_TEXTURE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmLightObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - > - - <!ATTLIST RmMaterialObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - > - - <!ATTLIST RmRenderStateBlock - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmState - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STATE CDATA #REQUIRED - VALUE CDATA #REQUIRED - USAGE CDATA #REQUIRED - > - - <!ATTLIST RmStreamMap - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmStream - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STRIDE CDATA #REQUIRED - > - - <!ATTLIST RmStreamChannel - NAME CDATA #REQUIRED - API CDATA #REQUIRED - DATA_SIZE CDATA #REQUIRED - DATA_TYPE CDATA #REQUIRED - REGISTER CDATA #REQUIRED - USAGE CDATA #REQUIRED - USAGE_INDEX CDATA #REQUIRED - ATTRIBUTE_NAME CDATA #REQUIRED - > - - <!ATTLIST RmModelData - NAME CDATA #REQUIRED - API CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIENTATION CDATA #REQUIRED - > - - <!ATTLIST RmTextureReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmLightReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmMaterialReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmModelReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmStreamMapReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmRenderableTexture - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - WIDTH CDATA #REQUIRED - HEIGHT CDATA #REQUIRED - FORMAT CDATA #REQUIRED - USE_VIEWPORT_DIMENSIONS ( TRUE | FALSE ) #REQUIRED - GENERATE_MIPMAPS ( TRUE | FALSE ) #REQUIRED - WIDTH_RATIO CDATA #REQUIRED - HEIGHT_RATIO CDATA #REQUIRED - > - - <!ATTLIST RmRenderTarget - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - RENDER_TO_SCREEN ( TRUE | FALSE ) #REQUIRED - COLOR_CLEAR ( TRUE | FALSE ) #REQUIRED - DEPTH_CLEAR ( TRUE | FALSE ) #REQUIRED - CLEAR_COLOR_VALUE CDATA #REQUIRED - DEPTH_CLEAR_VALUE CDATA #REQUIRED - > - - <!ATTLIST RmBooleanVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - > - - <!ATTLIST RmFloatVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmVectorVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - NORMALIZE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmMatrixVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - VALUE_4 CDATA #REQUIRED - VALUE_5 CDATA #REQUIRED - VALUE_6 CDATA #REQUIRED - VALUE_7 CDATA #REQUIRED - VALUE_8 CDATA #REQUIRED - VALUE_9 CDATA #REQUIRED - VALUE_10 CDATA #REQUIRED - VALUE_11 CDATA #REQUIRED - VALUE_12 CDATA #REQUIRED - VALUE_13 CDATA #REQUIRED - VALUE_14 CDATA #REQUIRED - VALUE_15 CDATA #REQUIRED - > - - <!ATTLIST RmDynamicVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VARIABLE_TYPE ( FLOAT | INTEGER | BOOLEAN ) #REQUIRED - ROWS CDATA #REQUIRED - COLUMNS CDATA #REQUIRED - FIXED_SIZE ( TRUE | FALSE ) #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - NORMALIZE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmDynamicVariableValue - ROW_INDEX CDATA #REQUIRED - COLUMN_INDEX CDATA #REQUIRED - VALUE CDATA #REQUIRED - > - - <!ATTLIST RmColorVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - > - - <!ATTLIST RmIntegerVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmStringVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - > - - <!ATTLIST Rm2DTextureVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST RmCubemapVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST Rm3DTextureVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST RmLightVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - LIGHT_ENABLED ( TRUE | FALSE ) #REQUIRED - LIGHT_TYPE ( POSITIONAL | DIRECTIONAL | SPOTLIGHT ) #REQUIRED - AMBIENT_0 CDATA #REQUIRED - AMBIENT_1 CDATA #REQUIRED - AMBIENT_2 CDATA #REQUIRED - AMBIENT_3 CDATA #REQUIRED - DIFFUSE_0 CDATA #REQUIRED - DIFFUSE_1 CDATA #REQUIRED - DIFFUSE_2 CDATA #REQUIRED - DIFFUSE_3 CDATA #REQUIRED - SPECULAR_0 CDATA #REQUIRED - SPECULAR_1 CDATA #REQUIRED - SPECULAR_2 CDATA #REQUIRED - SPECULAR_3 CDATA #REQUIRED - POSITION_0 CDATA #REQUIRED - POSITION_1 CDATA #REQUIRED - POSITION_2 CDATA #REQUIRED - DIRECTION_0 CDATA #REQUIRED - DIRECTION_1 CDATA #REQUIRED - DIRECTION_2 CDATA #REQUIRED - ATTENUATION_0 CDATA #REQUIRED - ATTENUATION_1 CDATA #REQUIRED - ATTENUATION_2 CDATA #REQUIRED - SPOTLIGHT_THETA CDATA #REQUIRED - SPOTLIGHT_PHI CDATA #REQUIRED - RANGE CDATA #REQUIRED - FALLOFF CDATA #REQUIRED - > - - <!ATTLIST RmMaterialVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - AMBIENT_0 CDATA #REQUIRED - AMBIENT_1 CDATA #REQUIRED - AMBIENT_2 CDATA #REQUIRED - AMBIENT_3 CDATA #REQUIRED - DIFFUSE_0 CDATA #REQUIRED - DIFFUSE_1 CDATA #REQUIRED - DIFFUSE_2 CDATA #REQUIRED - DIFFUSE_3 CDATA #REQUIRED - SPECULAR_0 CDATA #REQUIRED - SPECULAR_1 CDATA #REQUIRED - SPECULAR_2 CDATA #REQUIRED - SPECULAR_3 CDATA #REQUIRED - EMISSIVE_0 CDATA #REQUIRED - EMISSIVE_1 CDATA #REQUIRED - EMISSIVE_2 CDATA #REQUIRED - EMISSIVE_3 CDATA #REQUIRED - SPECULAR_POWER CDATA #REQUIRED - > - - <!ATTLIST RmRegistryBranch - NAME CDATA #REQUIRED - API CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmPlugInData - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PLUGIN_GUID CDATA #REQUIRED - > - - <!ATTLIST RmClipboardNode - NAME CDATA #REQUIRED - API CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmCamera - NAME CDATA #REQUIRED - API CDATA #REQUIRED - CAMERA_POSITION_X CDATA #REQUIRED - CAMERA_POSITION_Y CDATA #REQUIRED - CAMERA_POSITION_Z CDATA #REQUIRED - LOOK_AT_VECTOR_X CDATA #REQUIRED - LOOK_AT_VECTOR_Y CDATA #REQUIRED - LOOK_AT_VECTOR_Z CDATA #REQUIRED - UP_VECTOR_X CDATA #REQUIRED - UP_VECTOR_Y CDATA #REQUIRED - UP_VECTOR_Z CDATA #REQUIRED - FOV CDATA #REQUIRED - NEAR_CLIP_PLANE CDATA #REQUIRED - FAR_CLIP_PLANE CDATA #REQUIRED - > - - <!ATTLIST RmCameraReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - USE_ACTIVE_CAMERA ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShaderCode - TYPE ( TEXT ) #REQUIRED - > - - <!ATTLIST RmTextDataBlock - TYPE ( TEXT ) #REQUIRED - > - -]> -<RENDER_MONKEY> - <RmEffectWorkspace NAME="Effect Workspace" API="" ACTIVE_EFFECT="Effect Workspace.PostProcess Effects.Simple Blur" VALIDATION_STRING="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_REGISTRY" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_LOCAL" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_PLUGIN" API="" XML_VERSION="RenderMonkey 1.71"><RmTextDataBlock TYPE="TEXT"><![CDATA[ -<DockingPaneLayouts><Application_Layout><Pane-1><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Artist Editor</Title><ID>1001</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>13</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>13</LastHolder></Pane-1><Pane-2><Type>0</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Title>u_blurStep</Title><ID>1100</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>7</DockingHolder><FloatingHolder>18</FloatingHolder><LastHolder>18</LastHolder></Pane-2><Pane-3><Type>2</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><Horiz>1</Horiz><Pane-1>4</Pane-1><Pane-2>5</Pane-2><Pane-3>6</Pane-3><Pane-4>7</Pane-4><Pane-5>8</Pane-5><Panes>5</Panes></Pane-3><Pane-4><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-4><Pane-5><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-5><Pane-6><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-6><Pane-7><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-7><Pane-8><Type>2</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><Horiz>0</Horiz><Pane-1>9</Pane-1><Pane-2>14</Pane-2><Panes>2</Panes></Pane-8><Pane-9><Type>2</Type><DockingCX>0</DockingCX><DockingCY>791</DockingCY><Horiz>1</Horiz><Pane-1>10</Pane-1><Pane-2>12</Pane-2><Pane-3>13</Pane-3><Panes>3</Panes></Pane-9><Pane-10><Type>1</Type><DockingCX>336</DockingCX><DockingCY>250</DockingCY><Selected>11</Selected><Panes>1</Panes><Pane-1>11</Pane-1></Pane-10><Pane-11><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Workspace</Title><ID>1000</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>10</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>10</LastHolder></Pane-11><Pane-12><Type>4</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY></Pane-12><Pane-13><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-13><Pane-14><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>15</Selected><Panes>1</Panes><Pane-1>15</Pane-1></Pane-14><Pane-15><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Output</Title><ID>1002</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>14</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>14</LastHolder></Pane-15><Pane-16><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>17</TopContaner><WindowRectTopPos>32</WindowRectTopPos><WindowRectBottomPos>160</WindowRectBottomPos><WindowRectLeftPos>0</WindowRectLeftPos><WindowRectRightPos>566</WindowRectRightPos></Pane-16><Pane-17><Type>2</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Horiz>1</Horiz><Pane-1>18</Pane-1><Panes>1</Panes></Pane-17><Pane-18><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-18><Pane-19><Type>0</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Title>u_blurStep</Title><ID>1101</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>6</DockingHolder><FloatingHolder>22</FloatingHolder><LastHolder>22</LastHolder></Pane-19><Pane-20><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>21</TopContaner><WindowRectTopPos>32</WindowRectTopPos><WindowRectBottomPos>160</WindowRectBottomPos><WindowRectLeftPos>0</WindowRectLeftPos><WindowRectRightPos>566</WindowRectRightPos></Pane-20><Pane-21><Type>2</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Horiz>1</Horiz><Pane-1>22</Pane-1><Panes>1</Panes></Pane-21><Pane-22><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-22><Pane-23><Type>0</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Title>u_blurStep</Title><ID>1102</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>5</DockingHolder><FloatingHolder>26</FloatingHolder><LastHolder>26</LastHolder></Pane-23><Pane-24><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>25</TopContaner><WindowRectTopPos>32</WindowRectTopPos><WindowRectBottomPos>160</WindowRectBottomPos><WindowRectLeftPos>0</WindowRectLeftPos><WindowRectRightPos>566</WindowRectRightPos></Pane-24><Pane-25><Type>2</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Horiz>1</Horiz><Pane-1>26</Pane-1><Panes>1</Panes></Pane-25><Pane-26><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-26><Pane-27><Type>0</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Title>u_blurStep</Title><ID>1103</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>4</DockingHolder><FloatingHolder>30</FloatingHolder><LastHolder>30</LastHolder></Pane-27><Pane-28><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>29</TopContaner><WindowRectTopPos>32</WindowRectTopPos><WindowRectBottomPos>160</WindowRectBottomPos><WindowRectLeftPos>0</WindowRectLeftPos><WindowRectRightPos>566</WindowRectRightPos></Pane-28><Pane-29><Type>2</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Horiz>1</Horiz><Pane-1>30</Pane-1><Panes>1</Panes></Pane-29><Pane-30><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-30><Summary><TopContainer>3</TopContainer><Client>12</Client><Panes>30</Panes></Summary></Application_Layout></DockingPaneLayouts> -]]></RmTextDataBlock> - <RmRegistryBranch NAME="RmPreviewDx9Window" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmPreviewGLESWindow" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmPreviewGLWindow" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EffectPlacementRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.PostProcess Effects.Simple Blur" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="350" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="350" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="Effect Workspace.PostProcess Effects.Bloom" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="471" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="479" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmPreviewGLPreview" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmLightEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="NoteEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmRenderableTextureEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.PostProcess Effects.Bloom.renderTexture" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="256" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="102" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="278" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="442" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="Effect Workspace.PostProcess Effects.Bloom.renderTexture1" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="344" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="128" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="278" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="442" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="Effect Workspace.PostProcess Effects.Simple Blur.renderTexture" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="344" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="128" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="278" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="442" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmRenderTargetEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.PostProcess Effects.Bloom.Draw Object Outline to Texture.renderTexture" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="344" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="128" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="316" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="296" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmRenderStateBlockEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.PostProcess Effects.Bloom" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="408" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="244" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1149" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="514" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmTextureObjectEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.PostProcess Effects.Bloom" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="202" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="275" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1063" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="514" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmTextureGenerator" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmShaderEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.PostProcess Effects.Simple Blur" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Disassembly" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmStringVariable NAME="Editing Shader" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -Vertex Program]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="Editing Pass" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -Pass 0]]></RmTextDataBlock></RmStringVariable> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="650" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="650" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="Effect Workspace.PostProcess Effects.Bloom" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Disassembly" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmStringVariable NAME="Editing Shader" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -Vertex Program]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="Editing Pass" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -Draw to Screen]]></RmTextDataBlock></RmStringVariable> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="33" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="650" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="650" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="72" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmStreamEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Textured.Stream Mapping" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="258" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="128" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="851" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="270" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmScalarEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.PostProcess Effects.Bloom.Blur Pass 1.u_blurStep" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="DockPaneID" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1101" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="Effect Workspace.PostProcess Effects.Bloom.Blur Pass 2.u_blurStep" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="DockPaneID" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1102" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="Effect Workspace.PostProcess Effects.Bloom.Draw to Screen.u_blurStep" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="DockPaneID" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1103" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="WORKSPACE" API="" XML_VERSION="RenderMonkey 1.71"> - <RmStringVariable NAME="LAST_SAVE" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -18/1/2008 11:15:10]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="VERSION" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -RenderMonkey Version 1.80 (build 125)]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="XML_VERSION" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -RenderMonkey 1.71]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="BASE_WORKSPACE_PATH" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -D:\svn\redbook\Code\Chapter_13\PostProcess\]]></RmTextDataBlock></RmStringVariable> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmEffectGroup NAME="PostProcess Effects" API=""> - <RmOpenGLESEffect NAME="Simple Blur" API="OpenGL ES" ACTIVE_CAMERA="Camera"> - <RmCamera NAME="Camera" API="" CAMERA_POSITION_X="83.595619" CAMERA_POSITION_Y="229.281082" CAMERA_POSITION_Z="39.789570" LOOK_AT_VECTOR_X="0.000000" LOOK_AT_VECTOR_Y="0.000000" LOOK_AT_VECTOR_Z="0.000000" UP_VECTOR_X="-0.506225" UP_VECTOR_Y="0.035030" UP_VECTOR_Z="0.861690" FOV="45.000000" NEAR_CLIP_PLANE="1.000000" FAR_CLIP_PLANE="1000.000000"/> - <RmFloatVariable NAME="u_blurStep" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="SinTime0_X" VALUE="0.974171" MIN="0.000000" MAX="0.010000" CLAMP="TRUE"/> - <RmMatrixVariable NAME="u_matViewProjection" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="ViewProjection" VALUE_0="2.185649" VALUE_1="0.000000" VALUE_2="0.000000" VALUE_3="0.000000" VALUE_4="0.000000" VALUE_5="2.414213" VALUE_6="0.000000" VALUE_7="0.000000" VALUE_8="0.000000" VALUE_9="0.000000" VALUE_10="-1.001001" VALUE_11="199.199203" VALUE_12="0.000000" VALUE_13="0.000000" VALUE_14="-1.000000" VALUE_15="200.000000"/> - <Rm2DTextureVariable NAME="base" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" FILE_NAME="Fieldstone.tga" ORIGIN="0"/> - <RmRenderableTexture NAME="renderTexture" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" FILE_NAME="" ORIGIN="0" WIDTH="512" HEIGHT="512" FORMAT="21" USE_VIEWPORT_DIMENSIONS="FALSE" GENERATE_MIPMAPS="TRUE" WIDTH_RATIO="1.000000" HEIGHT_RATIO="1.000000"/> - <RmStreamMap NAME="Stream Mapping" API=""> - <RmStream NAME="Stream" API="" STRIDE="20"> - <RmStreamChannel NAME="Position_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="0" USAGE_INDEX="0" ATTRIBUTE_NAME="a_vertex"/> - <RmStreamChannel NAME="TexCoord_0" API="" DATA_SIZE="8" DATA_TYPE="1" REGISTER="0" USAGE="5" USAGE_INDEX="0" ATTRIBUTE_NAME="a_texCoord0"/> - </RmStream> - </RmStreamMap> - <RmModelData NAME="Model" API="" FILE_NAME=".\Cube.x" ORIENTATION="0"/> - <RmModelData NAME="ScreenAlignedQuad" API="" FILE_NAME=".\ScreenAlignedQuad.3ds" ORIENTATION="0"/> - <RmGLESPass NAME="Pass 0" API="OpenGL ES" PASS_INDEX="0" ENABLED="TRUE"> - <RmCameraReference NAME="Camera" API="" USE_ACTIVE_CAMERA="FALSE"/> - <RmModelReference NAME="Model" API=""/> - <RmGLESShader NAME="Fragment Program" API="OpenGL ES" PIXEL_SHADER="TRUE"><RmShaderCode TYPE="TEXT"><![CDATA[ -precision mediump float; - -uniform sampler2D baseMap; -varying vec2 v_texCoord; - -void main( void ) -{ - gl_FragColor = texture2D( baseMap, v_texCoord ); -}]]></RmShaderCode></RmGLESShader> - <RmGLESShader NAME="Vertex Program" API="OpenGL ES" PIXEL_SHADER="FALSE"><RmShaderCode TYPE="TEXT"><![CDATA[ -uniform mat4 u_matViewProjection; -attribute vec4 a_vertex; -attribute vec2 a_texCoord0; -varying vec2 v_texCoord; - -void main( void ) -{ - gl_Position = u_matViewProjection * a_vertex; - v_texCoord = a_texCoord0.xy; -}]]></RmShaderCode></RmGLESShader> - <RmRenderTarget NAME="renderTexture" API="" INDEX="0" RENDER_TO_SCREEN="FALSE" COLOR_CLEAR="TRUE" DEPTH_CLEAR="TRUE" CLEAR_COLOR_VALUE="-16777216" DEPTH_CLEAR_VALUE="1.000000"/> - <RmStreamMapReference NAME="Stream Mapping" API=""/> - <RmTextureObject NAME="baseMap" API="OpenGL ES" STATE_INDEX="0" VERTEX_TEXTURE="FALSE"> - <RmTextureReference NAME="base" API=""/> - <RmState NAME="GL_TextureMinify" API="OpenGL ES" STATE="4" VALUE="6" USAGE="SAMPLER_STATE"/> - <RmState NAME="GL_TextureMagnify" API="OpenGL ES" STATE="5" VALUE="1" USAGE="SAMPLER_STATE"/> - </RmTextureObject> - <RmSampler NAME="baseMap" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_matViewProjection" API="" REGISTER="-1"/> - </RmGLESPass> - <RmGLESPass NAME="Pass 1" API="OpenGL ES" PASS_INDEX="1" ENABLED="TRUE"> - <RmModelReference NAME="ScreenAlignedQuad" API=""/> - <RmGLESShader NAME="Vertex Program" API="OpenGL ES" PIXEL_SHADER="FALSE"><RmShaderCode TYPE="TEXT"><![CDATA[ -attribute vec4 a_vertex; -varying vec2 v_texCoord; - -void main(void) -{ - vec2 P = sign( a_vertex.xy ); - gl_Position = vec4( P, 0.0, 1.0 ); - - v_texCoord = P * 0.5 + 0.5; -}]]></RmShaderCode></RmGLESShader> - <RmGLESShader NAME="Fragment Program" API="OpenGL ES" PIXEL_SHADER="TRUE"><RmShaderCode TYPE="TEXT"><![CDATA[ -precision mediump float; -uniform sampler2D renderTexture; -varying vec2 v_texCoord; -uniform float u_blurStep; - -void main(void) -{ - vec4 sample0, - sample1, - sample2, - sample3; - - float step = u_blurStep / 100.0; - - sample0 = texture2D ( renderTexture, - vec2 ( v_texCoord.x - step, v_texCoord.y - step ) ); - sample1 = texture2D ( renderTexture, - vec2 ( v_texCoord.x + step, v_texCoord.y + step ) ); - sample2 = texture2D ( renderTexture, - vec2 ( v_texCoord.x + step, v_texCoord.y - step ) ); - sample3 = texture2D ( renderTexture, - vec2 ( v_texCoord.x - step, v_texCoord.y + step) ); - - gl_FragColor = (sample0 + sample1 + sample2 + sample3) / 4.0; -}]]></RmShaderCode></RmGLESShader> - <RmStreamMapReference NAME="Stream Mapping" API=""/> - <RmTextureObject NAME="renderTexture" API="OpenGL ES" STATE_INDEX="0" VERTEX_TEXTURE="FALSE"> - <RmTextureReference NAME="renderTexture" API=""/> - </RmTextureObject> - <RmSampler NAME="renderTexture" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_blurStep" API="" REGISTER="-1"/> - </RmGLESPass> - </RmOpenGLESEffect> - <RmOpenGLESEffect NAME="Bloom" API="OpenGL ES" ACTIVE_CAMERA="Camera"> - <RmCamera NAME="Camera" API="" CAMERA_POSITION_X="33.139557" CAMERA_POSITION_Y="-92.293312" CAMERA_POSITION_Z="55.385082" LOOK_AT_VECTOR_X="-9.544210" LOOK_AT_VECTOR_Y="-3.399710" LOOK_AT_VECTOR_Z="0.434872" UP_VECTOR_X="-0.471409" UP_VECTOR_Y="0.288774" UP_VECTOR_Z="0.833297" FOV="45.000000" NEAR_CLIP_PLANE="60.290936" FAR_CLIP_PLANE="1169.461426"/> - <RmMatrixVariable NAME="u_matViewProjection" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="ViewProjection" VALUE_0="2.287980" VALUE_1="0.000000" VALUE_2="0.000000" VALUE_3="0.000000" VALUE_4="0.000000" VALUE_5="2.414213" VALUE_6="0.000000" VALUE_7="0.000000" VALUE_8="0.000000" VALUE_9="0.000000" VALUE_10="-1.001001" VALUE_11="199.199203" VALUE_12="0.000000" VALUE_13="0.000000" VALUE_14="-1.000000" VALUE_15="200.000000"/> - <Rm2DTextureVariable NAME="base" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" FILE_NAME="Fieldstone.tga" ORIGIN="0"/> - <RmRenderableTexture NAME="renderTexture" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" FILE_NAME="" ORIGIN="0" WIDTH="128" HEIGHT="128" FORMAT="21" USE_VIEWPORT_DIMENSIONS="FALSE" GENERATE_MIPMAPS="TRUE" WIDTH_RATIO="1.000000" HEIGHT_RATIO="1.000000"/> - <RmRenderableTexture NAME="renderTexture1" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" FILE_NAME="" ORIGIN="0" WIDTH="128" HEIGHT="128" FORMAT="21" USE_VIEWPORT_DIMENSIONS="FALSE" GENERATE_MIPMAPS="TRUE" WIDTH_RATIO="1.000000" HEIGHT_RATIO="1.000000"/> - <RmStreamMap NAME="Stream Mapping" API=""> - <RmStream NAME="Stream" API="" STRIDE="20"> - <RmStreamChannel NAME="Position_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="0" USAGE_INDEX="0" ATTRIBUTE_NAME="a_vertex"/> - <RmStreamChannel NAME="TexCoord_0" API="" DATA_SIZE="8" DATA_TYPE="1" REGISTER="0" USAGE="5" USAGE_INDEX="0" ATTRIBUTE_NAME="a_texCoord0"/> - </RmStream> - </RmStreamMap> - <RmModelData NAME="ScreenAlignedQuad" API="" FILE_NAME=".\ScreenAlignedQuad.3ds" ORIENTATION="0"/> - <RmModelData NAME="Model" API="" FILE_NAME=".\Car.3ds" ORIENTATION="0"/> - <RmGLESPass NAME="Draw Object Outline to Texture" API="OpenGL ES" PASS_INDEX="0" ENABLED="TRUE"> - <RmCameraReference NAME="Camera" API="" USE_ACTIVE_CAMERA="FALSE"/> - <RmModelReference NAME="Model" API=""/> - <RmGLESShader NAME="Fragment Program" API="OpenGL ES" PIXEL_SHADER="TRUE"><RmShaderCode TYPE="TEXT"><![CDATA[ -precision mediump float; - -uniform sampler2D baseMap; -varying vec2 v_texCoord; - -void main( void ) -{ - gl_FragColor = vec4( 0.0 ); -}]]></RmShaderCode></RmGLESShader> - <RmGLESShader NAME="Vertex Program" API="OpenGL ES" PIXEL_SHADER="FALSE"><RmShaderCode TYPE="TEXT"><![CDATA[ -uniform mat4 u_matViewProjection; -attribute vec4 a_vertex; -attribute vec2 a_texCoord0; -varying vec2 v_texCoord; - -void main( void ) -{ - gl_Position = u_matViewProjection * a_vertex; - v_texCoord = a_texCoord0.xy; -}]]></RmShaderCode></RmGLESShader> - <RmRenderTarget NAME="renderTexture" API="" INDEX="0" RENDER_TO_SCREEN="FALSE" COLOR_CLEAR="TRUE" DEPTH_CLEAR="TRUE" CLEAR_COLOR_VALUE="786431" DEPTH_CLEAR_VALUE="1.000000"/> - <RmStreamMapReference NAME="Stream Mapping" API=""/> - <RmTextureObject NAME="baseMap" API="OpenGL ES" STATE_INDEX="0" VERTEX_TEXTURE="FALSE"> - <RmTextureReference NAME="base" API=""/> - <RmState NAME="GL_TextureMinify" API="OpenGL ES" STATE="4" VALUE="6" USAGE="SAMPLER_STATE"/> - <RmState NAME="GL_TextureMagnify" API="OpenGL ES" STATE="5" VALUE="1" USAGE="SAMPLER_STATE"/> - </RmTextureObject> - <RmShaderConstant NAME="u_matViewProjection" API="" REGISTER="-1"/> - </RmGLESPass> - <RmGLESPass NAME="Blur Pass 1" API="OpenGL ES" PASS_INDEX="1" ENABLED="TRUE"> - <RmModelReference NAME="ScreenAlignedQuad" API=""/> - <RmGLESShader NAME="Vertex Program" API="OpenGL ES" PIXEL_SHADER="FALSE"><RmShaderCode TYPE="TEXT"><![CDATA[ -attribute vec4 a_vertex; -varying vec2 v_texCoord; - -void main(void) -{ - vec2 P = sign( a_vertex.xy ); - gl_Position = vec4( P, 0.0, 1.0 ); - - v_texCoord = P * 0.5 + 0.5; -}]]></RmShaderCode></RmGLESShader> - <RmGLESShader NAME="Fragment Program" API="OpenGL ES" PIXEL_SHADER="TRUE"><RmShaderCode TYPE="TEXT"><![CDATA[ -precision mediump float; -uniform sampler2D renderTexture; -varying vec2 v_texCoord; -uniform float u_blurStep; - -void main(void) -{ - vec4 sample0, - sample1, - sample2, - sample3; - - float step = u_blurStep / 100.0; - - sample0 = texture2D ( renderTexture, - vec2 ( v_texCoord.x - step, v_texCoord.y - step ) ); - sample1 = texture2D ( renderTexture, - vec2 ( v_texCoord.x + step, v_texCoord.y + step ) ); - sample2 = texture2D ( renderTexture, - vec2 ( v_texCoord.x + step, v_texCoord.y - step ) ); - sample3 = texture2D ( renderTexture, - vec2 ( v_texCoord.x - step, v_texCoord.y + step) ); - - gl_FragColor = (sample0 + sample1 + sample2 + sample3) / 4.0; -}]]></RmShaderCode></RmGLESShader> - <RmRenderTarget NAME="renderTexture1" API="" INDEX="0" RENDER_TO_SCREEN="FALSE" COLOR_CLEAR="TRUE" DEPTH_CLEAR="TRUE" CLEAR_COLOR_VALUE="-16777216" DEPTH_CLEAR_VALUE="1.000000"/> - <RmStreamMapReference NAME="Stream Mapping" API=""/> - <RmFloatVariable NAME="u_blurStep" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE="1.000000" MIN="0.000000" MAX="0.000000" CLAMP="FALSE"/> - <RmTextureObject NAME="renderTexture" API="OpenGL ES" STATE_INDEX="0" VERTEX_TEXTURE="FALSE"> - <RmTextureReference NAME="renderTexture" API=""/> - </RmTextureObject> - <RmSampler NAME="renderTexture" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_blurStep" API="" REGISTER="-1"/> - </RmGLESPass> - <RmGLESPass NAME="Blur Pass 2" API="OpenGL ES" PASS_INDEX="2" ENABLED="TRUE"> - <RmModelReference NAME="ScreenAlignedQuad" API=""/> - <RmGLESShader NAME="Vertex Program" API="OpenGL ES" PIXEL_SHADER="FALSE"><RmShaderCode TYPE="TEXT"><![CDATA[ -attribute vec4 a_vertex; -varying vec2 v_texCoord; - -void main(void) -{ - vec2 P = sign( a_vertex.xy ); - gl_Position = vec4( P, 0.0, 1.0 ); - - v_texCoord = P * 0.5 + 0.5; -}]]></RmShaderCode></RmGLESShader> - <RmGLESShader NAME="Fragment Program" API="OpenGL ES" PIXEL_SHADER="TRUE"><RmShaderCode TYPE="TEXT"><![CDATA[ -precision mediump float; -uniform sampler2D renderTexture1; -varying vec2 v_texCoord; -uniform float u_blurStep; - -void main(void) -{ - vec4 sample0, - sample1, - sample2, - sample3; - - float step = u_blurStep / 100.0; - - sample0 = texture2D ( renderTexture1, - vec2 ( v_texCoord.x - step, v_texCoord.y - step ) ); - sample1 = texture2D ( renderTexture1, - vec2 ( v_texCoord.x + step, v_texCoord.y + step ) ); - sample2 = texture2D ( renderTexture1, - vec2 ( v_texCoord.x + step, v_texCoord.y - step ) ); - sample3 = texture2D ( renderTexture1, - vec2 ( v_texCoord.x - step, v_texCoord.y + step) ); - - gl_FragColor = (sample0 + sample1 + sample2 + sample3) / 4.0; -}]]></RmShaderCode></RmGLESShader> - <RmRenderTarget NAME="renderTexture" API="" INDEX="0" RENDER_TO_SCREEN="FALSE" COLOR_CLEAR="TRUE" DEPTH_CLEAR="TRUE" CLEAR_COLOR_VALUE="-16777216" DEPTH_CLEAR_VALUE="1.000000"/> - <RmStreamMapReference NAME="Stream Mapping" API=""/> - <RmFloatVariable NAME="u_blurStep" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE="2.000000" MIN="0.000000" MAX="0.000000" CLAMP="FALSE"/> - <RmTextureObject NAME="renderTexture1" API="OpenGL ES" STATE_INDEX="0" VERTEX_TEXTURE="FALSE"> - <RmTextureReference NAME="renderTexture1" API=""/> - </RmTextureObject> - <RmSampler NAME="renderTexture1" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_blurStep" API="" REGISTER="-1"/> - </RmGLESPass> - <RmGLESPass NAME="Draw Object to Screen" API="OpenGL ES" PASS_INDEX="3" ENABLED="TRUE"> - <RmCameraReference NAME="Camera" API="" USE_ACTIVE_CAMERA="FALSE"/> - <RmModelReference NAME="Model" API=""/> - <RmGLESShader NAME="Fragment Program" API="OpenGL ES" PIXEL_SHADER="TRUE"><RmShaderCode TYPE="TEXT"><![CDATA[ -precision mediump float; - -uniform sampler2D baseMap; -varying vec2 v_texCoord; - -void main( void ) -{ - gl_FragColor = texture2D( baseMap, v_texCoord ); -}]]></RmShaderCode></RmGLESShader> - <RmGLESShader NAME="Vertex Program" API="OpenGL ES" PIXEL_SHADER="FALSE"><RmShaderCode TYPE="TEXT"><![CDATA[ -uniform mat4 u_matViewProjection; -attribute vec4 a_vertex; -attribute vec2 a_texCoord0; -varying vec2 v_texCoord; - -void main( void ) -{ - gl_Position = u_matViewProjection * a_vertex; - v_texCoord = a_texCoord0.xy; -}]]></RmShaderCode></RmGLESShader> - <RmStreamMapReference NAME="Stream Mapping" API=""/> - <RmTextureObject NAME="baseMap" API="OpenGL ES" STATE_INDEX="0" VERTEX_TEXTURE="FALSE"> - <RmTextureReference NAME="base" API=""/> - <RmState NAME="GL_TextureMinify" API="OpenGL ES" STATE="4" VALUE="6" USAGE="SAMPLER_STATE"/> - <RmState NAME="GL_TextureMagnify" API="OpenGL ES" STATE="5" VALUE="1" USAGE="SAMPLER_STATE"/> - </RmTextureObject> - <RmSampler NAME="baseMap" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_matViewProjection" API="" REGISTER="-1"/> - </RmGLESPass> - <RmGLESPass NAME="Draw to Screen" API="OpenGL ES" PASS_INDEX="4" ENABLED="TRUE"> - <RmModelReference NAME="ScreenAlignedQuad" API=""/> - <RmRenderStateBlock NAME="Render State" API="OpenGL ES"> - <RmState NAME="GL_BlendSourceRGB" API="OpenGL ES" STATE="48" VALUE="2" USAGE="RENDER_STATE"/> - <RmState NAME="GL_BlendDestRGB" API="OpenGL ES" STATE="49" VALUE="2" USAGE="RENDER_STATE"/> - <RmState NAME="GL_BlendEnable" API="OpenGL ES" STATE="46" VALUE="1" USAGE="RENDER_STATE"/> - </RmRenderStateBlock> - <RmGLESShader NAME="Fragment Program" API="OpenGL ES" PIXEL_SHADER="TRUE"><RmShaderCode TYPE="TEXT"><![CDATA[ -precision mediump float; -uniform sampler2D renderTexture; -varying vec2 v_texCoord; - -void main(void) -{ - gl_FragColor = texture2D( renderTexture, v_texCoord ); -}]]></RmShaderCode></RmGLESShader> - <RmGLESShader NAME="Vertex Program" API="OpenGL ES" PIXEL_SHADER="FALSE"><RmShaderCode TYPE="TEXT"><![CDATA[ -attribute vec4 a_vertex; -varying vec2 v_texCoord; - -void main(void) -{ - vec2 P = sign( a_vertex.xy ); - gl_Position = vec4( P, 0.0, 1.0 ); - - v_texCoord = P * 0.5 + 0.5; -}]]></RmShaderCode></RmGLESShader> - <RmStreamMapReference NAME="Stream Mapping" API=""/> - <RmTextureObject NAME="renderTexture" API="OpenGL ES" STATE_INDEX="0" VERTEX_TEXTURE="FALSE"> - <RmTextureReference NAME="renderTexture" API=""/> - </RmTextureObject> - <RmSampler NAME="renderTexture" API="" REGISTER="-1"/> - </RmGLESPass> - </RmOpenGLESEffect> - </RmEffectGroup> - </RmEffectWorkspace> -</RENDER_MONKEY> diff --git a/third_party/gles2_book/Chapter_13/PostProcess/ScreenAlignedQuad.3ds b/third_party/gles2_book/Chapter_13/PostProcess/ScreenAlignedQuad.3ds Binary files differdeleted file mode 100644 index 619124bdad..0000000000 --- a/third_party/gles2_book/Chapter_13/PostProcess/ScreenAlignedQuad.3ds +++ /dev/null diff --git a/third_party/gles2_book/Chapter_13/ProceduralTextures/Checker.rfx b/third_party/gles2_book/Chapter_13/ProceduralTextures/Checker.rfx deleted file mode 100644 index 3da57a872e..0000000000 --- a/third_party/gles2_book/Chapter_13/ProceduralTextures/Checker.rfx +++ /dev/null @@ -1,1081 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<!DOCTYPE RENDER_MONKEY [ - <!ELEMENT RENDER_MONKEY - ( - RmEffectWorkspace | - RmRegistryBranch | - RmClipboardNode - )?> - - <!ELEMENT RmEffectWorkspace - ( - RmRegistryBranch?, - RmPlugInData?, - RmStringVariable*, - ( - ( RmDirectXEffect, RmOpenGLEffect?, RmOpenGLESEffect? ) | - ( RmOpenGLEffect, RmDirectXEffect?, RmOpenGLESEffect? ) | - ( RmOpenGLESEffect, RmDirectXEffect?, RmOpenGLEffect? ) - )?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmEffectGroup - )* - )> - - <!ELEMENT RmEffectGroup - ( - RmPlugInData?, - ( - RmStringVariable | - RmDirectXEffect | - RmOpenGLEffect | - RmOpenGLESEffect | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData - )* - )> - - <!ELEMENT RmDirectXEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmPass - )* - )> - - <!ELEMENT RmOpenGLEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmGLPass - )* - )> - - <!ELEMENT RmOpenGLESEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmGLESPass - )* - )> - - <!ELEMENT RmPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( - ( RmHLSLShader | RmShader ), - ( RmShader | RmHLSLShader )? - ) - )?, - RmRenderTarget*, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject - )* - )> - - <!ELEMENT RmGLPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( RmGLShader, RmGLShader? ) - )?, - RmRenderTarget?, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmGLESPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( RmGLESShader, RmGLESShader? ) - )?, - RmRenderTarget?, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable | - RmShaderConstant - )* - )> - - <!ELEMENT RmHLSLShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmGLShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable - )* - )> - - <!ELEMENT RmGLESShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable - )* - )> - - <!ELEMENT RmTextureObject - ( - RmPlugInData?, - RmStringVariable*, - RmTextureReference?, - RmState* - )> - - <!ELEMENT RmLightObject - ( - RmPlugInData?, - RmStringVariable*, - RmLightReference? - )> - - <!ELEMENT RmMaterialObject - ( - RmPlugInData?, - RmStringVariable*, - RmMaterialReference? - )> - - <!ELEMENT RmRenderStateBlock - ( - RmPlugInData?, - ( - RmStringVariable | - RmState - )* - )> - - <!ELEMENT RmStreamMap - ( - RmPlugInData?, - ( - RmStringVariable | - RmStream - )* - )> - - <!ELEMENT RmStream ( RmPlugInData?, RmStreamChannel* )> - - <!ELEMENT RmModelData ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmTextureReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmLightReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmMaterialReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmCameraReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmModelReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmStreamMapReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmRenderableTexture ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmRenderTarget ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmBooleanVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmFloatVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmVectorVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmMatrixVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmColorVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmIntegerVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT Rm2DTextureVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmCubemapVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT Rm3DTextureVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmLightVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmMaterialVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmCamera ( RmPlugInData?, RmStringVariable* )> - - <!ELEMENT RmStringVariable ( RmTextDataBlock, RmPlugInData? )> - - <!ELEMENT RmDynamicVariable - ( - RmDynamicVariableValueContainer, - RmPlugInData?, - RmStringVariable? - )> - - <!ELEMENT RmDynamicVariableValueContainer - ( - RmPlugInData?, - RmDynamicVariableValue* - )> - - <!ELEMENT RmTextDataBlock ( #PCDATA ) > - - <!ELEMENT RmRegistryBranch - ( - RmTextDataBlock?, - ( - RmRegistryBranch | - RmStringVariable | - RmIntegerVariable | - RmBooleanVariable | - RmFloatVariable - )* - )> - - <!ELEMENT RmPlugInData - ( - RmTextDataBlock?, - ( - RmStringVariable | - RmIntegerVariable | - RmBooleanVariable | - RmFloatVariable | - RmVectorVariable - )* - )> - - <!ELEMENT RmClipboardNode - ( - RmTextDataBlock?, - ( - RmEffectWorkspace | - RmEffectGroup | - RmDirectXEffect | - RmOpenGLEffect | - RmOpenGLESEffect | - RmPass | - RmGLPass | - RmGLESPass | - RmShader | - RmHLSLShader | - RmGLShader | - RmGLESShader | - RmShaderConstant | - RmSampler | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmRenderStateBlock | - RmState | - RmStreamMap | - RmStream | - RmStreamChannel | - RmModelData | - RmTextureReference | - RmLightReference | - RmMaterialReference | - RmModelReference | - RmStreamMapReference | - RmRenderableTexture | - RmRenderTarget | - RmBooleanVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmDynamicVariableValue | - RmColorVariable | - RmIntegerVariable | - RmStringVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRegistryBranch | - RmPlugInData | - RmCamera | - RmCameraReference - )* - )> - - <!ELEMENT RmStreamChannel ( RmPlugInData? ) > - <!ELEMENT RmShaderConstant ( RmPlugInData? ) > - <!ELEMENT RmSampler ( RmPlugInData? ) > - <!ELEMENT RmState ( RmPlugInData? ) > - <!ELEMENT RmDynamicVariableValue ( RmPlugInData? ) > - - <!ELEMENT RmShaderCode ( #PCDATA ) > - - <!ATTLIST RmEffectWorkspace - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_EFFECT CDATA #REQUIRED - VALIDATION_STRING CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmEffectGroup - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmDirectXEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmOpenGLEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmOpenGLESEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLESPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER CDATA #REQUIRED - > - - <!ATTLIST RmHLSLShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - TARGET CDATA #REQUIRED - ENTRY_POINT CDATA #REQUIRED - COMPILER_FLAGS CDATA #REQUIRED - > - - <!ATTLIST RmGLShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLESShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShaderConstant - NAME CDATA #REQUIRED - API CDATA #REQUIRED - REGISTER CDATA #REQUIRED - > - - <!ATTLIST RmSampler - NAME CDATA #REQUIRED - API CDATA #REQUIRED - REGISTER CDATA #REQUIRED - > - - <!ATTLIST RmTextureObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STATE_INDEX CDATA #REQUIRED - VERTEX_TEXTURE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmLightObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - > - - <!ATTLIST RmMaterialObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - > - - <!ATTLIST RmRenderStateBlock - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmState - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STATE CDATA #REQUIRED - VALUE CDATA #REQUIRED - USAGE CDATA #REQUIRED - > - - <!ATTLIST RmStreamMap - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmStream - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STRIDE CDATA #REQUIRED - > - - <!ATTLIST RmStreamChannel - NAME CDATA #REQUIRED - API CDATA #REQUIRED - DATA_SIZE CDATA #REQUIRED - DATA_TYPE CDATA #REQUIRED - REGISTER CDATA #REQUIRED - USAGE CDATA #REQUIRED - USAGE_INDEX CDATA #REQUIRED - ATTRIBUTE_NAME CDATA #REQUIRED - > - - <!ATTLIST RmModelData - NAME CDATA #REQUIRED - API CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIENTATION CDATA #REQUIRED - > - - <!ATTLIST RmTextureReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmLightReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmMaterialReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmModelReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmStreamMapReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmRenderableTexture - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - WIDTH CDATA #REQUIRED - HEIGHT CDATA #REQUIRED - FORMAT CDATA #REQUIRED - USE_VIEWPORT_DIMENSIONS ( TRUE | FALSE ) #REQUIRED - GENERATE_MIPMAPS ( TRUE | FALSE ) #REQUIRED - WIDTH_RATIO CDATA #REQUIRED - HEIGHT_RATIO CDATA #REQUIRED - > - - <!ATTLIST RmRenderTarget - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - RENDER_TO_SCREEN ( TRUE | FALSE ) #REQUIRED - COLOR_CLEAR ( TRUE | FALSE ) #REQUIRED - DEPTH_CLEAR ( TRUE | FALSE ) #REQUIRED - CLEAR_COLOR_VALUE CDATA #REQUIRED - DEPTH_CLEAR_VALUE CDATA #REQUIRED - > - - <!ATTLIST RmBooleanVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - > - - <!ATTLIST RmFloatVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmVectorVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - NORMALIZE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmMatrixVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - VALUE_4 CDATA #REQUIRED - VALUE_5 CDATA #REQUIRED - VALUE_6 CDATA #REQUIRED - VALUE_7 CDATA #REQUIRED - VALUE_8 CDATA #REQUIRED - VALUE_9 CDATA #REQUIRED - VALUE_10 CDATA #REQUIRED - VALUE_11 CDATA #REQUIRED - VALUE_12 CDATA #REQUIRED - VALUE_13 CDATA #REQUIRED - VALUE_14 CDATA #REQUIRED - VALUE_15 CDATA #REQUIRED - > - - <!ATTLIST RmDynamicVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VARIABLE_TYPE ( FLOAT | INTEGER | BOOLEAN ) #REQUIRED - ROWS CDATA #REQUIRED - COLUMNS CDATA #REQUIRED - FIXED_SIZE ( TRUE | FALSE ) #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - NORMALIZE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmDynamicVariableValue - ROW_INDEX CDATA #REQUIRED - COLUMN_INDEX CDATA #REQUIRED - VALUE CDATA #REQUIRED - > - - <!ATTLIST RmColorVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - > - - <!ATTLIST RmIntegerVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmStringVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - > - - <!ATTLIST Rm2DTextureVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST RmCubemapVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST Rm3DTextureVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST RmLightVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - LIGHT_ENABLED ( TRUE | FALSE ) #REQUIRED - LIGHT_TYPE ( POSITIONAL | DIRECTIONAL | SPOTLIGHT ) #REQUIRED - AMBIENT_0 CDATA #REQUIRED - AMBIENT_1 CDATA #REQUIRED - AMBIENT_2 CDATA #REQUIRED - AMBIENT_3 CDATA #REQUIRED - DIFFUSE_0 CDATA #REQUIRED - DIFFUSE_1 CDATA #REQUIRED - DIFFUSE_2 CDATA #REQUIRED - DIFFUSE_3 CDATA #REQUIRED - SPECULAR_0 CDATA #REQUIRED - SPECULAR_1 CDATA #REQUIRED - SPECULAR_2 CDATA #REQUIRED - SPECULAR_3 CDATA #REQUIRED - POSITION_0 CDATA #REQUIRED - POSITION_1 CDATA #REQUIRED - POSITION_2 CDATA #REQUIRED - DIRECTION_0 CDATA #REQUIRED - DIRECTION_1 CDATA #REQUIRED - DIRECTION_2 CDATA #REQUIRED - ATTENUATION_0 CDATA #REQUIRED - ATTENUATION_1 CDATA #REQUIRED - ATTENUATION_2 CDATA #REQUIRED - SPOTLIGHT_THETA CDATA #REQUIRED - SPOTLIGHT_PHI CDATA #REQUIRED - RANGE CDATA #REQUIRED - FALLOFF CDATA #REQUIRED - > - - <!ATTLIST RmMaterialVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - AMBIENT_0 CDATA #REQUIRED - AMBIENT_1 CDATA #REQUIRED - AMBIENT_2 CDATA #REQUIRED - AMBIENT_3 CDATA #REQUIRED - DIFFUSE_0 CDATA #REQUIRED - DIFFUSE_1 CDATA #REQUIRED - DIFFUSE_2 CDATA #REQUIRED - DIFFUSE_3 CDATA #REQUIRED - SPECULAR_0 CDATA #REQUIRED - SPECULAR_1 CDATA #REQUIRED - SPECULAR_2 CDATA #REQUIRED - SPECULAR_3 CDATA #REQUIRED - EMISSIVE_0 CDATA #REQUIRED - EMISSIVE_1 CDATA #REQUIRED - EMISSIVE_2 CDATA #REQUIRED - EMISSIVE_3 CDATA #REQUIRED - SPECULAR_POWER CDATA #REQUIRED - > - - <!ATTLIST RmRegistryBranch - NAME CDATA #REQUIRED - API CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmPlugInData - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PLUGIN_GUID CDATA #REQUIRED - > - - <!ATTLIST RmClipboardNode - NAME CDATA #REQUIRED - API CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmCamera - NAME CDATA #REQUIRED - API CDATA #REQUIRED - CAMERA_POSITION_X CDATA #REQUIRED - CAMERA_POSITION_Y CDATA #REQUIRED - CAMERA_POSITION_Z CDATA #REQUIRED - LOOK_AT_VECTOR_X CDATA #REQUIRED - LOOK_AT_VECTOR_Y CDATA #REQUIRED - LOOK_AT_VECTOR_Z CDATA #REQUIRED - UP_VECTOR_X CDATA #REQUIRED - UP_VECTOR_Y CDATA #REQUIRED - UP_VECTOR_Z CDATA #REQUIRED - FOV CDATA #REQUIRED - NEAR_CLIP_PLANE CDATA #REQUIRED - FAR_CLIP_PLANE CDATA #REQUIRED - > - - <!ATTLIST RmCameraReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - USE_ACTIVE_CAMERA ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShaderCode - TYPE ( TEXT ) #REQUIRED - > - - <!ATTLIST RmTextDataBlock - TYPE ( TEXT ) #REQUIRED - > - -]> -<RENDER_MONKEY> - <RmEffectWorkspace NAME="Effect Workspace" API="" ACTIVE_EFFECT="Effect Workspace.Position" VALIDATION_STRING="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_REGISTRY" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_LOCAL" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_PLUGIN" API="" XML_VERSION="RenderMonkey 1.71"><RmTextDataBlock TYPE="TEXT"><![CDATA[ -<DockingPaneLayouts><Application_Layout><Pane-1><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Artist Editor</Title><ID>1001</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>7</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>7</LastHolder></Pane-1><Pane-2><Type>2</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><Horiz>0</Horiz><Pane-1>3</Pane-1><Pane-2>8</Pane-2><Panes>2</Panes></Pane-2><Pane-3><Type>2</Type><DockingCX>0</DockingCX><DockingCY>808</DockingCY><Horiz>1</Horiz><Pane-1>4</Pane-1><Pane-2>6</Pane-2><Pane-3>7</Pane-3><Panes>3</Panes></Pane-3><Pane-4><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>5</Selected><Panes>1</Panes><Pane-1>5</Pane-1></Pane-4><Pane-5><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Workspace</Title><ID>1000</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>4</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>4</LastHolder></Pane-5><Pane-6><Type>4</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY></Pane-6><Pane-7><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-7><Pane-8><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>9</Selected><Panes>1</Panes><Pane-1>9</Pane-1></Pane-8><Pane-9><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Output</Title><ID>1002</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>8</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>8</LastHolder></Pane-9><Summary><TopContainer>2</TopContainer><Client>6</Client><Panes>9</Panes></Summary></Application_Layout></DockingPaneLayouts> -]]></RmTextDataBlock> - <RmRegistryBranch NAME="RmRenderStateBlockEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Position" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="54" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="70" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1283" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="434" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmStreamEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Position.Stream Mapping" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="459" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="323" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="851" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="270" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmPreviewGLWindow" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EffectPlacementRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Position" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="350" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="350" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmColorEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Position.u_color1" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="DockPaneID" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1100" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmBooleanVariable NAME="FloatingPoint" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="FALSE"/> - <RmIntegerVariable NAME="ColorType" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmBooleanVariable NAME="LargeSize" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="TRUE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmDynamicVariableEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Position.u_frequency" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="DockPaneID" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1101" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmBooleanVariable NAME="ShowSetup" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="TRUE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmPreviewDx9Window" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmPreviewGLESWindow" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmPreviewGLPreview" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmLightEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="NoteEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmRenderableTextureEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmRenderTargetEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmShaderEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Position" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Disassembly" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmStringVariable NAME="Editing Shader" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -Fragment Program]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="Editing Pass" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -Pass 0]]></RmTextDataBlock></RmStringVariable> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="967" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="718" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmTextureObjectEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmTextureGenerator" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="WORKSPACE" API="" XML_VERSION="RenderMonkey 1.71"> - <RmStringVariable NAME="LAST_SAVE" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -20/1/2008 22:54:49]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="VERSION" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -RenderMonkey Version 1.71 (build 59)]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="XML_VERSION" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -RenderMonkey 1.71]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="BASE_WORKSPACE_PATH" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -C:\book\ogles\Code\Chapter_13\ProceduralTextures\]]></RmTextDataBlock></RmStringVariable> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmOpenGLESEffect NAME="Position" API="OpenGL ES" ACTIVE_CAMERA="Camera"> - <RmCamera NAME="Camera" API="" CAMERA_POSITION_X="1.482474" CAMERA_POSITION_Y="-1.227030" CAMERA_POSITION_Z="-2.968942" LOOK_AT_VECTOR_X="0.001000" LOOK_AT_VECTOR_Y="0.001000" LOOK_AT_VECTOR_Z="0.001000" UP_VECTOR_X="-0.087063" UP_VECTOR_Y="0.904525" UP_VECTOR_Z="-0.417437" FOV="45.000000" NEAR_CLIP_PLANE="1.207107" FAR_CLIP_PLANE="23.414213"/> - <RmDynamicVariable NAME="u_frequency" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VARIABLE_TYPE="INTEGER" ROWS="1" COLUMNS="1" FIXED_SIZE="TRUE" MIN="-100" MAX="100" CLAMP="FALSE" NORMALIZE="FALSE"> - <RmDynamicVariableValueContainer> - <RmDynamicVariableValue ROW_INDEX="0" COLUMN_INDEX="0" VALUE="6"/> - </RmDynamicVariableValueContainer> - </RmDynamicVariable> - <RmMatrixVariable NAME="u_mvpMatrix" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="ViewProjection" VALUE_0="-2.014508" VALUE_1="-0.552268" VALUE_2="-0.776526" VALUE_3="0.003343" VALUE_4="-0.210189" VALUE_5="2.183717" VALUE_6="-1.007783" VALUE_7="-0.000962" VALUE_8="-0.441388" VALUE_9="0.365878" VALUE_10="0.884861" VALUE_11="2.457668" VALUE_12="-0.418633" VALUE_13="0.347015" VALUE_14="0.839242" VALUE_15="3.538071"/> - <RmColorVariable NAME="u_color1" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE_0="0.000000" VALUE_1="0.000000" VALUE_2="0.000000" VALUE_3="1.000000"/> - <RmColorVariable NAME="u_color0" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE_0="1.000000" VALUE_1="1.000000" VALUE_2="1.000000" VALUE_3="1.000000"/> - <RmStreamMap NAME="Stream Mapping" API=""> - <RmStream NAME="Stream" API="" STRIDE="20"> - <RmStreamChannel NAME="Position_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="0" USAGE_INDEX="0" ATTRIBUTE_NAME="a_position"/> - <RmStreamChannel NAME="TexCoord_0" API="" DATA_SIZE="8" DATA_TYPE="1" REGISTER="0" USAGE="5" USAGE_INDEX="0" ATTRIBUTE_NAME="a_st"/> - </RmStream> - </RmStreamMap> - <RmModelData NAME="Model" API="" FILE_NAME=".\ScreenAlignedQuad.3ds" ORIENTATION="0"/> - <RmGLESPass NAME="Pass 0" API="OpenGL ES" PASS_INDEX="0" ENABLED="TRUE"> - <RmCameraReference NAME="Camera" API="" USE_ACTIVE_CAMERA="FALSE"/> - <RmModelReference NAME="Model" API=""/> - <RmRenderStateBlock NAME="Render State" API="OpenGL ES"> - <RmState NAME="GL_CullMode" API="OpenGL ES" STATE="8" VALUE="1" USAGE="RENDER_STATE"/> - </RmRenderStateBlock> - <RmGLESShader NAME="Vertex Program" API="OpenGL ES" PIXEL_SHADER="FALSE"><RmShaderCode TYPE="TEXT"><![CDATA[ - -uniform mat4 u_mvpMatrix; - -attribute vec4 a_position; -attribute vec2 a_st; - -varying vec2 v_st; - -void -main() -{ - v_st = a_st; - gl_Position = u_mvpMatrix * a_position; -} -]]></RmShaderCode></RmGLESShader> - <RmGLESShader NAME="Fragment Program" API="OpenGL ES" PIXEL_SHADER="TRUE"><RmShaderCode TYPE="TEXT"><![CDATA[ -#extension GL_OES_standard_derivatives:enable - -precision highp float; - -uniform int u_frequency; -uniform vec4 u_color0; -uniform vec4 u_color1; - -varying vec2 v_st; - -void -main() -{ - float s, t, delta; - - s = mod(floor(v_st.x * float(u_frequency * 2)), 2.0); - t = mod(floor(v_st.y * float(u_frequency * 2)), 2.0); - delta = abs(s - t); - - gl_FragColor = mix(u_color1, u_color0, delta); -} -]]></RmShaderCode></RmGLESShader> - <RmStreamMapReference NAME="Stream Mapping" API=""/> - <RmShaderConstant NAME="u_color0" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_color1" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_frequency" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_mvpMatrix" API="" REGISTER="-1"/> - </RmGLESPass> - </RmOpenGLESEffect> - </RmEffectWorkspace> -</RENDER_MONKEY> diff --git a/third_party/gles2_book/Chapter_13/ProceduralTextures/CheckerAA.rfx b/third_party/gles2_book/Chapter_13/ProceduralTextures/CheckerAA.rfx deleted file mode 100644 index 6f73d7ee1f..0000000000 --- a/third_party/gles2_book/Chapter_13/ProceduralTextures/CheckerAA.rfx +++ /dev/null @@ -1,1109 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<!DOCTYPE RENDER_MONKEY [ - <!ELEMENT RENDER_MONKEY - ( - RmEffectWorkspace | - RmRegistryBranch | - RmClipboardNode - )?> - - <!ELEMENT RmEffectWorkspace - ( - RmRegistryBranch?, - RmPlugInData?, - RmStringVariable*, - ( - ( RmDirectXEffect, RmOpenGLEffect?, RmOpenGLESEffect? ) | - ( RmOpenGLEffect, RmDirectXEffect?, RmOpenGLESEffect? ) | - ( RmOpenGLESEffect, RmDirectXEffect?, RmOpenGLEffect? ) - )?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmEffectGroup - )* - )> - - <!ELEMENT RmEffectGroup - ( - RmPlugInData?, - ( - RmStringVariable | - RmDirectXEffect | - RmOpenGLEffect | - RmOpenGLESEffect | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData - )* - )> - - <!ELEMENT RmDirectXEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmPass - )* - )> - - <!ELEMENT RmOpenGLEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmGLPass - )* - )> - - <!ELEMENT RmOpenGLESEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmGLESPass - )* - )> - - <!ELEMENT RmPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( - ( RmHLSLShader | RmShader ), - ( RmShader | RmHLSLShader )? - ) - )?, - RmRenderTarget*, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject - )* - )> - - <!ELEMENT RmGLPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( RmGLShader, RmGLShader? ) - )?, - RmRenderTarget?, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmGLESPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( RmGLESShader, RmGLESShader? ) - )?, - RmRenderTarget?, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable | - RmShaderConstant - )* - )> - - <!ELEMENT RmHLSLShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmGLShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable - )* - )> - - <!ELEMENT RmGLESShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable - )* - )> - - <!ELEMENT RmTextureObject - ( - RmPlugInData?, - RmStringVariable*, - RmTextureReference?, - RmState* - )> - - <!ELEMENT RmLightObject - ( - RmPlugInData?, - RmStringVariable*, - RmLightReference? - )> - - <!ELEMENT RmMaterialObject - ( - RmPlugInData?, - RmStringVariable*, - RmMaterialReference? - )> - - <!ELEMENT RmRenderStateBlock - ( - RmPlugInData?, - ( - RmStringVariable | - RmState - )* - )> - - <!ELEMENT RmStreamMap - ( - RmPlugInData?, - ( - RmStringVariable | - RmStream - )* - )> - - <!ELEMENT RmStream ( RmPlugInData?, RmStreamChannel* )> - - <!ELEMENT RmModelData ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmTextureReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmLightReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmMaterialReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmCameraReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmModelReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmStreamMapReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmRenderableTexture ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmRenderTarget ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmBooleanVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmFloatVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmVectorVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmMatrixVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmColorVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmIntegerVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT Rm2DTextureVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmCubemapVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT Rm3DTextureVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmLightVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmMaterialVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmCamera ( RmPlugInData?, RmStringVariable* )> - - <!ELEMENT RmStringVariable ( RmTextDataBlock, RmPlugInData? )> - - <!ELEMENT RmDynamicVariable - ( - RmDynamicVariableValueContainer, - RmPlugInData?, - RmStringVariable? - )> - - <!ELEMENT RmDynamicVariableValueContainer - ( - RmPlugInData?, - RmDynamicVariableValue* - )> - - <!ELEMENT RmTextDataBlock ( #PCDATA ) > - - <!ELEMENT RmRegistryBranch - ( - RmTextDataBlock?, - ( - RmRegistryBranch | - RmStringVariable | - RmIntegerVariable | - RmBooleanVariable | - RmFloatVariable - )* - )> - - <!ELEMENT RmPlugInData - ( - RmTextDataBlock?, - ( - RmStringVariable | - RmIntegerVariable | - RmBooleanVariable | - RmFloatVariable | - RmVectorVariable - )* - )> - - <!ELEMENT RmClipboardNode - ( - RmTextDataBlock?, - ( - RmEffectWorkspace | - RmEffectGroup | - RmDirectXEffect | - RmOpenGLEffect | - RmOpenGLESEffect | - RmPass | - RmGLPass | - RmGLESPass | - RmShader | - RmHLSLShader | - RmGLShader | - RmGLESShader | - RmShaderConstant | - RmSampler | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmRenderStateBlock | - RmState | - RmStreamMap | - RmStream | - RmStreamChannel | - RmModelData | - RmTextureReference | - RmLightReference | - RmMaterialReference | - RmModelReference | - RmStreamMapReference | - RmRenderableTexture | - RmRenderTarget | - RmBooleanVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmDynamicVariableValue | - RmColorVariable | - RmIntegerVariable | - RmStringVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRegistryBranch | - RmPlugInData | - RmCamera | - RmCameraReference - )* - )> - - <!ELEMENT RmStreamChannel ( RmPlugInData? ) > - <!ELEMENT RmShaderConstant ( RmPlugInData? ) > - <!ELEMENT RmSampler ( RmPlugInData? ) > - <!ELEMENT RmState ( RmPlugInData? ) > - <!ELEMENT RmDynamicVariableValue ( RmPlugInData? ) > - - <!ELEMENT RmShaderCode ( #PCDATA ) > - - <!ATTLIST RmEffectWorkspace - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_EFFECT CDATA #REQUIRED - VALIDATION_STRING CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmEffectGroup - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmDirectXEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmOpenGLEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmOpenGLESEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLESPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER CDATA #REQUIRED - > - - <!ATTLIST RmHLSLShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - TARGET CDATA #REQUIRED - ENTRY_POINT CDATA #REQUIRED - COMPILER_FLAGS CDATA #REQUIRED - > - - <!ATTLIST RmGLShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLESShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShaderConstant - NAME CDATA #REQUIRED - API CDATA #REQUIRED - REGISTER CDATA #REQUIRED - > - - <!ATTLIST RmSampler - NAME CDATA #REQUIRED - API CDATA #REQUIRED - REGISTER CDATA #REQUIRED - > - - <!ATTLIST RmTextureObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STATE_INDEX CDATA #REQUIRED - VERTEX_TEXTURE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmLightObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - > - - <!ATTLIST RmMaterialObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - > - - <!ATTLIST RmRenderStateBlock - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmState - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STATE CDATA #REQUIRED - VALUE CDATA #REQUIRED - USAGE CDATA #REQUIRED - > - - <!ATTLIST RmStreamMap - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmStream - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STRIDE CDATA #REQUIRED - > - - <!ATTLIST RmStreamChannel - NAME CDATA #REQUIRED - API CDATA #REQUIRED - DATA_SIZE CDATA #REQUIRED - DATA_TYPE CDATA #REQUIRED - REGISTER CDATA #REQUIRED - USAGE CDATA #REQUIRED - USAGE_INDEX CDATA #REQUIRED - ATTRIBUTE_NAME CDATA #REQUIRED - > - - <!ATTLIST RmModelData - NAME CDATA #REQUIRED - API CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIENTATION CDATA #REQUIRED - > - - <!ATTLIST RmTextureReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmLightReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmMaterialReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmModelReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmStreamMapReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmRenderableTexture - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - WIDTH CDATA #REQUIRED - HEIGHT CDATA #REQUIRED - FORMAT CDATA #REQUIRED - USE_VIEWPORT_DIMENSIONS ( TRUE | FALSE ) #REQUIRED - GENERATE_MIPMAPS ( TRUE | FALSE ) #REQUIRED - WIDTH_RATIO CDATA #REQUIRED - HEIGHT_RATIO CDATA #REQUIRED - > - - <!ATTLIST RmRenderTarget - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - RENDER_TO_SCREEN ( TRUE | FALSE ) #REQUIRED - COLOR_CLEAR ( TRUE | FALSE ) #REQUIRED - DEPTH_CLEAR ( TRUE | FALSE ) #REQUIRED - CLEAR_COLOR_VALUE CDATA #REQUIRED - DEPTH_CLEAR_VALUE CDATA #REQUIRED - > - - <!ATTLIST RmBooleanVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - > - - <!ATTLIST RmFloatVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmVectorVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - NORMALIZE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmMatrixVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - VALUE_4 CDATA #REQUIRED - VALUE_5 CDATA #REQUIRED - VALUE_6 CDATA #REQUIRED - VALUE_7 CDATA #REQUIRED - VALUE_8 CDATA #REQUIRED - VALUE_9 CDATA #REQUIRED - VALUE_10 CDATA #REQUIRED - VALUE_11 CDATA #REQUIRED - VALUE_12 CDATA #REQUIRED - VALUE_13 CDATA #REQUIRED - VALUE_14 CDATA #REQUIRED - VALUE_15 CDATA #REQUIRED - > - - <!ATTLIST RmDynamicVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VARIABLE_TYPE ( FLOAT | INTEGER | BOOLEAN ) #REQUIRED - ROWS CDATA #REQUIRED - COLUMNS CDATA #REQUIRED - FIXED_SIZE ( TRUE | FALSE ) #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - NORMALIZE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmDynamicVariableValue - ROW_INDEX CDATA #REQUIRED - COLUMN_INDEX CDATA #REQUIRED - VALUE CDATA #REQUIRED - > - - <!ATTLIST RmColorVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - > - - <!ATTLIST RmIntegerVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmStringVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - > - - <!ATTLIST Rm2DTextureVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST RmCubemapVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST Rm3DTextureVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST RmLightVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - LIGHT_ENABLED ( TRUE | FALSE ) #REQUIRED - LIGHT_TYPE ( POSITIONAL | DIRECTIONAL | SPOTLIGHT ) #REQUIRED - AMBIENT_0 CDATA #REQUIRED - AMBIENT_1 CDATA #REQUIRED - AMBIENT_2 CDATA #REQUIRED - AMBIENT_3 CDATA #REQUIRED - DIFFUSE_0 CDATA #REQUIRED - DIFFUSE_1 CDATA #REQUIRED - DIFFUSE_2 CDATA #REQUIRED - DIFFUSE_3 CDATA #REQUIRED - SPECULAR_0 CDATA #REQUIRED - SPECULAR_1 CDATA #REQUIRED - SPECULAR_2 CDATA #REQUIRED - SPECULAR_3 CDATA #REQUIRED - POSITION_0 CDATA #REQUIRED - POSITION_1 CDATA #REQUIRED - POSITION_2 CDATA #REQUIRED - DIRECTION_0 CDATA #REQUIRED - DIRECTION_1 CDATA #REQUIRED - DIRECTION_2 CDATA #REQUIRED - ATTENUATION_0 CDATA #REQUIRED - ATTENUATION_1 CDATA #REQUIRED - ATTENUATION_2 CDATA #REQUIRED - SPOTLIGHT_THETA CDATA #REQUIRED - SPOTLIGHT_PHI CDATA #REQUIRED - RANGE CDATA #REQUIRED - FALLOFF CDATA #REQUIRED - > - - <!ATTLIST RmMaterialVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - AMBIENT_0 CDATA #REQUIRED - AMBIENT_1 CDATA #REQUIRED - AMBIENT_2 CDATA #REQUIRED - AMBIENT_3 CDATA #REQUIRED - DIFFUSE_0 CDATA #REQUIRED - DIFFUSE_1 CDATA #REQUIRED - DIFFUSE_2 CDATA #REQUIRED - DIFFUSE_3 CDATA #REQUIRED - SPECULAR_0 CDATA #REQUIRED - SPECULAR_1 CDATA #REQUIRED - SPECULAR_2 CDATA #REQUIRED - SPECULAR_3 CDATA #REQUIRED - EMISSIVE_0 CDATA #REQUIRED - EMISSIVE_1 CDATA #REQUIRED - EMISSIVE_2 CDATA #REQUIRED - EMISSIVE_3 CDATA #REQUIRED - SPECULAR_POWER CDATA #REQUIRED - > - - <!ATTLIST RmRegistryBranch - NAME CDATA #REQUIRED - API CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmPlugInData - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PLUGIN_GUID CDATA #REQUIRED - > - - <!ATTLIST RmClipboardNode - NAME CDATA #REQUIRED - API CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmCamera - NAME CDATA #REQUIRED - API CDATA #REQUIRED - CAMERA_POSITION_X CDATA #REQUIRED - CAMERA_POSITION_Y CDATA #REQUIRED - CAMERA_POSITION_Z CDATA #REQUIRED - LOOK_AT_VECTOR_X CDATA #REQUIRED - LOOK_AT_VECTOR_Y CDATA #REQUIRED - LOOK_AT_VECTOR_Z CDATA #REQUIRED - UP_VECTOR_X CDATA #REQUIRED - UP_VECTOR_Y CDATA #REQUIRED - UP_VECTOR_Z CDATA #REQUIRED - FOV CDATA #REQUIRED - NEAR_CLIP_PLANE CDATA #REQUIRED - FAR_CLIP_PLANE CDATA #REQUIRED - > - - <!ATTLIST RmCameraReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - USE_ACTIVE_CAMERA ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShaderCode - TYPE ( TEXT ) #REQUIRED - > - - <!ATTLIST RmTextDataBlock - TYPE ( TEXT ) #REQUIRED - > - -]> -<RENDER_MONKEY> - <RmEffectWorkspace NAME="Effect Workspace" API="" ACTIVE_EFFECT="Effect Workspace.Position" VALIDATION_STRING="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_REGISTRY" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_LOCAL" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_PLUGIN" API="" XML_VERSION="RenderMonkey 1.71"><RmTextDataBlock TYPE="TEXT"><![CDATA[ -<DockingPaneLayouts><Application_Layout><Pane-1><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Artist Editor</Title><ID>1001</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>7</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>7</LastHolder></Pane-1><Pane-2><Type>2</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><Horiz>0</Horiz><Pane-1>3</Pane-1><Pane-2>8</Pane-2><Panes>2</Panes></Pane-2><Pane-3><Type>2</Type><DockingCX>0</DockingCX><DockingCY>808</DockingCY><Horiz>1</Horiz><Pane-1>4</Pane-1><Pane-2>6</Pane-2><Pane-3>7</Pane-3><Panes>3</Panes></Pane-3><Pane-4><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>5</Selected><Panes>1</Panes><Pane-1>5</Pane-1></Pane-4><Pane-5><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Workspace</Title><ID>1000</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>4</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>4</LastHolder></Pane-5><Pane-6><Type>4</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY></Pane-6><Pane-7><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-7><Pane-8><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>9</Selected><Panes>1</Panes><Pane-1>9</Pane-1></Pane-8><Pane-9><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Output</Title><ID>1002</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>8</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>8</LastHolder></Pane-9><Summary><TopContainer>2</TopContainer><Client>6</Client><Panes>9</Panes></Summary></Application_Layout></DockingPaneLayouts> -]]></RmTextDataBlock> - <RmRegistryBranch NAME="RmRenderStateBlockEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Position" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="54" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="70" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1283" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="434" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmStreamEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Position.Stream Mapping" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="459" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="323" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="851" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="270" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmPreviewGLWindow" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EffectPlacementRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Position" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="350" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="350" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmColorEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Position.u_color1" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="DockPaneID" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1100" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmBooleanVariable NAME="FloatingPoint" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="FALSE"/> - <RmIntegerVariable NAME="ColorType" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmBooleanVariable NAME="LargeSize" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="TRUE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmDynamicVariableEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Position.u_frequency" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="DockPaneID" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1101" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmBooleanVariable NAME="ShowSetup" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="TRUE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmPreviewDx9Window" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmPreviewGLESWindow" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmPreviewGLPreview" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmLightEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="NoteEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmRenderableTextureEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmRenderTargetEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmShaderEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Position" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Disassembly" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmStringVariable NAME="Editing Shader" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -Fragment Program]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="Editing Pass" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -Pass 0]]></RmTextDataBlock></RmStringVariable> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1084" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="724" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmTextureObjectEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmTextureGenerator" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="WORKSPACE" API="" XML_VERSION="RenderMonkey 1.71"> - <RmStringVariable NAME="LAST_SAVE" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -21/1/2008 19:13:57]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="VERSION" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -RenderMonkey Version 1.71 (build 59)]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="XML_VERSION" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -RenderMonkey 1.71]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="BASE_WORKSPACE_PATH" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -C:\book\ogles\Code\Chapter_13\ProceduralTextures\]]></RmTextDataBlock></RmStringVariable> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmOpenGLESEffect NAME="Position" API="OpenGL ES" ACTIVE_CAMERA="Camera"> - <RmCamera NAME="Camera" API="" CAMERA_POSITION_X="0.934720" CAMERA_POSITION_Y="1.103003" CAMERA_POSITION_Z="-3.229657" LOOK_AT_VECTOR_X="0.001000" LOOK_AT_VECTOR_Y="0.001000" LOOK_AT_VECTOR_Z="0.001000" UP_VECTOR_X="-0.962550" UP_VECTOR_Y="0.146132" UP_VECTOR_Z="-0.228347" FOV="45.000000" NEAR_CLIP_PLANE="1.207107" FAR_CLIP_PLANE="23.414213"/> - <RmDynamicVariable NAME="u_frequency" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VARIABLE_TYPE="INTEGER" ROWS="1" COLUMNS="1" FIXED_SIZE="TRUE" MIN="-100" MAX="100" CLAMP="FALSE" NORMALIZE="FALSE"> - <RmDynamicVariableValueContainer> - <RmDynamicVariableValue ROW_INDEX="0" COLUMN_INDEX="0" VALUE="6"/> - </RmDynamicVariableValueContainer> - </RmDynamicVariable> - <RmMatrixVariable NAME="u_mvpMatrix" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="ViewProjection" VALUE_0="-0.138832" VALUE_1="-2.092510" VALUE_2="-0.753897" VALUE_3="0.002985" VALUE_4="-2.323802" VALUE_5="0.352794" VALUE_6="-0.551279" VALUE_7="0.002531" VALUE_8="-0.278191" VALUE_9="-0.328329" VALUE_10="0.962537" VALUE_11="2.458123" VALUE_12="-0.263849" VALUE_13="-0.311402" VALUE_14="0.912914" VALUE_15="3.538502"/> - <RmMatrixVariable NAME="u_mvMatrix" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="View" VALUE_0="-0.062298" VALUE_1="-0.938975" VALUE_2="-0.338297" VALUE_3="0.001340" VALUE_4="-0.962550" VALUE_5="0.146132" VALUE_6="-0.228347" VALUE_7="0.001048" VALUE_8="0.263849" VALUE_9="0.311402" VALUE_10="-0.912914" VALUE_11="-3.538502" VALUE_12="0.000000" VALUE_13="0.000000" VALUE_14="0.000000" VALUE_15="1.000000"/> - <RmColorVariable NAME="u_color0" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE_0="1.000000" VALUE_1="1.000000" VALUE_2="1.000000" VALUE_3="1.000000"/> - <RmColorVariable NAME="u_color1" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE_0="0.000000" VALUE_1="0.000000" VALUE_2="0.000000" VALUE_3="1.000000"/> - <RmStreamMap NAME="Stream Mapping" API=""> - <RmStream NAME="Stream" API="" STRIDE="20"> - <RmStreamChannel NAME="Position_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="0" USAGE_INDEX="0" ATTRIBUTE_NAME="a_position"/> - <RmStreamChannel NAME="TexCoord_0" API="" DATA_SIZE="8" DATA_TYPE="1" REGISTER="0" USAGE="5" USAGE_INDEX="0" ATTRIBUTE_NAME="a_st"/> - </RmStream> - </RmStreamMap> - <RmModelData NAME="Model" API="" FILE_NAME=".\ScreenAlignedQuad.3ds" ORIENTATION="0"/> - <RmGLESPass NAME="Pass 0" API="OpenGL ES" PASS_INDEX="0" ENABLED="TRUE"> - <RmCameraReference NAME="Camera" API="" USE_ACTIVE_CAMERA="FALSE"/> - <RmModelReference NAME="Model" API=""/> - <RmRenderStateBlock NAME="Render State" API="OpenGL ES"> - <RmState NAME="GL_CullMode" API="OpenGL ES" STATE="8" VALUE="1" USAGE="RENDER_STATE"/> - </RmRenderStateBlock> - <RmGLESShader NAME="Vertex Program" API="OpenGL ES" PIXEL_SHADER="FALSE"><RmShaderCode TYPE="TEXT"><![CDATA[ - -uniform mat4 u_mvpMatrix; - -attribute vec4 a_position; -attribute vec2 a_st; - -varying vec2 v_st; - -void -main() -{ - v_st = a_st; - gl_Position = u_mvpMatrix * a_position; -} -]]></RmShaderCode></RmGLESShader> - <RmGLESShader NAME="Fragment Program" API="OpenGL ES" PIXEL_SHADER="TRUE"><RmShaderCode TYPE="TEXT"><![CDATA[ -#extension GL_OES_standard_derivatives:enable - -precision highp float; - -uniform int u_frequency; -uniform vec4 u_color0; -uniform vec4 u_color1; - -varying vec2 v_st; - -void -main() -{ - vec4 color; - vec2 st_width; - vec2 fuzz; - vec2 pmod; - float fuzz_max; - - // determine the filter width - st_width = fwidth(v_st); - - // calculate the fuzziness taking normal into account - fuzz = st_width * float(u_frequency) * 2.0; - - fuzz_max = max(fuzz.s, fuzz.t); - - // calculate position in the checkerboard pattern - pmod = fract(v_st * float(u_frequency)); - - // if the filter width is small enough, compute the pattern color - if (fuzz_max <= 0.5) - { - vec2 p = smoothstep(vec2(0.5), fuzz + vec2(0.5), pmod) + (1.0 - smoothstep(vec2(0.0), fuzz, pmod)); - - color = mix(u_color0, u_color1, p.x * p.y + (1.0 - p.x) * (1.0 - p.y)); - - // gradually fade in the average color when we get close to the limit - color = mix(color, (u_color0 + u_color1)/2.0, smoothstep(0.125, 0.5, fuzz_max)); - } - else - { - // otherwise, use only the average color - color = (u_color0 + u_color1)/2.0; - } - - gl_FragColor = color; -} -]]></RmShaderCode></RmGLESShader> - <RmStreamMapReference NAME="Stream Mapping" API=""/> - <RmShaderConstant NAME="u_color0" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_color1" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_frequency" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_mvpMatrix" API="" REGISTER="-1"/> - </RmGLESPass> - </RmOpenGLESEffect> - </RmEffectWorkspace> -</RENDER_MONKEY> diff --git a/third_party/gles2_book/Chapter_13/ProceduralTextures/ProceduralTextures.rfx b/third_party/gles2_book/Chapter_13/ProceduralTextures/ProceduralTextures.rfx deleted file mode 100644 index f60300fe2c..0000000000 --- a/third_party/gles2_book/Chapter_13/ProceduralTextures/ProceduralTextures.rfx +++ /dev/null @@ -1,1109 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<!DOCTYPE RENDER_MONKEY [ - <!ELEMENT RENDER_MONKEY - ( - RmEffectWorkspace | - RmRegistryBranch | - RmClipboardNode - )?> - - <!ELEMENT RmEffectWorkspace - ( - RmRegistryBranch?, - RmPlugInData?, - RmStringVariable*, - ( - ( RmDirectXEffect, RmOpenGLEffect?, RmOpenGLESEffect? ) | - ( RmOpenGLEffect, RmDirectXEffect?, RmOpenGLESEffect? ) | - ( RmOpenGLESEffect, RmDirectXEffect?, RmOpenGLEffect? ) - )?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmEffectGroup - )* - )> - - <!ELEMENT RmEffectGroup - ( - RmPlugInData?, - ( - RmStringVariable | - RmDirectXEffect | - RmOpenGLEffect | - RmOpenGLESEffect | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData - )* - )> - - <!ELEMENT RmDirectXEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmPass - )* - )> - - <!ELEMENT RmOpenGLEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmGLPass - )* - )> - - <!ELEMENT RmOpenGLESEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmGLESPass - )* - )> - - <!ELEMENT RmPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( - ( RmHLSLShader | RmShader ), - ( RmShader | RmHLSLShader )? - ) - )?, - RmRenderTarget*, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject - )* - )> - - <!ELEMENT RmGLPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( RmGLShader, RmGLShader? ) - )?, - RmRenderTarget?, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmGLESPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( RmGLESShader, RmGLESShader? ) - )?, - RmRenderTarget?, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable | - RmShaderConstant - )* - )> - - <!ELEMENT RmHLSLShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmGLShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable - )* - )> - - <!ELEMENT RmGLESShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable - )* - )> - - <!ELEMENT RmTextureObject - ( - RmPlugInData?, - RmStringVariable*, - RmTextureReference?, - RmState* - )> - - <!ELEMENT RmLightObject - ( - RmPlugInData?, - RmStringVariable*, - RmLightReference? - )> - - <!ELEMENT RmMaterialObject - ( - RmPlugInData?, - RmStringVariable*, - RmMaterialReference? - )> - - <!ELEMENT RmRenderStateBlock - ( - RmPlugInData?, - ( - RmStringVariable | - RmState - )* - )> - - <!ELEMENT RmStreamMap - ( - RmPlugInData?, - ( - RmStringVariable | - RmStream - )* - )> - - <!ELEMENT RmStream ( RmPlugInData?, RmStreamChannel* )> - - <!ELEMENT RmModelData ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmTextureReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmLightReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmMaterialReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmCameraReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmModelReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmStreamMapReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmRenderableTexture ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmRenderTarget ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmBooleanVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmFloatVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmVectorVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmMatrixVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmColorVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmIntegerVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT Rm2DTextureVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmCubemapVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT Rm3DTextureVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmLightVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmMaterialVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmCamera ( RmPlugInData?, RmStringVariable* )> - - <!ELEMENT RmStringVariable ( RmTextDataBlock, RmPlugInData? )> - - <!ELEMENT RmDynamicVariable - ( - RmDynamicVariableValueContainer, - RmPlugInData?, - RmStringVariable? - )> - - <!ELEMENT RmDynamicVariableValueContainer - ( - RmPlugInData?, - RmDynamicVariableValue* - )> - - <!ELEMENT RmTextDataBlock ( #PCDATA ) > - - <!ELEMENT RmRegistryBranch - ( - RmTextDataBlock?, - ( - RmRegistryBranch | - RmStringVariable | - RmIntegerVariable | - RmBooleanVariable | - RmFloatVariable - )* - )> - - <!ELEMENT RmPlugInData - ( - RmTextDataBlock?, - ( - RmStringVariable | - RmIntegerVariable | - RmBooleanVariable | - RmFloatVariable | - RmVectorVariable - )* - )> - - <!ELEMENT RmClipboardNode - ( - RmTextDataBlock?, - ( - RmEffectWorkspace | - RmEffectGroup | - RmDirectXEffect | - RmOpenGLEffect | - RmOpenGLESEffect | - RmPass | - RmGLPass | - RmGLESPass | - RmShader | - RmHLSLShader | - RmGLShader | - RmGLESShader | - RmShaderConstant | - RmSampler | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmRenderStateBlock | - RmState | - RmStreamMap | - RmStream | - RmStreamChannel | - RmModelData | - RmTextureReference | - RmLightReference | - RmMaterialReference | - RmModelReference | - RmStreamMapReference | - RmRenderableTexture | - RmRenderTarget | - RmBooleanVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmDynamicVariableValue | - RmColorVariable | - RmIntegerVariable | - RmStringVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRegistryBranch | - RmPlugInData | - RmCamera | - RmCameraReference - )* - )> - - <!ELEMENT RmStreamChannel ( RmPlugInData? ) > - <!ELEMENT RmShaderConstant ( RmPlugInData? ) > - <!ELEMENT RmSampler ( RmPlugInData? ) > - <!ELEMENT RmState ( RmPlugInData? ) > - <!ELEMENT RmDynamicVariableValue ( RmPlugInData? ) > - - <!ELEMENT RmShaderCode ( #PCDATA ) > - - <!ATTLIST RmEffectWorkspace - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_EFFECT CDATA #REQUIRED - VALIDATION_STRING CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmEffectGroup - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmDirectXEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmOpenGLEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmOpenGLESEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLESPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER CDATA #REQUIRED - > - - <!ATTLIST RmHLSLShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - TARGET CDATA #REQUIRED - ENTRY_POINT CDATA #REQUIRED - COMPILER_FLAGS CDATA #REQUIRED - > - - <!ATTLIST RmGLShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLESShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShaderConstant - NAME CDATA #REQUIRED - API CDATA #REQUIRED - REGISTER CDATA #REQUIRED - > - - <!ATTLIST RmSampler - NAME CDATA #REQUIRED - API CDATA #REQUIRED - REGISTER CDATA #REQUIRED - > - - <!ATTLIST RmTextureObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STATE_INDEX CDATA #REQUIRED - VERTEX_TEXTURE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmLightObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - > - - <!ATTLIST RmMaterialObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - > - - <!ATTLIST RmRenderStateBlock - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmState - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STATE CDATA #REQUIRED - VALUE CDATA #REQUIRED - USAGE CDATA #REQUIRED - > - - <!ATTLIST RmStreamMap - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmStream - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STRIDE CDATA #REQUIRED - > - - <!ATTLIST RmStreamChannel - NAME CDATA #REQUIRED - API CDATA #REQUIRED - DATA_SIZE CDATA #REQUIRED - DATA_TYPE CDATA #REQUIRED - REGISTER CDATA #REQUIRED - USAGE CDATA #REQUIRED - USAGE_INDEX CDATA #REQUIRED - ATTRIBUTE_NAME CDATA #REQUIRED - > - - <!ATTLIST RmModelData - NAME CDATA #REQUIRED - API CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIENTATION CDATA #REQUIRED - > - - <!ATTLIST RmTextureReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmLightReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmMaterialReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmModelReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmStreamMapReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmRenderableTexture - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - WIDTH CDATA #REQUIRED - HEIGHT CDATA #REQUIRED - FORMAT CDATA #REQUIRED - USE_VIEWPORT_DIMENSIONS ( TRUE | FALSE ) #REQUIRED - GENERATE_MIPMAPS ( TRUE | FALSE ) #REQUIRED - WIDTH_RATIO CDATA #REQUIRED - HEIGHT_RATIO CDATA #REQUIRED - > - - <!ATTLIST RmRenderTarget - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - RENDER_TO_SCREEN ( TRUE | FALSE ) #REQUIRED - COLOR_CLEAR ( TRUE | FALSE ) #REQUIRED - DEPTH_CLEAR ( TRUE | FALSE ) #REQUIRED - CLEAR_COLOR_VALUE CDATA #REQUIRED - DEPTH_CLEAR_VALUE CDATA #REQUIRED - > - - <!ATTLIST RmBooleanVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - > - - <!ATTLIST RmFloatVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmVectorVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - NORMALIZE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmMatrixVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - VALUE_4 CDATA #REQUIRED - VALUE_5 CDATA #REQUIRED - VALUE_6 CDATA #REQUIRED - VALUE_7 CDATA #REQUIRED - VALUE_8 CDATA #REQUIRED - VALUE_9 CDATA #REQUIRED - VALUE_10 CDATA #REQUIRED - VALUE_11 CDATA #REQUIRED - VALUE_12 CDATA #REQUIRED - VALUE_13 CDATA #REQUIRED - VALUE_14 CDATA #REQUIRED - VALUE_15 CDATA #REQUIRED - > - - <!ATTLIST RmDynamicVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VARIABLE_TYPE ( FLOAT | INTEGER | BOOLEAN ) #REQUIRED - ROWS CDATA #REQUIRED - COLUMNS CDATA #REQUIRED - FIXED_SIZE ( TRUE | FALSE ) #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - NORMALIZE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmDynamicVariableValue - ROW_INDEX CDATA #REQUIRED - COLUMN_INDEX CDATA #REQUIRED - VALUE CDATA #REQUIRED - > - - <!ATTLIST RmColorVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - > - - <!ATTLIST RmIntegerVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmStringVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - > - - <!ATTLIST Rm2DTextureVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST RmCubemapVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST Rm3DTextureVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST RmLightVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - LIGHT_ENABLED ( TRUE | FALSE ) #REQUIRED - LIGHT_TYPE ( POSITIONAL | DIRECTIONAL | SPOTLIGHT ) #REQUIRED - AMBIENT_0 CDATA #REQUIRED - AMBIENT_1 CDATA #REQUIRED - AMBIENT_2 CDATA #REQUIRED - AMBIENT_3 CDATA #REQUIRED - DIFFUSE_0 CDATA #REQUIRED - DIFFUSE_1 CDATA #REQUIRED - DIFFUSE_2 CDATA #REQUIRED - DIFFUSE_3 CDATA #REQUIRED - SPECULAR_0 CDATA #REQUIRED - SPECULAR_1 CDATA #REQUIRED - SPECULAR_2 CDATA #REQUIRED - SPECULAR_3 CDATA #REQUIRED - POSITION_0 CDATA #REQUIRED - POSITION_1 CDATA #REQUIRED - POSITION_2 CDATA #REQUIRED - DIRECTION_0 CDATA #REQUIRED - DIRECTION_1 CDATA #REQUIRED - DIRECTION_2 CDATA #REQUIRED - ATTENUATION_0 CDATA #REQUIRED - ATTENUATION_1 CDATA #REQUIRED - ATTENUATION_2 CDATA #REQUIRED - SPOTLIGHT_THETA CDATA #REQUIRED - SPOTLIGHT_PHI CDATA #REQUIRED - RANGE CDATA #REQUIRED - FALLOFF CDATA #REQUIRED - > - - <!ATTLIST RmMaterialVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - AMBIENT_0 CDATA #REQUIRED - AMBIENT_1 CDATA #REQUIRED - AMBIENT_2 CDATA #REQUIRED - AMBIENT_3 CDATA #REQUIRED - DIFFUSE_0 CDATA #REQUIRED - DIFFUSE_1 CDATA #REQUIRED - DIFFUSE_2 CDATA #REQUIRED - DIFFUSE_3 CDATA #REQUIRED - SPECULAR_0 CDATA #REQUIRED - SPECULAR_1 CDATA #REQUIRED - SPECULAR_2 CDATA #REQUIRED - SPECULAR_3 CDATA #REQUIRED - EMISSIVE_0 CDATA #REQUIRED - EMISSIVE_1 CDATA #REQUIRED - EMISSIVE_2 CDATA #REQUIRED - EMISSIVE_3 CDATA #REQUIRED - SPECULAR_POWER CDATA #REQUIRED - > - - <!ATTLIST RmRegistryBranch - NAME CDATA #REQUIRED - API CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmPlugInData - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PLUGIN_GUID CDATA #REQUIRED - > - - <!ATTLIST RmClipboardNode - NAME CDATA #REQUIRED - API CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmCamera - NAME CDATA #REQUIRED - API CDATA #REQUIRED - CAMERA_POSITION_X CDATA #REQUIRED - CAMERA_POSITION_Y CDATA #REQUIRED - CAMERA_POSITION_Z CDATA #REQUIRED - LOOK_AT_VECTOR_X CDATA #REQUIRED - LOOK_AT_VECTOR_Y CDATA #REQUIRED - LOOK_AT_VECTOR_Z CDATA #REQUIRED - UP_VECTOR_X CDATA #REQUIRED - UP_VECTOR_Y CDATA #REQUIRED - UP_VECTOR_Z CDATA #REQUIRED - FOV CDATA #REQUIRED - NEAR_CLIP_PLANE CDATA #REQUIRED - FAR_CLIP_PLANE CDATA #REQUIRED - > - - <!ATTLIST RmCameraReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - USE_ACTIVE_CAMERA ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShaderCode - TYPE ( TEXT ) #REQUIRED - > - - <!ATTLIST RmTextDataBlock - TYPE ( TEXT ) #REQUIRED - > - -]> -<RENDER_MONKEY> - <RmEffectWorkspace NAME="Effect Workspace" API="" ACTIVE_EFFECT="Effect Workspace.Position" VALIDATION_STRING="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_REGISTRY" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_LOCAL" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_PLUGIN" API="" XML_VERSION="RenderMonkey 1.71"><RmTextDataBlock TYPE="TEXT"><![CDATA[ -<DockingPaneLayouts><Application_Layout><Pane-1><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Artist Editor</Title><ID>1001</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>7</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>7</LastHolder></Pane-1><Pane-2><Type>2</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><Horiz>0</Horiz><Pane-1>3</Pane-1><Pane-2>8</Pane-2><Panes>2</Panes></Pane-2><Pane-3><Type>2</Type><DockingCX>0</DockingCX><DockingCY>808</DockingCY><Horiz>1</Horiz><Pane-1>4</Pane-1><Pane-2>6</Pane-2><Pane-3>7</Pane-3><Panes>3</Panes></Pane-3><Pane-4><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>5</Selected><Panes>1</Panes><Pane-1>5</Pane-1></Pane-4><Pane-5><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Workspace</Title><ID>1000</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>4</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>4</LastHolder></Pane-5><Pane-6><Type>4</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY></Pane-6><Pane-7><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-7><Pane-8><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>9</Selected><Panes>1</Panes><Pane-1>9</Pane-1></Pane-8><Pane-9><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Output</Title><ID>1002</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>8</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>8</LastHolder></Pane-9><Summary><TopContainer>2</TopContainer><Client>6</Client><Panes>9</Panes></Summary></Application_Layout></DockingPaneLayouts> -]]></RmTextDataBlock> - <RmRegistryBranch NAME="RmRenderStateBlockEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Position" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="54" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="70" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1283" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="434" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmStreamEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Position.Stream Mapping" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="459" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="323" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="851" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="270" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmPreviewGLWindow" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EffectPlacementRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Position" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="350" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="350" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmColorEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Position.u_color1" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="DockPaneID" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1100" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmBooleanVariable NAME="FloatingPoint" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="FALSE"/> - <RmIntegerVariable NAME="ColorType" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmBooleanVariable NAME="LargeSize" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="TRUE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmDynamicVariableEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Position.u_frequency" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="DockPaneID" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1101" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmBooleanVariable NAME="ShowSetup" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="TRUE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmPreviewDx9Window" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmPreviewGLESWindow" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmPreviewGLPreview" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmLightEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="NoteEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmRenderableTextureEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmRenderTargetEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmShaderEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Position" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Disassembly" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmStringVariable NAME="Editing Shader" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -Fragment Program]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="Editing Pass" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -Pass 0]]></RmTextDataBlock></RmStringVariable> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="967" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="718" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmTextureObjectEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmTextureGenerator" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="WORKSPACE" API="" XML_VERSION="RenderMonkey 1.71"> - <RmStringVariable NAME="LAST_SAVE" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -20/1/2008 22:52:27]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="VERSION" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -RenderMonkey Version 1.71 (build 59)]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="XML_VERSION" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -RenderMonkey 1.71]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="BASE_WORKSPACE_PATH" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -C:\book\ogles\Code\Chapter_13\ProceduralTextures\]]></RmTextDataBlock></RmStringVariable> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmOpenGLESEffect NAME="Position" API="OpenGL ES" ACTIVE_CAMERA="Camera"> - <RmCamera NAME="Camera" API="" CAMERA_POSITION_X="1.482474" CAMERA_POSITION_Y="-1.227030" CAMERA_POSITION_Z="-2.968942" LOOK_AT_VECTOR_X="0.001000" LOOK_AT_VECTOR_Y="0.001000" LOOK_AT_VECTOR_Z="0.001000" UP_VECTOR_X="-0.087063" UP_VECTOR_Y="0.904525" UP_VECTOR_Z="-0.417437" FOV="45.000000" NEAR_CLIP_PLANE="1.207107" FAR_CLIP_PLANE="23.414213"/> - <RmDynamicVariable NAME="u_frequency" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VARIABLE_TYPE="INTEGER" ROWS="1" COLUMNS="1" FIXED_SIZE="TRUE" MIN="-100" MAX="100" CLAMP="FALSE" NORMALIZE="FALSE"> - <RmDynamicVariableValueContainer> - <RmDynamicVariableValue ROW_INDEX="0" COLUMN_INDEX="0" VALUE="6"/> - </RmDynamicVariableValueContainer> - </RmDynamicVariable> - <RmMatrixVariable NAME="u_mvpMatrix" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="ViewProjection" VALUE_0="-2.014508" VALUE_1="-0.552268" VALUE_2="-0.776526" VALUE_3="0.003343" VALUE_4="-0.210189" VALUE_5="2.183717" VALUE_6="-1.007783" VALUE_7="-0.000962" VALUE_8="-0.441388" VALUE_9="0.365878" VALUE_10="0.884861" VALUE_11="2.457668" VALUE_12="-0.418633" VALUE_13="0.347015" VALUE_14="0.839242" VALUE_15="3.538071"/> - <RmColorVariable NAME="u_color1" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE_0="0.000000" VALUE_1="0.000000" VALUE_2="0.000000" VALUE_3="1.000000"/> - <RmColorVariable NAME="u_color0" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" VALUE_0="1.000000" VALUE_1="1.000000" VALUE_2="1.000000" VALUE_3="1.000000"/> - <RmStreamMap NAME="Stream Mapping" API=""> - <RmStream NAME="Stream" API="" STRIDE="20"> - <RmStreamChannel NAME="Position_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="0" USAGE_INDEX="0" ATTRIBUTE_NAME="a_position"/> - <RmStreamChannel NAME="TexCoord_0" API="" DATA_SIZE="8" DATA_TYPE="1" REGISTER="0" USAGE="5" USAGE_INDEX="0" ATTRIBUTE_NAME="a_st"/> - </RmStream> - </RmStreamMap> - <RmModelData NAME="Model" API="" FILE_NAME=".\ScreenAlignedQuad.3ds" ORIENTATION="0"/> - <RmGLESPass NAME="Pass 0" API="OpenGL ES" PASS_INDEX="0" ENABLED="TRUE"> - <RmCameraReference NAME="Camera" API="" USE_ACTIVE_CAMERA="FALSE"/> - <RmModelReference NAME="Model" API=""/> - <RmRenderStateBlock NAME="Render State" API="OpenGL ES"> - <RmState NAME="GL_CullMode" API="OpenGL ES" STATE="8" VALUE="1" USAGE="RENDER_STATE"/> - </RmRenderStateBlock> - <RmGLESShader NAME="Vertex Program" API="OpenGL ES" PIXEL_SHADER="FALSE"><RmShaderCode TYPE="TEXT"><![CDATA[ - -uniform mat4 u_mvpMatrix; - -attribute vec4 a_position; -attribute vec2 a_st; - -varying vec2 v_st; - -void -main() -{ - v_st = a_st; - gl_Position = u_mvpMatrix * a_position; -} -]]></RmShaderCode></RmGLESShader> - <RmGLESShader NAME="Fragment Program" API="OpenGL ES" PIXEL_SHADER="TRUE"><RmShaderCode TYPE="TEXT"><![CDATA[ -#extension GL_OES_standard_derivatives:enable - -precision highp float; - -uniform int u_frequency; -uniform vec4 u_color0; -uniform vec4 u_color1; - -varying vec2 v_st; - -void -main() -{ -#if 1 - float s, t, delta; - - s = mod(floor(v_st.x * float(u_frequency * 2)), 2.0); - t = mod(floor(v_st.y * float(u_frequency * 2)), 2.0); - delta = abs(s - t); - - gl_FragColor = mix(u_color1, u_color0, delta); -#else - vec4 color; - vec2 st_width; - vec2 fuzz; - vec2 pmod; - float fuzz_max; - - st_width = fwidth(v_st); - fuzz = st_width * float(u_frequency) * 2.0; - fuzz_max = max(fuzz.s, fuzz.t); - pmod = fract(v_st * float(u_frequency)); - - if (fuzz_max <= 0.5) - { - vec2 p = smoothstep(vec2(0.5), fuzz + vec2(0.5), pmod) + (1.0 - smoothstep(vec2(0.0), fuzz, pmod)); - - color = mix(u_color0, u_color1, p.x * p.y + (1.0 - p.x) * (1.0 - p.y)); - - color = mix(color, (u_color0 + u_color1)/2.0, smoothstep(0.125, 0.5, fuzz_max)); - } - else - { - color = (u_color0 + u_color1)/2.0; - } - - gl_FragColor = color; -#endif -} -]]></RmShaderCode></RmGLESShader> - <RmStreamMapReference NAME="Stream Mapping" API=""/> - <RmShaderConstant NAME="u_color0" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_color1" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_frequency" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_mvpMatrix" API="" REGISTER="-1"/> - </RmGLESPass> - </RmOpenGLESEffect> - </RmEffectWorkspace> -</RENDER_MONKEY> diff --git a/third_party/gles2_book/Chapter_13/ProceduralTextures/ScreenAlignedQuad.3ds b/third_party/gles2_book/Chapter_13/ProceduralTextures/ScreenAlignedQuad.3ds Binary files differdeleted file mode 100644 index 619124bdad..0000000000 --- a/third_party/gles2_book/Chapter_13/ProceduralTextures/ScreenAlignedQuad.3ds +++ /dev/null diff --git a/third_party/gles2_book/Chapter_13/ProceduralTextures/checker.fs b/third_party/gles2_book/Chapter_13/ProceduralTextures/checker.fs deleted file mode 100644 index 305eb46922..0000000000 --- a/third_party/gles2_book/Chapter_13/ProceduralTextures/checker.fs +++ /dev/null @@ -1,21 +0,0 @@ -#ifdef GL_ES -precision highp float; -#endif - -uniform int frequency; -uniform vec4 color0; -uniform vec4 color1; - -varying vec2 v_st; - -void -main() -{ - float s, t, delta; - - s = mod(floor(v_st.x * float(frequency * 2)), 2.0); - t = mod(floor(v_st.y * float(frequency * 2)), 2.0); - delta = abs(s - t); - - gl_FragColor = mix(color1, color0, delta); -} diff --git a/third_party/gles2_book/Chapter_13/ProceduralTextures/checker.tiff b/third_party/gles2_book/Chapter_13/ProceduralTextures/checker.tiff Binary files differdeleted file mode 100644 index 767b03073b..0000000000 --- a/third_party/gles2_book/Chapter_13/ProceduralTextures/checker.tiff +++ /dev/null diff --git a/third_party/gles2_book/Chapter_13/ProceduralTextures/checker.vs b/third_party/gles2_book/Chapter_13/ProceduralTextures/checker.vs deleted file mode 100644 index 88375ba072..0000000000 --- a/third_party/gles2_book/Chapter_13/ProceduralTextures/checker.vs +++ /dev/null @@ -1,14 +0,0 @@ - -uniform mat4 mvp_matrix; - -attribute vec4 a_position; -attribute vec2 a_st; - -varying vec2 v_st; - -void -main() -{ - v_st = a_st; - gl_Position = mvp_matrix * a_position; -} diff --git a/third_party/gles2_book/Chapter_13/ProjectiveSpotlight/Corona.tga b/third_party/gles2_book/Chapter_13/ProjectiveSpotlight/Corona.tga Binary files differdeleted file mode 100644 index 19dba88487..0000000000 --- a/third_party/gles2_book/Chapter_13/ProjectiveSpotlight/Corona.tga +++ /dev/null diff --git a/third_party/gles2_book/Chapter_13/ProjectiveSpotlight/ProjectiveSpotlight.rfx b/third_party/gles2_book/Chapter_13/ProjectiveSpotlight/ProjectiveSpotlight.rfx deleted file mode 100644 index 12f85f6d99..0000000000 --- a/third_party/gles2_book/Chapter_13/ProjectiveSpotlight/ProjectiveSpotlight.rfx +++ /dev/null @@ -1,1133 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<!DOCTYPE RENDER_MONKEY [ - <!ELEMENT RENDER_MONKEY - ( - RmEffectWorkspace | - RmRegistryBranch | - RmClipboardNode - )?> - - <!ELEMENT RmEffectWorkspace - ( - RmRegistryBranch?, - RmPlugInData?, - RmStringVariable*, - ( - ( RmDirectXEffect, RmOpenGLEffect?, RmOpenGLESEffect? ) | - ( RmOpenGLEffect, RmDirectXEffect?, RmOpenGLESEffect? ) | - ( RmOpenGLESEffect, RmDirectXEffect?, RmOpenGLEffect? ) - )?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmEffectGroup - )* - )> - - <!ELEMENT RmEffectGroup - ( - RmPlugInData?, - ( - RmStringVariable | - RmDirectXEffect | - RmOpenGLEffect | - RmOpenGLESEffect | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData - )* - )> - - <!ELEMENT RmDirectXEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmPass - )* - )> - - <!ELEMENT RmOpenGLEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmGLPass - )* - )> - - <!ELEMENT RmOpenGLESEffect - ( - RmPlugInData?, - ( - RmStringVariable | - RmCamera | - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRenderableTexture | - RmStreamMap | - RmModelData | - RmGLESPass - )* - )> - - <!ELEMENT RmPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( - ( RmHLSLShader | RmShader ), - ( RmShader | RmHLSLShader )? - ) - )?, - RmRenderTarget*, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject - )* - )> - - <!ELEMENT RmGLPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( RmGLShader, RmGLShader? ) - )?, - RmRenderTarget?, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmGLESPass - ( - RmPlugInData?, - RmStringVariable*, - RmCameraReference?, - RmModelReference?, - RmRenderStateBlock?, - ( - ( RmGLESShader, RmGLESShader? ) - )?, - RmRenderTarget?, - RmStreamMapReference?, - ( - RmBooleanVariable | - RmIntegerVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmColorVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable | - RmShaderConstant - )* - )> - - <!ELEMENT RmHLSLShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable | - RmShaderConstant | - RmSampler - )* - )> - - <!ELEMENT RmGLShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable - )* - )> - - <!ELEMENT RmGLESShader - ( - RmShaderCode, - RmPlugInData?, - ( - RmStringVariable - )* - )> - - <!ELEMENT RmTextureObject - ( - RmPlugInData?, - RmStringVariable*, - RmTextureReference?, - RmState* - )> - - <!ELEMENT RmLightObject - ( - RmPlugInData?, - RmStringVariable*, - RmLightReference? - )> - - <!ELEMENT RmMaterialObject - ( - RmPlugInData?, - RmStringVariable*, - RmMaterialReference? - )> - - <!ELEMENT RmRenderStateBlock - ( - RmPlugInData?, - ( - RmStringVariable | - RmState - )* - )> - - <!ELEMENT RmStreamMap - ( - RmPlugInData?, - ( - RmStringVariable | - RmStream - )* - )> - - <!ELEMENT RmStream ( RmPlugInData?, RmStreamChannel* )> - - <!ELEMENT RmModelData ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmTextureReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmLightReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmMaterialReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmCameraReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmModelReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmStreamMapReference ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmRenderableTexture ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmRenderTarget ( RmPlugInData?, RmStringVariable* )> - <!ELEMENT RmBooleanVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmFloatVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmVectorVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmMatrixVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmColorVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmIntegerVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT Rm2DTextureVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmCubemapVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT Rm3DTextureVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmLightVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmMaterialVariable ( RmPlugInData?, RmStringVariable? )> - <!ELEMENT RmCamera ( RmPlugInData?, RmStringVariable* )> - - <!ELEMENT RmStringVariable ( RmTextDataBlock, RmPlugInData? )> - - <!ELEMENT RmDynamicVariable - ( - RmDynamicVariableValueContainer, - RmPlugInData?, - RmStringVariable? - )> - - <!ELEMENT RmDynamicVariableValueContainer - ( - RmPlugInData?, - RmDynamicVariableValue* - )> - - <!ELEMENT RmTextDataBlock ( #PCDATA ) > - - <!ELEMENT RmRegistryBranch - ( - RmTextDataBlock?, - ( - RmRegistryBranch | - RmStringVariable | - RmIntegerVariable | - RmBooleanVariable | - RmFloatVariable - )* - )> - - <!ELEMENT RmPlugInData - ( - RmTextDataBlock?, - ( - RmStringVariable | - RmIntegerVariable | - RmBooleanVariable | - RmFloatVariable | - RmVectorVariable - )* - )> - - <!ELEMENT RmClipboardNode - ( - RmTextDataBlock?, - ( - RmEffectWorkspace | - RmEffectGroup | - RmDirectXEffect | - RmOpenGLEffect | - RmOpenGLESEffect | - RmPass | - RmGLPass | - RmGLESPass | - RmShader | - RmHLSLShader | - RmGLShader | - RmGLESShader | - RmShaderConstant | - RmSampler | - RmTextureObject | - RmLightObject | - RmMaterialObject | - RmRenderStateBlock | - RmState | - RmStreamMap | - RmStream | - RmStreamChannel | - RmModelData | - RmTextureReference | - RmLightReference | - RmMaterialReference | - RmModelReference | - RmStreamMapReference | - RmRenderableTexture | - RmRenderTarget | - RmBooleanVariable | - RmFloatVariable | - RmVectorVariable | - RmMatrixVariable | - RmDynamicVariable | - RmDynamicVariableValue | - RmColorVariable | - RmIntegerVariable | - RmStringVariable | - Rm2DTextureVariable | - RmCubemapVariable | - Rm3DTextureVariable | - RmLightVariable | - RmMaterialVariable | - RmRegistryBranch | - RmPlugInData | - RmCamera | - RmCameraReference - )* - )> - - <!ELEMENT RmStreamChannel ( RmPlugInData? ) > - <!ELEMENT RmShaderConstant ( RmPlugInData? ) > - <!ELEMENT RmSampler ( RmPlugInData? ) > - <!ELEMENT RmState ( RmPlugInData? ) > - <!ELEMENT RmDynamicVariableValue ( RmPlugInData? ) > - - <!ELEMENT RmShaderCode ( #PCDATA ) > - - <!ATTLIST RmEffectWorkspace - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_EFFECT CDATA #REQUIRED - VALIDATION_STRING CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmEffectGroup - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmDirectXEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmOpenGLEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmOpenGLESEffect - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ACTIVE_CAMERA CDATA #REQUIRED - > - - <!ATTLIST RmPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLESPass - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PASS_INDEX CDATA #REQUIRED - ENABLED ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER CDATA #REQUIRED - > - - <!ATTLIST RmHLSLShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - TARGET CDATA #REQUIRED - ENTRY_POINT CDATA #REQUIRED - COMPILER_FLAGS CDATA #REQUIRED - > - - <!ATTLIST RmGLShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmGLESShader - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PIXEL_SHADER ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShaderConstant - NAME CDATA #REQUIRED - API CDATA #REQUIRED - REGISTER CDATA #REQUIRED - > - - <!ATTLIST RmSampler - NAME CDATA #REQUIRED - API CDATA #REQUIRED - REGISTER CDATA #REQUIRED - > - - <!ATTLIST RmTextureObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STATE_INDEX CDATA #REQUIRED - VERTEX_TEXTURE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmLightObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - > - - <!ATTLIST RmMaterialObject - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - > - - <!ATTLIST RmRenderStateBlock - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmState - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STATE CDATA #REQUIRED - VALUE CDATA #REQUIRED - USAGE CDATA #REQUIRED - > - - <!ATTLIST RmStreamMap - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmStream - NAME CDATA #REQUIRED - API CDATA #REQUIRED - STRIDE CDATA #REQUIRED - > - - <!ATTLIST RmStreamChannel - NAME CDATA #REQUIRED - API CDATA #REQUIRED - DATA_SIZE CDATA #REQUIRED - DATA_TYPE CDATA #REQUIRED - REGISTER CDATA #REQUIRED - USAGE CDATA #REQUIRED - USAGE_INDEX CDATA #REQUIRED - ATTRIBUTE_NAME CDATA #REQUIRED - > - - <!ATTLIST RmModelData - NAME CDATA #REQUIRED - API CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIENTATION CDATA #REQUIRED - > - - <!ATTLIST RmTextureReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmLightReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmMaterialReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmModelReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmStreamMapReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - > - - <!ATTLIST RmRenderableTexture - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - WIDTH CDATA #REQUIRED - HEIGHT CDATA #REQUIRED - FORMAT CDATA #REQUIRED - USE_VIEWPORT_DIMENSIONS ( TRUE | FALSE ) #REQUIRED - GENERATE_MIPMAPS ( TRUE | FALSE ) #REQUIRED - WIDTH_RATIO CDATA #REQUIRED - HEIGHT_RATIO CDATA #REQUIRED - > - - <!ATTLIST RmRenderTarget - NAME CDATA #REQUIRED - API CDATA #REQUIRED - INDEX CDATA #REQUIRED - RENDER_TO_SCREEN ( TRUE | FALSE ) #REQUIRED - COLOR_CLEAR ( TRUE | FALSE ) #REQUIRED - DEPTH_CLEAR ( TRUE | FALSE ) #REQUIRED - CLEAR_COLOR_VALUE CDATA #REQUIRED - DEPTH_CLEAR_VALUE CDATA #REQUIRED - > - - <!ATTLIST RmBooleanVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - > - - <!ATTLIST RmFloatVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmVectorVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - NORMALIZE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmMatrixVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - VALUE_4 CDATA #REQUIRED - VALUE_5 CDATA #REQUIRED - VALUE_6 CDATA #REQUIRED - VALUE_7 CDATA #REQUIRED - VALUE_8 CDATA #REQUIRED - VALUE_9 CDATA #REQUIRED - VALUE_10 CDATA #REQUIRED - VALUE_11 CDATA #REQUIRED - VALUE_12 CDATA #REQUIRED - VALUE_13 CDATA #REQUIRED - VALUE_14 CDATA #REQUIRED - VALUE_15 CDATA #REQUIRED - > - - <!ATTLIST RmDynamicVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VARIABLE_TYPE ( FLOAT | INTEGER | BOOLEAN ) #REQUIRED - ROWS CDATA #REQUIRED - COLUMNS CDATA #REQUIRED - FIXED_SIZE ( TRUE | FALSE ) #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - NORMALIZE ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmDynamicVariableValue - ROW_INDEX CDATA #REQUIRED - COLUMN_INDEX CDATA #REQUIRED - VALUE CDATA #REQUIRED - > - - <!ATTLIST RmColorVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE_0 CDATA #REQUIRED - VALUE_1 CDATA #REQUIRED - VALUE_2 CDATA #REQUIRED - VALUE_3 CDATA #REQUIRED - > - - <!ATTLIST RmIntegerVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - VALUE CDATA #REQUIRED - MIN CDATA #REQUIRED - MAX CDATA #REQUIRED - CLAMP ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmStringVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - > - - <!ATTLIST Rm2DTextureVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST RmCubemapVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST Rm3DTextureVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - FILE_NAME CDATA #REQUIRED - ORIGIN CDATA #REQUIRED - > - - <!ATTLIST RmLightVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - LIGHT_ENABLED ( TRUE | FALSE ) #REQUIRED - LIGHT_TYPE ( POSITIONAL | DIRECTIONAL | SPOTLIGHT ) #REQUIRED - AMBIENT_0 CDATA #REQUIRED - AMBIENT_1 CDATA #REQUIRED - AMBIENT_2 CDATA #REQUIRED - AMBIENT_3 CDATA #REQUIRED - DIFFUSE_0 CDATA #REQUIRED - DIFFUSE_1 CDATA #REQUIRED - DIFFUSE_2 CDATA #REQUIRED - DIFFUSE_3 CDATA #REQUIRED - SPECULAR_0 CDATA #REQUIRED - SPECULAR_1 CDATA #REQUIRED - SPECULAR_2 CDATA #REQUIRED - SPECULAR_3 CDATA #REQUIRED - POSITION_0 CDATA #REQUIRED - POSITION_1 CDATA #REQUIRED - POSITION_2 CDATA #REQUIRED - DIRECTION_0 CDATA #REQUIRED - DIRECTION_1 CDATA #REQUIRED - DIRECTION_2 CDATA #REQUIRED - ATTENUATION_0 CDATA #REQUIRED - ATTENUATION_1 CDATA #REQUIRED - ATTENUATION_2 CDATA #REQUIRED - SPOTLIGHT_THETA CDATA #REQUIRED - SPOTLIGHT_PHI CDATA #REQUIRED - RANGE CDATA #REQUIRED - FALLOFF CDATA #REQUIRED - > - - <!ATTLIST RmMaterialVariable - NAME CDATA #REQUIRED - API CDATA #REQUIRED - ARTIST_EDITABLE ( TRUE | FALSE ) #REQUIRED - VARIABLE_SEMANTIC CDATA #REQUIRED - AMBIENT_0 CDATA #REQUIRED - AMBIENT_1 CDATA #REQUIRED - AMBIENT_2 CDATA #REQUIRED - AMBIENT_3 CDATA #REQUIRED - DIFFUSE_0 CDATA #REQUIRED - DIFFUSE_1 CDATA #REQUIRED - DIFFUSE_2 CDATA #REQUIRED - DIFFUSE_3 CDATA #REQUIRED - SPECULAR_0 CDATA #REQUIRED - SPECULAR_1 CDATA #REQUIRED - SPECULAR_2 CDATA #REQUIRED - SPECULAR_3 CDATA #REQUIRED - EMISSIVE_0 CDATA #REQUIRED - EMISSIVE_1 CDATA #REQUIRED - EMISSIVE_2 CDATA #REQUIRED - EMISSIVE_3 CDATA #REQUIRED - SPECULAR_POWER CDATA #REQUIRED - > - - <!ATTLIST RmRegistryBranch - NAME CDATA #REQUIRED - API CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmPlugInData - NAME CDATA #REQUIRED - API CDATA #REQUIRED - PLUGIN_GUID CDATA #REQUIRED - > - - <!ATTLIST RmClipboardNode - NAME CDATA #REQUIRED - API CDATA #REQUIRED - XML_VERSION CDATA #REQUIRED - > - - <!ATTLIST RmCamera - NAME CDATA #REQUIRED - API CDATA #REQUIRED - CAMERA_POSITION_X CDATA #REQUIRED - CAMERA_POSITION_Y CDATA #REQUIRED - CAMERA_POSITION_Z CDATA #REQUIRED - LOOK_AT_VECTOR_X CDATA #REQUIRED - LOOK_AT_VECTOR_Y CDATA #REQUIRED - LOOK_AT_VECTOR_Z CDATA #REQUIRED - UP_VECTOR_X CDATA #REQUIRED - UP_VECTOR_Y CDATA #REQUIRED - UP_VECTOR_Z CDATA #REQUIRED - FOV CDATA #REQUIRED - NEAR_CLIP_PLANE CDATA #REQUIRED - FAR_CLIP_PLANE CDATA #REQUIRED - > - - <!ATTLIST RmCameraReference - NAME CDATA #REQUIRED - API CDATA #REQUIRED - USE_ACTIVE_CAMERA ( TRUE | FALSE ) #REQUIRED - > - - <!ATTLIST RmShaderCode - TYPE ( TEXT ) #REQUIRED - > - - <!ATTLIST RmTextDataBlock - TYPE ( TEXT ) #REQUIRED - > - -]> -<RENDER_MONKEY> - <RmEffectWorkspace NAME="Effect Workspace" API="" ACTIVE_EFFECT="Effect Workspace.ProjectiveSpotlight" VALIDATION_STRING="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_REGISTRY" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_LOCAL" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="RM_PLUGIN" API="" XML_VERSION="RenderMonkey 1.71"><RmTextDataBlock TYPE="TEXT"><![CDATA[ -<DockingPaneLayouts><Application_Layout><Pane-1><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Artist Editor</Title><ID>1001</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>14</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>14</LastHolder></Pane-1><Pane-2><Type>0</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Title>u_blurStep</Title><ID>1100</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>8</DockingHolder><FloatingHolder>19</FloatingHolder><LastHolder>19</LastHolder></Pane-2><Pane-3><Type>2</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><Horiz>1</Horiz><Pane-1>4</Pane-1><Pane-2>5</Pane-2><Pane-3>6</Pane-3><Pane-4>7</Pane-4><Pane-5>8</Pane-5><Pane-6>9</Pane-6><Panes>6</Panes></Pane-3><Pane-4><Type>1</Type><DockingCX>434</DockingCX><DockingCY>212</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-4><Pane-5><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-5><Pane-6><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-6><Pane-7><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-7><Pane-8><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-8><Pane-9><Type>2</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><Horiz>0</Horiz><Pane-1>10</Pane-1><Pane-2>15</Pane-2><Panes>2</Panes></Pane-9><Pane-10><Type>2</Type><DockingCX>0</DockingCX><DockingCY>641</DockingCY><Horiz>1</Horiz><Pane-1>11</Pane-1><Pane-2>13</Pane-2><Pane-3>14</Pane-3><Panes>3</Panes></Pane-10><Pane-11><Type>1</Type><DockingCX>336</DockingCX><DockingCY>250</DockingCY><Selected>12</Selected><Panes>1</Panes><Pane-1>12</Pane-1></Pane-11><Pane-12><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Workspace</Title><ID>1000</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>11</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>11</LastHolder></Pane-12><Pane-13><Type>4</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY></Pane-13><Pane-14><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-14><Pane-15><Type>1</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Selected>16</Selected><Panes>1</Panes><Pane-1>16</Pane-1></Pane-15><Pane-16><Type>0</Type><DockingCX>250</DockingCX><DockingCY>250</DockingCY><Title>Output</Title><ID>1002</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>15</DockingHolder><FloatingHolder>0</FloatingHolder><LastHolder>15</LastHolder></Pane-16><Pane-17><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>18</TopContaner><WindowRectTopPos>32</WindowRectTopPos><WindowRectBottomPos>160</WindowRectBottomPos><WindowRectLeftPos>0</WindowRectLeftPos><WindowRectRightPos>566</WindowRectRightPos></Pane-17><Pane-18><Type>2</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Horiz>1</Horiz><Pane-1>19</Pane-1><Panes>1</Panes></Pane-18><Pane-19><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-19><Pane-20><Type>0</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Title>u_blurStep</Title><ID>1101</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>7</DockingHolder><FloatingHolder>23</FloatingHolder><LastHolder>23</LastHolder></Pane-20><Pane-21><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>22</TopContaner><WindowRectTopPos>32</WindowRectTopPos><WindowRectBottomPos>160</WindowRectBottomPos><WindowRectLeftPos>0</WindowRectLeftPos><WindowRectRightPos>566</WindowRectRightPos></Pane-21><Pane-22><Type>2</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Horiz>1</Horiz><Pane-1>23</Pane-1><Panes>1</Panes></Pane-22><Pane-23><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-23><Pane-24><Type>0</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Title>u_blurStep</Title><ID>1102</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>6</DockingHolder><FloatingHolder>27</FloatingHolder><LastHolder>27</LastHolder></Pane-24><Pane-25><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>26</TopContaner><WindowRectTopPos>32</WindowRectTopPos><WindowRectBottomPos>160</WindowRectBottomPos><WindowRectLeftPos>0</WindowRectLeftPos><WindowRectRightPos>566</WindowRectRightPos></Pane-25><Pane-26><Type>2</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Horiz>1</Horiz><Pane-1>27</Pane-1><Panes>1</Panes></Pane-26><Pane-27><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-27><Pane-28><Type>0</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Title>u_blurStep</Title><ID>1103</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>5</DockingHolder><FloatingHolder>31</FloatingHolder><LastHolder>31</LastHolder></Pane-28><Pane-29><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>30</TopContaner><WindowRectTopPos>32</WindowRectTopPos><WindowRectBottomPos>160</WindowRectBottomPos><WindowRectLeftPos>0</WindowRectLeftPos><WindowRectRightPos>566</WindowRectRightPos></Pane-29><Pane-30><Type>2</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Horiz>1</Horiz><Pane-1>31</Pane-1><Panes>1</Panes></Pane-30><Pane-31><Type>1</Type><DockingCX>566</DockingCX><DockingCY>128</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-31><Pane-32><Type>3</Type><DockingCX>0</DockingCX><DockingCY>0</DockingCY><TopContaner>33</TopContaner><WindowRectTopPos>557</WindowRectTopPos><WindowRectBottomPos>769</WindowRectBottomPos><WindowRectLeftPos>386</WindowRectLeftPos><WindowRectRightPos>820</WindowRectRightPos></Pane-32><Pane-33><Type>2</Type><DockingCX>434</DockingCX><DockingCY>212</DockingCY><Horiz>1</Horiz><Pane-1>34</Pane-1><Panes>1</Panes></Pane-33><Pane-34><Type>1</Type><DockingCX>434</DockingCX><DockingCY>212</DockingCY><Selected>0</Selected><Panes>0</Panes></Pane-34><Pane-35><Type>0</Type><DockingCX>434</DockingCX><DockingCY>212</DockingCY><Title>u_lightPos</Title><ID>1104</ID><IconID>-1</IconID><Options>0</Options><DockingHolder>4</DockingHolder><FloatingHolder>34</FloatingHolder><LastHolder>34</LastHolder></Pane-35><Summary><TopContainer>3</TopContainer><Client>13</Client><Panes>35</Panes></Summary></Application_Layout></DockingPaneLayouts> -]]></RmTextDataBlock> - <RmRegistryBranch NAME="RmPreviewDx9Window" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmPreviewGLESWindow" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmPreviewGLWindow" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EffectPlacementRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.ProjectiveSpotlight" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="39" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="2" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="483" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="483" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmPreviewGLPreview" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="RmLightEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="NoteEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmRenderableTextureEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmRenderTargetEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmRenderStateBlockEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmTextureObjectEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.ProjectiveSpotlight.Render Object.spotLight" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.ProjectiveSpotlight" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="431" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="36" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1063" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="514" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmTextureGenerator" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="EditNodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmShaderEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.ProjectiveSpotlight" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Disassembly" API="" XML_VERSION="RenderMonkey 1.71"/> - <RmStringVariable NAME="Editing Shader" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -Fragment Program]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="Editing Pass" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -Render Object]]></RmTextDataBlock></RmStringVariable> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="650" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="650" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="429" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmStreamEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="Effect Workspace.Textured.Stream Mapping" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="258" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="128" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="851" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="270" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="Effect Workspace.ProjectiveSpotlight.Stream Mapping" API="" XML_VERSION="RenderMonkey 1.71"> - <RmIntegerVariable NAME="X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="344" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="128" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Width" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="851" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Height" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="270" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="ShowStatus" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Visible" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="0" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - <RmIntegerVariable NAME="Minimized Y" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" VALUE="-1" MIN="-10" MAX="10" CLAMP="FALSE"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmScalarEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - <RmRegistryBranch NAME="RmDynamicVariableEditor" API="" XML_VERSION="RenderMonkey 1.71"> - <RmRegistryBranch NAME="NodeRepository" API="" XML_VERSION="RenderMonkey 1.71"/> - </RmRegistryBranch> - </RmRegistryBranch> - <RmRegistryBranch NAME="WORKSPACE" API="" XML_VERSION="RenderMonkey 1.71"> - <RmStringVariable NAME="LAST_SAVE" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -19/1/2008 9:30:45]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="VERSION" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -RenderMonkey Version 1.80 (build 125)]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="XML_VERSION" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -RenderMonkey 1.71]]></RmTextDataBlock></RmStringVariable> - <RmStringVariable NAME="BASE_WORKSPACE_PATH" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC=""><RmTextDataBlock TYPE="TEXT"><![CDATA[ -D:\svn\redbook\Code\Chapter_13\ProjectiveSpotlight\]]></RmTextDataBlock></RmStringVariable> - </RmRegistryBranch> - </RmRegistryBranch> - </RmRegistryBranch> - <RmOpenGLESEffect NAME="ProjectiveSpotlight" API="OpenGL ES" ACTIVE_CAMERA="Camera"> - <RmCamera NAME="Camera" API="" CAMERA_POSITION_X="-95.867363" CAMERA_POSITION_Y="52.315987" CAMERA_POSITION_Z="-127.439903" LOOK_AT_VECTOR_X="0.000000" LOOK_AT_VECTOR_Y="0.000000" LOOK_AT_VECTOR_Z="0.000000" UP_VECTOR_X="0.128836" UP_VECTOR_Y="0.947666" UP_VECTOR_Z="0.292114" FOV="45.000000" NEAR_CLIP_PLANE="1.000000" FAR_CLIP_PLANE="1000.000000"/> - <RmMatrixVariable NAME="u_matViewProjection" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="ViewProjection" VALUE_0="-1.824085" VALUE_1="-0.155327" VALUE_2="1.308414" VALUE_3="0.000011" VALUE_4="0.311038" VALUE_5="2.287868" VALUE_6="0.705226" VALUE_7="0.000228" VALUE_8="0.571773" VALUE_9="-0.312024" VALUE_10="0.760079" VALUE_11="167.001587" VALUE_12="0.571202" VALUE_13="-0.311712" VALUE_14="0.759319" VALUE_15="167.834579"/> - <RmMatrixVariable NAME="u_matProjection" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="Projection" VALUE_0="2.250190" VALUE_1="0.000000" VALUE_2="0.000000" VALUE_3="0.000000" VALUE_4="0.000000" VALUE_5="2.414213" VALUE_6="0.000000" VALUE_7="0.000000" VALUE_8="0.000000" VALUE_9="0.000000" VALUE_10="-1.001001" VALUE_11="-1.001001" VALUE_12="0.000000" VALUE_13="0.000000" VALUE_14="-1.000000" VALUE_15="0.000000"/> - <RmFloatVariable NAME="u_time_0_X" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="Time0_X" VALUE="41.675537" MIN="-1.000000" MAX="1.000000" CLAMP="FALSE"/> - <Rm2DTextureVariable NAME="Spotlight" API="" ARTIST_EDITABLE="FALSE" VARIABLE_SEMANTIC="" FILE_NAME="Corona.tga" ORIGIN="0"/> - <Rm2DTextureVariable NAME="base" API="" ARTIST_EDITABLE="TRUE" VARIABLE_SEMANTIC="" FILE_NAME="Terrain.tga" ORIGIN="0"/> - <RmStreamMap NAME="Stream Mapping" API=""> - <RmStream NAME="Stream" API="" STRIDE="32"> - <RmStreamChannel NAME="Position_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="0" USAGE_INDEX="0" ATTRIBUTE_NAME="a_vertex"/> - <RmStreamChannel NAME="TexCoord_0" API="" DATA_SIZE="8" DATA_TYPE="1" REGISTER="0" USAGE="5" USAGE_INDEX="0" ATTRIBUTE_NAME="a_texCoord0"/> - <RmStreamChannel NAME="Normal_0" API="" DATA_SIZE="12" DATA_TYPE="2" REGISTER="0" USAGE="3" USAGE_INDEX="0" ATTRIBUTE_NAME="a_normal"/> - </RmStream> - </RmStreamMap> - <RmModelData NAME="Terrrain" API="" FILE_NAME=".\Terrain.3ds" ORIENTATION="0"/> - <RmGLESPass NAME="Render Object" API="OpenGL ES" PASS_INDEX="0" ENABLED="TRUE"> - <RmCameraReference NAME="Camera" API="" USE_ACTIVE_CAMERA="FALSE"/> - <RmModelReference NAME="Terrrain" API=""/> - <RmGLESShader NAME="Fragment Program" API="OpenGL ES" PIXEL_SHADER="TRUE"><RmShaderCode TYPE="TEXT"><![CDATA[ -precision mediump float; - -uniform sampler2D baseMap; -uniform sampler2D spotLight; -varying vec2 v_texCoord; -varying vec3 v_projTexCoord; -varying vec3 v_normal; -varying vec3 v_lightDir; - - -void main( void ) -{ - // Projective fetch of spotlight - vec4 spotLightColor = texture2DProj( spotLight, v_projTexCoord ); - - // Basemap - vec4 baseColor = texture2D( baseMap, v_texCoord ); - - // Compute N.L - float nDotL = max( 0.0, -dot( v_normal, v_lightDir ) ); - - gl_FragColor = spotLightColor * baseColor * 2.0 * nDotL; - -}]]></RmShaderCode></RmGLESShader> - <RmGLESShader NAME="Vertex Program" API="OpenGL ES" PIXEL_SHADER="FALSE"><RmShaderCode TYPE="TEXT"><![CDATA[ -uniform float u_time_0_X; -uniform mat4 u_matProjection; -uniform mat4 u_matViewProjection; -attribute vec4 a_vertex; -attribute vec2 a_texCoord0; -attribute vec3 a_normal; - -varying vec2 v_texCoord; -varying vec3 v_projTexCoord; -varying vec3 v_normal; -varying vec3 v_lightDir; - -void main( void ) -{ - gl_Position = u_matViewProjection * a_vertex; - v_texCoord = a_texCoord0.xy; - - // Compute a light position based on time - vec3 lightPos; - lightPos.x = cos(u_time_0_X); - lightPos.z = sin(u_time_0_X); - lightPos.xz = 100.0 * normalize(lightPos.xz); - lightPos.y = 100.0; - - // Compute the light coordinate axes - vec3 look = -normalize( lightPos ); - vec3 right = cross( vec3( 0.0, 0.0, 1.0), look ); - vec3 up = cross( look, right ); - - // Create a view matrix for the light - mat4 lightView = mat4( right, dot( right, -lightPos ), - up, dot( up, -lightPos ), - look, dot( look, -lightPos), - 0.0, 0.0, 0.0, 1.0 ); - - // Transform position into light view space - vec4 objPosLight = a_vertex * lightView; - - // Transform position into projective light view space - objPosLight = u_matProjection * objPosLight; - - // Create bias matrix - mat3 biasMatrix = mat3( 0.5, 0.0, 0.5, - 0.0, -0.5, 0.5, - 0.0, 0.0, 1.0 ); - - // Compute projective texture coordinates - v_projTexCoord = objPosLight.xyz * biasMatrix; - - v_lightDir = normalize(a_vertex.xyz - lightPos); - v_normal = a_normal; - -}]]></RmShaderCode></RmGLESShader> - <RmStreamMapReference NAME="Stream Mapping" API=""/> - <RmTextureObject NAME="baseMap" API="OpenGL ES" STATE_INDEX="0" VERTEX_TEXTURE="FALSE"> - <RmTextureReference NAME="base" API=""/> - <RmState NAME="GL_TextureMinify" API="OpenGL ES" STATE="4" VALUE="6" USAGE="SAMPLER_STATE"/> - <RmState NAME="GL_TextureMagnify" API="OpenGL ES" STATE="5" VALUE="1" USAGE="SAMPLER_STATE"/> - </RmTextureObject> - <RmTextureObject NAME="spotLight" API="OpenGL ES" STATE_INDEX="1" VERTEX_TEXTURE="FALSE"> - <RmTextureReference NAME="Spotlight" API=""/> - <RmState NAME="GL_TextureWrapS" API="OpenGL ES" STATE="1" VALUE="2" USAGE="SAMPLER_STATE"/> - <RmState NAME="GL_TextureWrapT" API="OpenGL ES" STATE="2" VALUE="2" USAGE="SAMPLER_STATE"/> - <RmState NAME="GL_TextureWrapR" API="OpenGL ES" STATE="3" VALUE="2" USAGE="SAMPLER_STATE"/> - <RmState NAME="GL_TextureMinify" API="OpenGL ES" STATE="4" VALUE="1" USAGE="SAMPLER_STATE"/> - <RmState NAME="GL_TextureMagnify" API="OpenGL ES" STATE="5" VALUE="1" USAGE="SAMPLER_STATE"/> - </RmTextureObject> - <RmSampler NAME="baseMap" API="" REGISTER="-1"/> - <RmSampler NAME="spotLight" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_time_0_X" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_matProjection" API="" REGISTER="-1"/> - <RmShaderConstant NAME="u_matViewProjection" API="" REGISTER="-1"/> - </RmGLESPass> - </RmOpenGLESEffect> - </RmEffectWorkspace> -</RENDER_MONKEY> diff --git a/third_party/gles2_book/Chapter_13/ProjectiveSpotlight/Terrain.3ds b/third_party/gles2_book/Chapter_13/ProjectiveSpotlight/Terrain.3ds Binary files differdeleted file mode 100644 index a46d78754e..0000000000 --- a/third_party/gles2_book/Chapter_13/ProjectiveSpotlight/Terrain.3ds +++ /dev/null diff --git a/third_party/gles2_book/Chapter_13/ProjectiveSpotlight/Terrain.tga b/third_party/gles2_book/Chapter_13/ProjectiveSpotlight/Terrain.tga Binary files differdeleted file mode 100644 index 47d5117424..0000000000 --- a/third_party/gles2_book/Chapter_13/ProjectiveSpotlight/Terrain.tga +++ /dev/null diff --git a/third_party/gles2_book/Chapter_15/Hello_Triangle_KD/Hello_Triangle_KD.c b/third_party/gles2_book/Chapter_15/Hello_Triangle_KD/Hello_Triangle_KD.c deleted file mode 100644 index 8477159fa6..0000000000 --- a/third_party/gles2_book/Chapter_15/Hello_Triangle_KD/Hello_Triangle_KD.c +++ /dev/null @@ -1,306 +0,0 @@ -// -// Book: OpenGL(R) ES 2.0 Programming Guide -// Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner -// ISBN-10: 0321502795 -// ISBN-13: 9780321502797 -// Publisher: Addison-Wesley Professional -// URLs: http://safari.informit.com/9780321563835 -// http://www.opengles-book.com -// - -// Hello_Triangle_KD.c -// -// This is a simple example that draws a single triangle with -// a minimal vertex/fragment shader using OpenKODE. -// -#include <KD/kd.h> -#include <EGL/egl.h> -#include <GLES2/gl2.h> - -typedef struct -{ - // Handle to a program object - GLuint programObject; - - // EGL handles - EGLDisplay eglDisplay; - EGLContext eglContext; - EGLSurface eglSurface; - -} UserData; - -/// -// Create a shader object, load the shader source, and -// compile the shader. -// -GLuint LoadShader ( GLenum type, const char *shaderSrc ) -{ - GLuint shader; - GLint compiled; - - // Create the shader object - shader = glCreateShader ( type ); - - if ( shader == 0 ) - return 0; - - // Load the shader source - glShaderSource ( shader, 1, &shaderSrc, NULL ); - - // Compile the shader - glCompileShader ( shader ); - - // Check the compile status - glGetShaderiv ( shader, GL_COMPILE_STATUS, &compiled ); - - if ( !compiled ) - { - GLint infoLen = 0; - - glGetShaderiv ( shader, GL_INFO_LOG_LENGTH, &infoLen ); - - if ( infoLen > 1 ) - { - char* infoLog = kdMalloc (sizeof(char) * infoLen ); - - glGetShaderInfoLog ( shader, infoLen, NULL, infoLog ); - kdLogMessage ( infoLog ); - - kdFree ( infoLog ); - } - - glDeleteShader ( shader ); - return 0; - } - - return shader; - -} - -/// -// Initialize the shader and program object -// -int Init ( UserData *userData ) -{ - GLbyte vShaderStr[] = - "attribute vec4 vPosition; \n" - "void main() \n" - "{ \n" - " gl_Position = vPosition; \n" - "} \n"; - - GLbyte fShaderStr[] = - "precision mediump float;\n"\ - "void main() \n" - "{ \n" - " gl_FragColor = vec4 ( 1.0, 0.0, 0.0, 1.0 );\n" - "} \n"; - - GLuint vertexShader; - GLuint fragmentShader; - GLuint programObject; - GLint linked; - - // Load the vertex/fragment shaders - vertexShader = LoadShader ( GL_VERTEX_SHADER, vShaderStr ); - fragmentShader = LoadShader ( GL_FRAGMENT_SHADER, fShaderStr ); - - // Create the program object - programObject = glCreateProgram ( ); - - if ( programObject == 0 ) - return 0; - - glAttachShader ( programObject, vertexShader ); - glAttachShader ( programObject, fragmentShader ); - - // Bind vPosition to attribute 0 - glBindAttribLocation ( programObject, 0, "vPosition" ); - - // Link the program - glLinkProgram ( programObject ); - - // Check the link status - glGetProgramiv ( programObject, GL_LINK_STATUS, &linked ); - - if ( !linked ) - { - GLint infoLen = 0; - - glGetProgramiv ( programObject, GL_INFO_LOG_LENGTH, &infoLen ); - - if ( infoLen > 1 ) - { - char* infoLog = kdMalloc (sizeof(char) * infoLen ); - - glGetProgramInfoLog ( programObject, infoLen, NULL, infoLog ); - kdLogMessage ( infoLog ); - - kdFree ( infoLog ); - } - - glDeleteProgram ( programObject ); - return FALSE; - } - - // Store the program object - userData->programObject = programObject; - - glClearColor ( 0.0f, 0.0f, 0.0f, 0.0f ); - return TRUE; -} - -/// -// Draw a triangle using the shader pair created in Init() -// -void Draw ( UserData *userData ) -{ - GLfloat vVertices[] = { 0.0f, 0.5f, 0.0f, - -0.5f, -0.5f, 0.0f, - 0.5f, -0.5f, 0.0f }; - - // Set the viewport - glViewport ( 0, 0, 320, 240 ); - - // Clear the color buffer - glClear ( GL_COLOR_BUFFER_BIT ); - - // Use the program object - glUseProgram ( userData->programObject ); - - // Load the vertex data - glVertexAttribPointer ( 0, 3, GL_FLOAT, GL_FALSE, 0, vVertices ); - glEnableVertexAttribArray ( 0 ); - - glDrawArrays ( GL_TRIANGLES, 0, 3 ); - - eglSwapBuffers ( userData->eglDisplay, userData->eglSurface ); -} - - -/// -// InitEGLContext() -// -// Initialize an EGL rendering context and all associated elements -// -EGLBoolean InitEGLContext ( UserData *userData, - KDWindow *window, - EGLConfig config ) -{ - EGLContext context; - EGLSurface surface; - EGLint contextAttribs[] = { EGL_CONTEXT_CLIENT_VERSION, 2, EGL_NONE, EGL_NONE }; - - // Get native window handle - EGLNativeWindowType hWnd; - if(kdRealizeWindow(window, &hWnd) != 0) - { - return EGL_FALSE; - } - surface = eglCreateWindowSurface(userData->eglDisplay, config, hWnd, NULL); - if ( surface == EGL_NO_SURFACE ) - { - return EGL_FALSE; - } - - // Create a GL context - context = eglCreateContext(userData->eglDisplay, config, EGL_NO_CONTEXT, contextAttribs ); - if ( context == EGL_NO_CONTEXT ) - { - return EGL_FALSE; - } - - // Make the context current - if ( !eglMakeCurrent(userData->eglDisplay, surface, surface, context) ) - { - return EGL_FALSE; - } - - userData->eglContext = context; - userData->eglSurface = surface; - - return EGL_TRUE; -} - -/// -// kdMain() -// -// Main function for OpenKODE application -// -KDint kdMain ( KDint argc, const KDchar *const *argv ) -{ - EGLint attribList[] = - { - EGL_RED_SIZE, 8, - EGL_GREEN_SIZE, 8, - EGL_BLUE_SIZE, 8, - EGL_ALPHA_SIZE, EGL_DONT_CARE, - EGL_DEPTH_SIZE, EGL_DONT_CARE, - EGL_STENCIL_SIZE, EGL_DONT_CARE, - EGL_NONE - }; - EGLint majorVersion, - minorVersion; - UserData userData; - EGLint numConfigs; - EGLConfig config; - KDWindow *window = KD_NULL; - - userData.eglDisplay = eglGetDisplay( EGL_DEFAULT_DISPLAY ); - - // Initialize EGL - if ( !eglInitialize(userData.eglDisplay, &majorVersion, &minorVersion) ) - { - return EGL_FALSE; - } - - // Get configs - if ( !eglGetConfigs(userData.eglDisplay, NULL, 0, &numConfigs) ) - { - return EGL_FALSE; - } - - // Choose config - if ( !eglChooseConfig(userData.eglDisplay, attribList, &config, 1, &numConfigs) ) - { - return EGL_FALSE; - } - - - // Use OpenKODE to create a Window - window = kdCreateWindow ( userData.eglDisplay, config, KD_NULL ); - if( !window ) - kdExit ( 0 ); - - if ( !InitEGLContext ( &userData, window, config ) ) - kdExit ( 0 ); - - if ( !Init ( &userData ) ) - kdExit ( 0 ); - - // Main Loop - while ( 1 ) - { - // Wait for an event - const KDEvent *evt = kdWaitEvent ( 0 ); - if ( evt ) - { - // Exit app - if ( evt->type == KD_EVENT_WINDOW_CLOSE) - break; - } - - // Draw frame - Draw ( &userData ); - } - - // EGL clean up - eglMakeCurrent ( 0, 0, 0, 0 ); - eglDestroySurface ( userData.eglDisplay, userData.eglSurface ); - eglDestroyContext ( userData.eglDisplay, userData.eglContext ); - - // Destroy the window - kdDestroyWindow(window); - - return 0; -} diff --git a/third_party/gles2_book/Chapter_2/Hello_Triangle/Hello_Triangle.c b/third_party/gles2_book/Chapter_2/Hello_Triangle/Hello_Triangle.c deleted file mode 100644 index c57af1c296..0000000000 --- a/third_party/gles2_book/Chapter_2/Hello_Triangle/Hello_Triangle.c +++ /dev/null @@ -1,104 +0,0 @@ -// -// Book: OpenGL(R) ES 2.0 Programming Guide -// Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner -// ISBN-10: 0321502795 -// ISBN-13: 9780321502797 -// Publisher: Addison-Wesley Professional -// URLs: http://safari.informit.com/9780321563835 -// http://www.opengles-book.com -// - -// Hello_Triangle.c -// -// This is a simple example that draws a single triangle with -// a minimal vertex/fragment shader. The purpose of this -// example is to demonstrate the basic concepts of -// OpenGL ES 2.0 rendering. - -#include "Hello_Triangle.h" - -#include <stdlib.h> - -/// -// Initialize the shader and program object -// -int htInit ( ESContext *esContext ) -{ - HTUserData *userData = esContext->userData; - - GLbyte vShaderStr[] = - "attribute vec4 vPosition; \n" - "void main() \n" - "{ \n" - " gl_Position = vPosition; \n" - "} \n"; - - GLbyte fShaderStr[] = - "precision mediump float; \n" - "void main() \n" - "{ \n" - " gl_FragColor = vec4 ( 1.0, 0.0, 0.0, 1.0 );\n" - "} \n"; - - GLfloat vVertices[] = { 0.0f, 0.5f, 0.0f, - -0.5f, -0.5f, 0.0f, - 0.5f, -0.5f, 0.0f }; - - userData->programObject = esLoadProgram ( vShaderStr, fShaderStr ); - if ( userData->programObject == 0 ) return FALSE; - - // Bind vPosition to attribute 0 - glBindAttribLocation ( userData->programObject, 0, "vPosition" ); - - glGenBuffers ( 1, &userData->vbo ); - glBindBuffer ( GL_ARRAY_BUFFER, userData->vbo ); - glBufferData ( GL_ARRAY_BUFFER, sizeof(vVertices), NULL, GL_STATIC_DRAW ); - glBufferSubData ( GL_ARRAY_BUFFER, 0, sizeof(vVertices), vVertices ); - - glClearColor ( 0.0f, 0.0f, 0.0f, 0.0f ); - return TRUE; -} - -/// -// Draw a triangle using the shader pair created in Init() -// -void htDraw ( ESContext *esContext ) -{ - HTUserData *userData = esContext->userData; - - // Set the viewport - glViewport ( 0, 0, esContext->width, esContext->height ); - - // Clear the color buffer - glClear ( GL_COLOR_BUFFER_BIT ); - - // Use the program object - glUseProgram ( userData->programObject ); - - // Load the vertex data - glBindBuffer ( GL_ARRAY_BUFFER, userData->vbo ); - glEnableVertexAttribArray ( 0 ); - glVertexAttribPointer ( 0, 3, GL_FLOAT, GL_FALSE, 0, 0 ); - - glDrawArrays ( GL_TRIANGLES, 0, 3 ); -} - -/// -// Cleanup -// -void htShutDown ( ESContext *esContext ) -{ - HTUserData *userData = esContext->userData; - - // Delete program object - if ( userData->programObject != 0 ) - { - glDeleteProgram ( userData->programObject ); - userData->programObject = 0; - } - if ( userData->vbo != 0 ) - { - glDeleteBuffers ( 1, &userData->vbo ); - userData->vbo = 0; - } -} diff --git a/third_party/gles2_book/Chapter_2/Hello_Triangle/Hello_Triangle.h b/third_party/gles2_book/Chapter_2/Hello_Triangle/Hello_Triangle.h deleted file mode 100644 index 4e90d2f812..0000000000 --- a/third_party/gles2_book/Chapter_2/Hello_Triangle/Hello_Triangle.h +++ /dev/null @@ -1,38 +0,0 @@ -// -// Book: OpenGL(R) ES 2.0 Programming Guide -// Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner -// ISBN-10: 0321502795 -// ISBN-13: 9780321502797 -// Publisher: Addison-Wesley Professional -// URLs: http://safari.informit.com/9780321563835 -// http://www.opengles-book.com -// - -#ifndef HELLO_TRIANGLE_H -#define HELLO_TRIANGLE_H - -#include "esUtil.h" - -#ifdef __cplusplus -extern "C" { -#endif // __cplusplus - -typedef struct -{ - // Handle to a program object - GLuint programObject; - // Handle to vbo object - GLuint vbo; - -} HTUserData; - -extern int htInit ( ESContext *esContext ); - -extern void htDraw ( ESContext *esContext ); - -extern void htShutDown ( ESContext *esContext ); - -#ifdef __cplusplus -} -#endif // __cplusplus -#endif // HELLO_TRIANGLE_H diff --git a/third_party/gles2_book/Chapter_8/Simple_VertexShader/Simple_VertexShader.c b/third_party/gles2_book/Chapter_8/Simple_VertexShader/Simple_VertexShader.c deleted file mode 100644 index 7a6b5770ff..0000000000 --- a/third_party/gles2_book/Chapter_8/Simple_VertexShader/Simple_VertexShader.c +++ /dev/null @@ -1,150 +0,0 @@ -// -// Book: OpenGL(R) ES 2.0 Programming Guide -// Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner -// ISBN-10: 0321502795 -// ISBN-13: 9780321502797 -// Publisher: Addison-Wesley Professional -// URLs: http://safari.informit.com/9780321563835 -// http://www.opengles-book.com -// - -// Simple_VertexShader.c -// -// This is a simple example that draws a rotating cube in perspective -// using a vertex shader to transform the object -// - -#include "Simple_VertexShader.h" -#include <stdlib.h> - -/// -// Initialize the shader and program object -// -int svsInit ( ESContext *esContext ) -{ - SVSUserData *userData = esContext->userData; - int numVertices = 24; - GLfloat *vertices = NULL; - GLushort *indices = NULL; - - GLbyte vShaderStr[] = - "uniform mat4 u_mvpMatrix; \n" - "attribute vec4 a_position; \n" - "void main() \n" - "{ \n" - " gl_Position = u_mvpMatrix * a_position; \n" - "} \n"; - - GLbyte fShaderStr[] = - "precision mediump float; \n" - "void main() \n" - "{ \n" - " gl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 ); \n" - "} \n"; - - // Load the shaders and get a linked program object - userData->programObject = esLoadProgram ( vShaderStr, fShaderStr ); - if ( userData->programObject == 0 ) return FALSE; - - // Get the attribute locations - userData->positionLoc = glGetAttribLocation ( userData->programObject, "a_position" ); - - // Get the uniform locations - userData->mvpLoc = glGetUniformLocation( userData->programObject, "u_mvpMatrix" ); - - // Generate the vertex data - userData->numIndices = esGenCube( 1.0, &vertices, NULL, NULL, &indices ); - glGenBuffers ( 2, userData->vboIds ); - glBindBuffer ( GL_ARRAY_BUFFER, userData->vboIds[0] ); - glBufferData ( GL_ARRAY_BUFFER, 3 * numVertices * sizeof(GLfloat), - vertices, GL_STATIC_DRAW ); - glBindBuffer ( GL_ELEMENT_ARRAY_BUFFER, userData->vboIds[1] ); - glBufferData ( GL_ELEMENT_ARRAY_BUFFER, userData->numIndices * sizeof(GLushort), - indices, GL_STATIC_DRAW ); - if ( vertices != NULL ) free ( vertices ); - if ( indices != NULL ) free ( indices ); - - // Starting rotation angle for the cube - userData->angle = 45.0f; - - glClearColor ( 0.0f, 0.0f, 0.0f, 0.0f ); - return TRUE; -} - -/// -// Update MVP matrix based on time -// -void svsUpdate ( ESContext *esContext, float deltaTime ) -{ - SVSUserData *userData = (SVSUserData*) esContext->userData; - ESMatrix perspective; - ESMatrix modelview; - float aspect; - - // Compute a rotation angle based on time to rotate the cube - userData->angle += ( deltaTime * 40.0f ); - if( userData->angle >= 360.0f ) - userData->angle -= 360.0f; - - // Compute the window aspect ratio - aspect = (GLfloat) esContext->width / (GLfloat) esContext->height; - - // Generate a perspective matrix with a 60 degree FOV - esMatrixLoadIdentity( &perspective ); - esPerspective( &perspective, 60.0f, aspect, 1.0f, 20.0f ); - - // Generate a model view matrix to rotate/translate the cube - esMatrixLoadIdentity( &modelview ); - - // Translate away from the viewer - esTranslate( &modelview, 0.0, 0.0, -2.0 ); - - // Rotate the cube - esRotate( &modelview, userData->angle, 1.0, 0.0, 1.0 ); - - // Compute the final MVP by multiplying the - // modevleiw and perspective matrices together - esMatrixMultiply( &userData->mvpMatrix, &modelview, &perspective ); -} - -/// -// Draw a triangle using the shader pair created in Init() -// -void svsDraw ( ESContext *esContext ) -{ - SVSUserData *userData = esContext->userData; - - // Set the viewport - glViewport ( 0, 0, esContext->width, esContext->height ); - - // Clear the color buffer - glClear ( GL_COLOR_BUFFER_BIT ); - - // Use the program object - glUseProgram ( userData->programObject ); - - // Load the vertex position - glEnableVertexAttribArray ( userData->positionLoc ); - glVertexAttribPointer ( userData->positionLoc, 3, GL_FLOAT, - GL_FALSE, 3 * sizeof(GLfloat), 0 ); - - // Load the MVP matrix - glUniformMatrix4fv( userData->mvpLoc, 1, GL_FALSE, (GLfloat*) &userData->mvpMatrix.m[0][0] ); - - // Draw the cube - glDrawElements ( GL_TRIANGLES, userData->numIndices, GL_UNSIGNED_SHORT, 0 ); -} - -/// -// Cleanup -// -void svsShutDown ( ESContext *esContext ) -{ - SVSUserData *userData = esContext->userData; - - // Delete program object - glDeleteBuffers ( 2, userData->vboIds ); - - // Delete program object - glDeleteProgram ( userData->programObject ); -} diff --git a/third_party/gles2_book/Chapter_8/Simple_VertexShader/Simple_VertexShader.h b/third_party/gles2_book/Chapter_8/Simple_VertexShader/Simple_VertexShader.h deleted file mode 100644 index b58118590f..0000000000 --- a/third_party/gles2_book/Chapter_8/Simple_VertexShader/Simple_VertexShader.h +++ /dev/null @@ -1,53 +0,0 @@ -// -// Book: OpenGL(R) ES 2.0 Programming Guide -// Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner -// ISBN-10: 0321502795 -// ISBN-13: 9780321502797 -// Publisher: Addison-Wesley Professional -// URLs: http://safari.informit.com/9780321563835 -// http://www.opengles-book.com -// - -#ifndef SIMPLE_VERTEX_SHADER_H -#define SIMPLE_VERTEX_SHADER_H - -#include "esUtil.h" - -#ifdef __cplusplus -extern "C" { -#endif // __cplusplus - -typedef struct -{ - // Handle to a program object - GLuint programObject; - - // Attribute locations - GLint positionLoc; - - // Uniform locations - GLint mvpLoc; - - // Vertex data - int numIndices; - GLuint vboIds[2]; - - // Rotation angle - GLfloat angle; - - // MVP matrix - ESMatrix mvpMatrix; -} SVSUserData; - -extern int svsInit ( ESContext *esContext ); - -extern void svsUpdate ( ESContext *esContext, float deltaTime ); - -extern void svsDraw ( ESContext *esContext ); - -extern void svsShutDown ( ESContext *esContext ); - -#ifdef __cplusplus -} -#endif // __cplusplus -#endif // SIMPLE_VERTEX_SHADER_H diff --git a/third_party/gles2_book/Chapter_9/MipMap2D/MipMap2D.c b/third_party/gles2_book/Chapter_9/MipMap2D/MipMap2D.c deleted file mode 100644 index eb288fc971..0000000000 --- a/third_party/gles2_book/Chapter_9/MipMap2D/MipMap2D.c +++ /dev/null @@ -1,321 +0,0 @@ -// -// Book: OpenGL(R) ES 2.0 Programming Guide -// Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner -// ISBN-10: 0321502795 -// ISBN-13: 9780321502797 -// Publisher: Addison-Wesley Professional -// URLs: http://safari.informit.com/9780321563835 -// http://www.opengles-book.com -// - -// MipMap2D.c -// -// This is a simple example that demonstrates generating a mipmap chain -// and rendering with it -// -#include <stdlib.h> -#include "MipMap2D.h" - -/// -// From an RGB8 source image, generate the next level mipmap -// -static GLboolean GenMipMap2D( GLubyte *src, GLubyte **dst, int srcWidth, int srcHeight, int *dstWidth, int *dstHeight ) -{ - int x, - y; - int texelSize = 3; - - *dstWidth = srcWidth / 2; - if ( *dstWidth <= 0 ) - *dstWidth = 1; - - *dstHeight = srcHeight / 2; - if ( *dstHeight <= 0 ) - *dstHeight = 1; - - *dst = malloc ( sizeof(GLubyte) * texelSize * (*dstWidth) * (*dstHeight) ); - if ( *dst == NULL ) - return GL_FALSE; - - for ( y = 0; y < *dstHeight; y++ ) - { - for( x = 0; x < *dstWidth; x++ ) - { - int srcIndex[4]; - float r = 0.0f, - g = 0.0f, - b = 0.0f; - int sample; - - // Compute the offsets for 2x2 grid of pixels in previous - // image to perform box filter - srcIndex[0] = - (((y * 2) * srcWidth) + (x * 2)) * texelSize; - srcIndex[1] = - (((y * 2) * srcWidth) + (x * 2 + 1)) * texelSize; - srcIndex[2] = - ((((y * 2) + 1) * srcWidth) + (x * 2)) * texelSize; - srcIndex[3] = - ((((y * 2) + 1) * srcWidth) + (x * 2 + 1)) * texelSize; - - // Sum all pixels - for ( sample = 0; sample < 4; sample++ ) - { - r += src[srcIndex[sample]]; - g += src[srcIndex[sample] + 1]; - b += src[srcIndex[sample] + 2]; - } - - // Average results - r /= 4.0; - g /= 4.0; - b /= 4.0; - - // Store resulting pixels - (*dst)[ ( y * (*dstWidth) + x ) * texelSize ] = (GLubyte)( r ); - (*dst)[ ( y * (*dstWidth) + x ) * texelSize + 1] = (GLubyte)( g ); - (*dst)[ ( y * (*dstWidth) + x ) * texelSize + 2] = (GLubyte)( b ); - } - } - - return GL_TRUE; -} - -/// -// Generate an RGB8 checkerboard image -// -static GLubyte* GenCheckImage( int width, int height, int checkSize ) -{ - int x, - y; - GLubyte *pixels = malloc( width * height * 3 ); - - if ( pixels == NULL ) - return NULL; - - for ( y = 0; y < height; y++ ) - for ( x = 0; x < width; x++ ) - { - GLubyte rColor = 0; - GLubyte bColor = 0; - - if ( ( x / checkSize ) % 2 == 0 ) - { - rColor = 255 * ( ( y / checkSize ) % 2 ); - bColor = 255 * ( 1 - ( ( y / checkSize ) % 2 ) ); - } - else - { - bColor = 255 * ( ( y / checkSize ) % 2 ); - rColor = 255 * ( 1 - ( ( y / checkSize ) % 2 ) ); - } - - pixels[(y * height + x) * 3] = rColor; - pixels[(y * height + x) * 3 + 1] = 0; - pixels[(y * height + x) * 3 + 2] = bColor; - } - - return pixels; -} - -/// -// Create a mipmapped 2D texture image -// -static GLuint CreateMipMappedTexture2D( ) -{ - // Texture object handle - GLuint textureId; - int width = 256, - height = 256; - int level; - GLubyte *pixels; - GLubyte *prevImage; - GLubyte *newImage; - - pixels = GenCheckImage( width, height, 8 ); - if ( pixels == NULL ) - return 0; - - // Generate a texture object - glGenTextures ( 1, &textureId ); - - // Bind the texture object - glBindTexture ( GL_TEXTURE_2D, textureId ); - - // Load mipmap level 0 - glTexImage2D ( GL_TEXTURE_2D, 0, GL_RGB, width, height, - 0, GL_RGB, GL_UNSIGNED_BYTE, pixels ); - - level = 1; - prevImage = &pixels[0]; - - while ( width > 1 && height > 1 ) - { - int newWidth, - newHeight; - - // Generate the next mipmap level - GenMipMap2D( prevImage, &newImage, width, height, - &newWidth, &newHeight ); - - // Load the mipmap level - glTexImage2D( GL_TEXTURE_2D, level, GL_RGB, - newWidth, newHeight, 0, GL_RGB, - GL_UNSIGNED_BYTE, newImage ); - - // Free the previous image - free ( prevImage ); - - // Set the previous image for the next iteration - prevImage = newImage; - level++; - - // Half the width and height - width = newWidth; - height = newHeight; - } - - free ( newImage ); - - // Set the filtering mode - glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_NEAREST ); - glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); - - return textureId; - -} - - -/// -// Initialize the shader and program object -// -int mmInit ( ESContext *esContext ) -{ - MMUserData *userData = esContext->userData; - GLbyte vShaderStr[] = - "uniform float u_offset; \n" - "attribute vec4 a_position; \n" - "attribute vec2 a_texCoord; \n" - "varying vec2 v_texCoord; \n" - "void main() \n" - "{ \n" - " gl_Position = a_position; \n" - " gl_Position.x += u_offset;\n" - " v_texCoord = a_texCoord; \n" - "} \n"; - - GLbyte fShaderStr[] = - "precision mediump float; \n" - "varying vec2 v_texCoord; \n" - "uniform sampler2D s_texture; \n" - "void main() \n" - "{ \n" - " gl_FragColor = texture2D( s_texture, v_texCoord );\n" - "} \n"; - - GLfloat vVertices[] = { -0.5f, 0.5f, 0.0f, 1.5f, // Position 0 - 0.0f, 0.0f, // TexCoord 0 - -0.5f, -0.5f, 0.0f, 0.75f, // Position 1 - 0.0f, 1.0f, // TexCoord 1 - 0.5f, -0.5f, 0.0f, 0.75f, // Position 2 - 1.0f, 1.0f, // TexCoord 2 - 0.5f, 0.5f, 0.0f, 1.5f, // Position 3 - 1.0f, 0.0f // TexCoord 3 - }; - GLushort indices[] = { 0, 1, 2, 0, 2, 3 }; - - // Load the shaders and get a linked program object - userData->programObject = esLoadProgram ( vShaderStr, fShaderStr ); - if (userData->programObject == 0) return FALSE; - - // Get the attribute locations - userData->positionLoc = glGetAttribLocation ( userData->programObject, "a_position" ); - userData->texCoordLoc = glGetAttribLocation ( userData->programObject, "a_texCoord" ); - - // Get the sampler location - userData->samplerLoc = glGetUniformLocation ( userData->programObject, "s_texture" ); - - // Get the offset location - userData->offsetLoc = glGetUniformLocation( userData->programObject, "u_offset" ); - - // Load the texture - userData->textureId = CreateMipMappedTexture2D (); - - // Load vertex data - glGenBuffers ( 2, userData->vboIds ); - glBindBuffer ( GL_ARRAY_BUFFER, userData->vboIds[0] ); - glBufferData ( GL_ARRAY_BUFFER, sizeof(vVertices), - vVertices, GL_STATIC_DRAW); - glBindBuffer ( GL_ELEMENT_ARRAY_BUFFER, userData->vboIds[1] ); - glBufferData ( GL_ELEMENT_ARRAY_BUFFER, sizeof(indices), - indices, GL_STATIC_DRAW ); - - glClearColor ( 0.0f, 0.0f, 0.0f, 0.0f ); - return TRUE; -} - -/// -// Draw a triangle using the shader pair created in Init() -// -#define VTX_POS_SIZE 4 -#define VTX_TEX_SIZE 2 -#define VTX_STRIDE (6 * sizeof(GLfloat)) -void mmDraw ( ESContext *esContext ) -{ - MMUserData *userData = esContext->userData; - GLuint offset = 0; - - // Set the viewport - glViewport ( 0, 0, esContext->width, esContext->height ); - - // Clear the color buffer - glClear ( GL_COLOR_BUFFER_BIT ); - - // Use the program object - glUseProgram ( userData->programObject ); - - // Load the vertex position - glVertexAttribPointer ( userData->positionLoc, VTX_POS_SIZE, GL_FLOAT, - GL_FALSE, VTX_STRIDE, (GLvoid*) offset ); - offset += VTX_POS_SIZE * sizeof(GLfloat); - // Load the texture coordinate - glVertexAttribPointer ( userData->texCoordLoc, VTX_TEX_SIZE, GL_FLOAT, - GL_FALSE, VTX_STRIDE, (GLvoid*) offset ); - - glEnableVertexAttribArray ( userData->positionLoc ); - glEnableVertexAttribArray ( userData->texCoordLoc ); - - // Bind the texture - glActiveTexture ( GL_TEXTURE0 ); - glBindTexture ( GL_TEXTURE_2D, userData->textureId ); - - // Set the sampler texture unit to 0 - glUniform1i ( userData->samplerLoc, 0 ); - - // Draw quad with nearest sampling - glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST ); - glUniform1f ( userData->offsetLoc, -0.6f ); - glDrawElements ( GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, 0 ); - - // Draw quad with trilinear filtering - glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR ); - glUniform1f ( userData->offsetLoc, 0.6f ); - glDrawElements ( GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, 0 ); -} - -/// -// Cleanup -// -void mmShutDown ( ESContext *esContext ) -{ - MMUserData *userData = esContext->userData; - - // Delete texture object - glDeleteTextures ( 1, &userData->textureId ); - - // Delete VBOs - glDeleteBuffers ( 2, userData->vboIds ); - - // Delete program object - glDeleteProgram ( userData->programObject ); -} diff --git a/third_party/gles2_book/Chapter_9/MipMap2D/MipMap2D.h b/third_party/gles2_book/Chapter_9/MipMap2D/MipMap2D.h deleted file mode 100644 index 9dbe8347f9..0000000000 --- a/third_party/gles2_book/Chapter_9/MipMap2D/MipMap2D.h +++ /dev/null @@ -1,52 +0,0 @@ -// -// Book: OpenGL(R) ES 2.0 Programming Guide -// Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner -// ISBN-10: 0321502795 -// ISBN-13: 9780321502797 -// Publisher: Addison-Wesley Professional -// URLs: http://safari.informit.com/9780321563835 -// http://www.opengles-book.com -// - -#ifndef MIP_MAP_2D_H -#define MIP_MAP_2D_H - -#include "esUtil.h" - -#ifdef __cplusplus -extern "C" { -#endif // __cplusplus - -typedef struct -{ - // Handle to a program object - GLuint programObject; - - // Attribute locations - GLint positionLoc; - GLint texCoordLoc; - - // Sampler location - GLint samplerLoc; - - // Offset location - GLint offsetLoc; - - // Texture handle - GLuint textureId; - - // Vertex buffer object handle - GLuint vboIds[2]; - -} MMUserData; - -extern int mmInit ( ESContext *esContext ); - -extern void mmDraw ( ESContext *esContext ); - -extern void mmShutDown ( ESContext *esContext ); - -#ifdef __cplusplus -} -#endif // __cplusplus -#endif // MIP_MAP_2D_H diff --git a/third_party/gles2_book/Chapter_9/Simple_Texture2D/Simple_Texture2D.c b/third_party/gles2_book/Chapter_9/Simple_Texture2D/Simple_Texture2D.c deleted file mode 100644 index 12200fd479..0000000000 --- a/third_party/gles2_book/Chapter_9/Simple_Texture2D/Simple_Texture2D.c +++ /dev/null @@ -1,176 +0,0 @@ -// -// Book: OpenGL(R) ES 2.0 Programming Guide -// Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner -// ISBN-10: 0321502795 -// ISBN-13: 9780321502797 -// Publisher: Addison-Wesley Professional -// URLs: http://safari.informit.com/9780321563835 -// http://www.opengles-book.com -// - -// Simple_Texture2D.c -// -// This is a simple example that draws a quad with a 2D -// texture image. The purpose of this example is to demonstrate -// the basics of 2D texturing -// -#include <stdlib.h> -#include "Simple_Texture2D.h" - -/// -// Create a simple 2x2 texture image with four different colors -// -static GLuint CreateSimpleTexture2D( ) -{ - // Texture object handle - GLuint textureId; - - // 2x2 Image, 3 bytes per pixel (R, G, B) - GLubyte pixels[4 * 3] = - { - 255, 0, 0, // Red - 0, 255, 0, // Green - 0, 0, 255, // Blue - 255, 255, 0 // Yellow - }; - - // Use tightly packed data - glPixelStorei ( GL_UNPACK_ALIGNMENT, 1 ); - - // Generate a texture object - glGenTextures ( 1, &textureId ); - - // Bind the texture object - glBindTexture ( GL_TEXTURE_2D, textureId ); - - // Load the texture - glTexImage2D ( GL_TEXTURE_2D, 0, GL_RGB, 2, 2, 0, GL_RGB, GL_UNSIGNED_BYTE, pixels ); - - // Set the filtering mode - glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST ); - glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST ); - - return textureId; - -} - - -/// -// Initialize the shader and program object -// -int stInit ( ESContext *esContext ) -{ - STUserData *userData = esContext->userData; - GLbyte vShaderStr[] = - "attribute vec4 a_position; \n" - "attribute vec2 a_texCoord; \n" - "varying vec2 v_texCoord; \n" - "void main() \n" - "{ \n" - " gl_Position = a_position; \n" - " v_texCoord = a_texCoord; \n" - "} \n"; - - GLbyte fShaderStr[] = - "precision mediump float; \n" - "varying vec2 v_texCoord; \n" - "uniform sampler2D s_texture; \n" - "void main() \n" - "{ \n" - " gl_FragColor = texture2D( s_texture, v_texCoord );\n" - "} \n"; - - GLfloat vVertices[] = { -0.5f, 0.5f, 0.0f, // Position 0 - 0.0f, 0.0f, // TexCoord 0 - -0.5f, -0.5f, 0.0f, // Position 1 - 0.0f, 1.0f, // TexCoord 1 - 0.5f, -0.5f, 0.0f, // Position 2 - 1.0f, 1.0f, // TexCoord 2 - 0.5f, 0.5f, 0.0f, // Position 3 - 1.0f, 0.0f // TexCoord 3 - }; - GLushort indices[] = { 0, 1, 2, 0, 2, 3 }; - - // Load the shaders and get a linked program object - userData->programObject = esLoadProgram ( vShaderStr, fShaderStr ); - - // Get the attribute locations - userData->positionLoc = glGetAttribLocation ( userData->programObject, "a_position" ); - userData->texCoordLoc = glGetAttribLocation ( userData->programObject, "a_texCoord" ); - - // Get the sampler location - userData->samplerLoc = glGetUniformLocation ( userData->programObject, "s_texture" ); - - // Load the texture - userData->textureId = CreateSimpleTexture2D (); - - // Load vertex data - glGenBuffers ( 2, userData->vboIds ); - glBindBuffer ( GL_ARRAY_BUFFER, userData->vboIds[0] ); - glBufferData ( GL_ARRAY_BUFFER, sizeof(vVertices), - vVertices, GL_STATIC_DRAW); - glBindBuffer ( GL_ELEMENT_ARRAY_BUFFER, userData->vboIds[1] ); - glBufferData ( GL_ELEMENT_ARRAY_BUFFER, sizeof(indices), - indices, GL_STATIC_DRAW ); - - glClearColor ( 0.0f, 0.0f, 0.0f, 0.0f ); - return TRUE; -} - -/// -// Draw a triangle using the shader pair created in Init() -// -#define VTX_POS_SIZE 3 -#define VTX_TEX_SIZE 2 -#define VTX_STRIDE (5 * sizeof(GLfloat)) -void stDraw ( ESContext *esContext ) -{ - STUserData *userData = esContext->userData; - GLuint offset = 0; - - // Set the viewport - glViewport ( 0, 0, esContext->width, esContext->height ); - - // Clear the color buffer - glClear ( GL_COLOR_BUFFER_BIT ); - - // Use the program object - glUseProgram ( userData->programObject ); - - // Load the vertex position - glVertexAttribPointer ( userData->positionLoc, VTX_POS_SIZE, GL_FLOAT, - GL_FALSE, VTX_STRIDE, (GLvoid*) offset ); - // Load the texture coordinate - offset += VTX_POS_SIZE * sizeof(GLfloat); - glVertexAttribPointer ( userData->texCoordLoc, VTX_TEX_SIZE, GL_FLOAT, - GL_FALSE, VTX_STRIDE, (GLvoid*) offset ); - - glEnableVertexAttribArray ( userData->positionLoc ); - glEnableVertexAttribArray ( userData->texCoordLoc ); - - // Bind the texture - glActiveTexture ( GL_TEXTURE0 ); - glBindTexture ( GL_TEXTURE_2D, userData->textureId ); - - // Set the sampler texture unit to 0 - glUniform1i ( userData->samplerLoc, 0 ); - - glDrawElements ( GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, 0 ); -} - -/// -// Cleanup -// -void stShutDown ( ESContext *esContext ) -{ - STUserData *userData = esContext->userData; - - // Delete texture object - glDeleteTextures ( 1, &userData->textureId ); - - // Delete VBOs - glDeleteBuffers ( 2, userData->vboIds ); - - // Delete program object - glDeleteProgram ( userData->programObject ); -} diff --git a/third_party/gles2_book/Chapter_9/Simple_Texture2D/Simple_Texture2D.h b/third_party/gles2_book/Chapter_9/Simple_Texture2D/Simple_Texture2D.h deleted file mode 100644 index 835b63f07e..0000000000 --- a/third_party/gles2_book/Chapter_9/Simple_Texture2D/Simple_Texture2D.h +++ /dev/null @@ -1,49 +0,0 @@ -// -// Book: OpenGL(R) ES 2.0 Programming Guide -// Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner -// ISBN-10: 0321502795 -// ISBN-13: 9780321502797 -// Publisher: Addison-Wesley Professional -// URLs: http://safari.informit.com/9780321563835 -// http://www.opengles-book.com -// - -#ifndef SIMPLE_TEXTURE_2D_H -#define SIMPLE_TEXTURE_2D_H - -#include "esUtil.h" - -#ifdef __cplusplus -extern "C" { -#endif // __cplusplus - -typedef struct -{ - // Handle to a program object - GLuint programObject; - - // Attribute locations - GLint positionLoc; - GLint texCoordLoc; - - // Sampler location - GLint samplerLoc; - - // Texture handle - GLuint textureId; - - // Vertex buffer object handles - GLuint vboIds[2]; - -} STUserData; - -extern int stInit ( ESContext *esContext ); - -extern void stDraw ( ESContext *esContext ); - -extern void stShutDown ( ESContext *esContext ); - -#ifdef __cplusplus -} -#endif // __cplusplus -#endif // SIMPLE_TEXTURE_2D_H diff --git a/third_party/gles2_book/Chapter_9/Simple_TextureCubemap/Simple_TextureCubemap.c b/third_party/gles2_book/Chapter_9/Simple_TextureCubemap/Simple_TextureCubemap.c deleted file mode 100644 index c2c2da3fe4..0000000000 --- a/third_party/gles2_book/Chapter_9/Simple_TextureCubemap/Simple_TextureCubemap.c +++ /dev/null @@ -1,203 +0,0 @@ -// -// Book: OpenGL(R) ES 2.0 Programming Guide -// Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner -// ISBN-10: 0321502795 -// ISBN-13: 9780321502797 -// Publisher: Addison-Wesley Professional -// URLs: http://safari.informit.com/9780321563835 -// http://www.opengles-book.com -// - -// Simple_TextureCubemap.c -// -// This is a simple example that draws a sphere with a cubemap image applied. -// -#include <stdlib.h> -#include "Simple_TextureCubemap.h" - -/// -// Create a simple cubemap with a 1x1 face with a different -// color for each face -static GLuint CreateSimpleTextureCubemap( ) -{ - GLuint textureId; - // Six 1x1 RGB faces - GLubyte cubePixels[6][3] = - { - // Face 0 - Red - 255, 0, 0, - // Face 1 - Green, - 0, 255, 0, - // Face 3 - Blue - 0, 0, 255, - // Face 4 - Yellow - 255, 255, 0, - // Face 5 - Purple - 255, 0, 255, - // Face 6 - White - 255, 255, 255 - }; - - // Generate a texture object - glGenTextures ( 1, &textureId ); - - // Bind the texture object - glBindTexture ( GL_TEXTURE_CUBE_MAP, textureId ); - - // Load the cube face - Positive X - glTexImage2D ( GL_TEXTURE_CUBE_MAP_POSITIVE_X, 0, GL_RGB, 1, 1, 0, - GL_RGB, GL_UNSIGNED_BYTE, &cubePixels[0] ); - - // Load the cube face - Negative X - glTexImage2D ( GL_TEXTURE_CUBE_MAP_NEGATIVE_X, 0, GL_RGB, 1, 1, 0, - GL_RGB, GL_UNSIGNED_BYTE, &cubePixels[1] ); - - // Load the cube face - Positive Y - glTexImage2D ( GL_TEXTURE_CUBE_MAP_POSITIVE_Y, 0, GL_RGB, 1, 1, 0, - GL_RGB, GL_UNSIGNED_BYTE, &cubePixels[2] ); - - // Load the cube face - Negative Y - glTexImage2D ( GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, 0, GL_RGB, 1, 1, 0, - GL_RGB, GL_UNSIGNED_BYTE, &cubePixels[3] ); - - // Load the cube face - Positive Z - glTexImage2D ( GL_TEXTURE_CUBE_MAP_POSITIVE_Z, 0, GL_RGB, 1, 1, 0, - GL_RGB, GL_UNSIGNED_BYTE, &cubePixels[4] ); - - // Load the cube face - Negative Z - glTexImage2D ( GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, 0, GL_RGB, 1, 1, 0, - GL_RGB, GL_UNSIGNED_BYTE, &cubePixels[5] ); - - // Set the filtering mode - glTexParameteri ( GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER, GL_NEAREST ); - glTexParameteri ( GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER, GL_NEAREST ); - - return textureId; - -} - - -/// -// Initialize the shader and program object -// -int stcInit ( ESContext *esContext ) -{ - STCUserData *userData = esContext->userData; - int numSlices = 20; - int numVertices = ( (numSlices / 2) + 1 ) * ( numSlices + 1 ); - GLfloat *vertices = NULL; - GLfloat *normals = NULL; - GLushort *indices = NULL; - GLbyte vShaderStr[] = - "attribute vec4 a_position; \n" - "attribute vec3 a_normal; \n" - "varying vec3 v_normal; \n" - "void main() \n" - "{ \n" - " gl_Position = a_position; \n" - " v_normal = a_normal; \n" - "} \n"; - - GLbyte fShaderStr[] = - "precision mediump float; \n" - "varying vec3 v_normal; \n" - "uniform samplerCube s_texture; \n" - "void main() \n" - "{ \n" - " gl_FragColor = textureCube( s_texture, v_normal );\n" - "} \n"; - - // Load the shaders and get a linked program object - userData->programObject = esLoadProgram ( vShaderStr, fShaderStr ); - - // Get the attribute locations - userData->positionLoc = glGetAttribLocation ( userData->programObject, "a_position" ); - userData->normalLoc = glGetAttribLocation ( userData->programObject, "a_normal" ); - - // Get the sampler locations - userData->samplerLoc = glGetUniformLocation ( userData->programObject, "s_texture" ); - - // Load the texture - userData->textureId = CreateSimpleTextureCubemap (); - - // Generate the vertex data - userData->numIndices = esGenSphere ( numSlices, 0.75f, &vertices, &normals, - NULL, &indices ); - glGenBuffers( 3, userData->vboIds ); - // Load vertex positions - glBindBuffer ( GL_ARRAY_BUFFER, userData->vboIds[0] ); - glBufferData ( GL_ARRAY_BUFFER, 3 * numVertices * sizeof(GLfloat), - vertices, GL_STATIC_DRAW ); - // Load vertex normals - glBindBuffer ( GL_ARRAY_BUFFER, userData->vboIds[1] ); - glBufferData ( GL_ARRAY_BUFFER, 3 * numVertices * sizeof(GLfloat), - normals, GL_STATIC_DRAW ); - // Load vertex indices - glBindBuffer ( GL_ELEMENT_ARRAY_BUFFER, userData->vboIds[2] ); - glBufferData ( GL_ELEMENT_ARRAY_BUFFER, userData->numIndices * sizeof(GLushort), - indices, GL_STATIC_DRAW ); - if ( vertices != NULL ) free ( vertices ); - if ( normals != NULL ) free ( normals ); - if ( indices != NULL ) free ( indices ); - - glClearColor ( 0.0f, 0.0f, 0.0f, 0.0f ); - return TRUE; -} - -/// -// Draw a triangle using the shader pair created in Init() -// -void stcDraw ( ESContext *esContext ) -{ - STCUserData *userData = esContext->userData; - - // Set the viewport - glViewport ( 0, 0, esContext->width, esContext->height ); - - // Clear the color buffer - glClear ( GL_COLOR_BUFFER_BIT ); - - - glCullFace ( GL_BACK ); - glEnable ( GL_CULL_FACE ); - - // Use the program object - glUseProgram ( userData->programObject ); - - // Load the vertex position - glVertexAttribPointer ( userData->positionLoc, 3, GL_FLOAT, - GL_FALSE, 0, 0 ); - // Load the normal - glVertexAttribPointer ( userData->normalLoc, 3, GL_FLOAT, - GL_FALSE, 0, 0 ); - - glEnableVertexAttribArray ( userData->positionLoc ); - glEnableVertexAttribArray ( userData->normalLoc ); - - // Bind the texture - glActiveTexture ( GL_TEXTURE0 ); - glBindTexture ( GL_TEXTURE_CUBE_MAP, userData->textureId ); - - // Set the sampler texture unit to 0 - glUniform1i ( userData->samplerLoc, 0 ); - - glDrawElements ( GL_TRIANGLES, userData->numIndices, - GL_UNSIGNED_SHORT, 0 ); -} - -/// -// Cleanup -// -void stcShutDown ( ESContext *esContext ) -{ - STCUserData *userData = esContext->userData; - - // Delete texture object - glDeleteTextures ( 1, &userData->textureId ); - - // Delete program object - glDeleteProgram ( userData->programObject ); - - // Delete vertex buffer objects - glDeleteBuffers ( 3, userData->vboIds ); -} diff --git a/third_party/gles2_book/Chapter_9/Simple_TextureCubemap/Simple_TextureCubemap.h b/third_party/gles2_book/Chapter_9/Simple_TextureCubemap/Simple_TextureCubemap.h deleted file mode 100644 index 3169f97cbf..0000000000 --- a/third_party/gles2_book/Chapter_9/Simple_TextureCubemap/Simple_TextureCubemap.h +++ /dev/null @@ -1,49 +0,0 @@ -// -// Book: OpenGL(R) ES 2.0 Programming Guide -// Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner -// ISBN-10: 0321502795 -// ISBN-13: 9780321502797 -// Publisher: Addison-Wesley Professional -// URLs: http://safari.informit.com/9780321563835 -// http://www.opengles-book.com -// - -#ifndef SIMPLE_TEXTURE_CUBEMAP_H -#define SIMPLE_TEXTURE_CUBEMAP_H - -#include "esUtil.h" - -#ifdef __cplusplus -extern "C" { -#endif // __cplusplus - -typedef struct -{ - // Handle to a program object - GLuint programObject; - - // Attribute locations - GLint positionLoc; - GLint normalLoc; - - // Sampler location - GLint samplerLoc; - - // Texture handle - GLuint textureId; - - // Vertex data - int numIndices; - GLuint vboIds[3]; -} STCUserData; - -extern int stcInit ( ESContext *esContext ); - -extern void stcDraw ( ESContext *esContext ); - -extern void stcShutDown ( ESContext *esContext ); - -#ifdef __cplusplus -} -#endif // __cplusplus -#endif // SIMPLE_TEXTURE_CUBEMAP_H diff --git a/third_party/gles2_book/Chapter_9/TextureWrap/TextureWrap.c b/third_party/gles2_book/Chapter_9/TextureWrap/TextureWrap.c deleted file mode 100644 index 52982833bd..0000000000 --- a/third_party/gles2_book/Chapter_9/TextureWrap/TextureWrap.c +++ /dev/null @@ -1,229 +0,0 @@ -// -// Book: OpenGL(R) ES 2.0 Programming Guide -// Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner -// ISBN-10: 0321502795 -// ISBN-13: 9780321502797 -// Publisher: Addison-Wesley Professional -// URLs: http://safari.informit.com/9780321563835 -// http://www.opengles-book.com -// - -// TextureWrap.c -// -// This is an example that demonstrates the three texture -// wrap modes available on 2D textures -// -#include <stdlib.h> -#include "TextureWrap.h" - -/// -// Generate an RGB8 checkerboard image -// -static GLubyte* GenCheckImage( int width, int height, int checkSize ) -{ - int x, - y; - GLubyte *pixels = malloc( width * height * 3 ); - - if ( pixels == NULL ) - return NULL; - - for ( y = 0; y < height; y++ ) - for ( x = 0; x < width; x++ ) - { - GLubyte rColor = 0; - GLubyte bColor = 0; - - if ( ( x / checkSize ) % 2 == 0 ) - { - rColor = 255 * ( ( y / checkSize ) % 2 ); - bColor = 255 * ( 1 - ( ( y / checkSize ) % 2 ) ); - } - else - { - bColor = 255 * ( ( y / checkSize ) % 2 ); - rColor = 255 * ( 1 - ( ( y / checkSize ) % 2 ) ); - } - - pixels[(y * height + x) * 3] = rColor; - pixels[(y * height + x) * 3 + 1] = 0; - pixels[(y * height + x) * 3 + 2] = bColor; - } - - return pixels; -} - -/// -// Create a mipmapped 2D texture image -// -static GLuint CreateTexture2D( ) -{ - // Texture object handle - GLuint textureId; - int width = 256, - height = 256; - GLubyte *pixels; - - pixels = GenCheckImage( width, height, 64 ); - if ( pixels == NULL ) - return 0; - - // Generate a texture object - glGenTextures ( 1, &textureId ); - - // Bind the texture object - glBindTexture ( GL_TEXTURE_2D, textureId ); - - // Load mipmap level 0 - glTexImage2D ( GL_TEXTURE_2D, 0, GL_RGB, width, height, - 0, GL_RGB, GL_UNSIGNED_BYTE, pixels ); - - // Set the filtering mode - glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); - glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); - - return textureId; - -} - - -/// -// Initialize the shader and program object -// -int twInit ( ESContext *esContext ) -{ - TWUserData *userData = esContext->userData; - GLbyte vShaderStr[] = - "uniform float u_offset; \n" - "attribute vec4 a_position; \n" - "attribute vec2 a_texCoord; \n" - "varying vec2 v_texCoord; \n" - "void main() \n" - "{ \n" - " gl_Position = a_position; \n" - " gl_Position.x += u_offset;\n" - " v_texCoord = a_texCoord; \n" - "} \n"; - - GLbyte fShaderStr[] = - "precision mediump float; \n" - "varying vec2 v_texCoord; \n" - "uniform sampler2D s_texture; \n" - "void main() \n" - "{ \n" - " gl_FragColor = texture2D( s_texture, v_texCoord );\n" - "} \n"; - - GLfloat vVertices[] = { -0.3f, 0.3f, 0.0f, 1.0f, // Position 0 - -1.0f, -1.0f, // TexCoord 0 - -0.3f, -0.3f, 0.0f, 1.0f, // Position 1 - -1.0f, 2.0f, // TexCoord 1 - 0.3f, -0.3f, 0.0f, 1.0f, // Position 2 - 2.0f, 2.0f, // TexCoord 2 - 0.3f, 0.3f, 0.0f, 1.0f, // Position 3 - 2.0f, -1.0f // TexCoord 3 - }; - GLushort indices[] = { 0, 1, 2, 0, 2, 3 }; - - // Load the shaders and get a linked program object - userData->programObject = esLoadProgram ( vShaderStr, fShaderStr ); - - // Get the attribute locations - userData->positionLoc = glGetAttribLocation ( userData->programObject, "a_position" ); - userData->texCoordLoc = glGetAttribLocation ( userData->programObject, "a_texCoord" ); - - // Get the sampler location - userData->samplerLoc = glGetUniformLocation ( userData->programObject, "s_texture" ); - - // Get the offset location - userData->offsetLoc = glGetUniformLocation( userData->programObject, "u_offset" ); - - // Load the texture - userData->textureId = CreateTexture2D (); - - // Load vertex data - glGenBuffers ( 2, userData->vboIds ); - glBindBuffer ( GL_ARRAY_BUFFER, userData->vboIds[0] ); - glBufferData ( GL_ARRAY_BUFFER, sizeof(vVertices), - vVertices, GL_STATIC_DRAW ); - glBindBuffer ( GL_ELEMENT_ARRAY_BUFFER, userData->vboIds[1] ); - glBufferData ( GL_ELEMENT_ARRAY_BUFFER, sizeof(indices), - indices, GL_STATIC_DRAW ); - - glClearColor ( 0.0f, 0.0f, 0.0f, 0.0f ); - return TRUE; -} - -/// -// Draw a triangle using the shader pair created in Init() -// -#define VTX_POS_SIZE 4 -#define VTX_TEX_SIZE 2 -#define VTX_STRIDE (6 * sizeof(GLfloat)) -void twDraw ( ESContext *esContext ) -{ - TWUserData *userData = esContext->userData; - GLuint offset = 0; - - // Set the viewport - glViewport ( 0, 0, esContext->width, esContext->height ); - - // Clear the color buffer - glClear ( GL_COLOR_BUFFER_BIT ); - - // Use the program object - glUseProgram ( userData->programObject ); - - // Load the vertex position - glVertexAttribPointer ( userData->positionLoc, VTX_POS_SIZE, GL_FLOAT, - GL_FALSE, VTX_STRIDE, (GLvoid*) offset ); - // Load the texture coordinate - offset += VTX_POS_SIZE * sizeof(GLfloat); - glVertexAttribPointer ( userData->texCoordLoc, VTX_TEX_SIZE, GL_FLOAT, - GL_FALSE, VTX_STRIDE, (GLvoid*) offset ); - - glEnableVertexAttribArray ( userData->positionLoc ); - glEnableVertexAttribArray ( userData->texCoordLoc ); - - // Bind the texture - glActiveTexture ( GL_TEXTURE0 ); - glBindTexture ( GL_TEXTURE_2D, userData->textureId ); - - // Set the sampler texture unit to 0 - glUniform1i ( userData->samplerLoc, 0 ); - - // Draw quad with repeat wrap mode - glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT ); - glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT ); - glUniform1f ( userData->offsetLoc, -0.7f ); - glDrawElements ( GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, 0 ); - - // Draw quad with clamp to edge wrap mode - glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE ); - glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE ); - glUniform1f ( userData->offsetLoc, 0.0f ); - glDrawElements ( GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, 0 ); - - // Draw quad with mirrored repeat - glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_MIRRORED_REPEAT ); - glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_MIRRORED_REPEAT ); - glUniform1f ( userData->offsetLoc, 0.7f ); - glDrawElements ( GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, 0 ); -} - -/// -// Cleanup -// -void twShutDown ( ESContext *esContext ) -{ - TWUserData *userData = esContext->userData; - - // Delete texture object - glDeleteTextures ( 1, &userData->textureId ); - - // Delete program object - glDeleteProgram ( userData->programObject ); - - // Delete vertex buffer objects - glDeleteBuffers ( 2, userData->vboIds ); -} diff --git a/third_party/gles2_book/Chapter_9/TextureWrap/TextureWrap.h b/third_party/gles2_book/Chapter_9/TextureWrap/TextureWrap.h deleted file mode 100644 index 0067e674dc..0000000000 --- a/third_party/gles2_book/Chapter_9/TextureWrap/TextureWrap.h +++ /dev/null @@ -1,52 +0,0 @@ -// -// Book: OpenGL(R) ES 2.0 Programming Guide -// Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner -// ISBN-10: 0321502795 -// ISBN-13: 9780321502797 -// Publisher: Addison-Wesley Professional -// URLs: http://safari.informit.com/9780321563835 -// http://www.opengles-book.com -// - -#ifndef TEXTURE_WRAP_H -#define TEXTURE_WRAP_H - -#include "esUtil.h" - -#ifdef __cplusplus -extern "C" { -#endif // __cplusplus - -typedef struct -{ - // Handle to a program object - GLuint programObject; - - // Attribute locations - GLint positionLoc; - GLint texCoordLoc; - - // Sampler location - GLint samplerLoc; - - // Offset location - GLint offsetLoc; - - // Texture handle - GLuint textureId; - - // Vertex buffer object handle - GLuint vboIds[2]; - -} TWUserData; - -extern int twInit ( ESContext *esContext ); - -extern void twDraw ( ESContext *esContext ); - -extern void twShutDown ( ESContext *esContext ); - -#ifdef __cplusplus -} -#endif // __cplusplus -#endif // TEXTURE_WRAP_H diff --git a/third_party/gles2_book/Common/Include/esUtil.h b/third_party/gles2_book/Common/Include/esUtil.h deleted file mode 100644 index 12045a2fb8..0000000000 --- a/third_party/gles2_book/Common/Include/esUtil.h +++ /dev/null @@ -1,178 +0,0 @@ -// -// Book: OpenGL(R) ES 2.0 Programming Guide -// Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner -// ISBN-10: 0321502795 -// ISBN-13: 9780321502797 -// Publisher: Addison-Wesley Professional -// URLs: http://safari.informit.com/9780321563835 -// http://www.opengles-book.com -// - -// -/// \file ESUtil.h -/// \brief A utility library for OpenGL ES. This library provides a -/// basic common framework for the example applications in the -/// OpenGL ES 2.0 Programming Guide. -// -#ifndef ESUTIL_H -#define ESUTIL_H - -#include <GLES2/gl2.h> - -#ifdef __cplusplus -extern "C" { -#endif // __cplusplus - -#ifndef FALSE -#define FALSE 0 -#endif // FALSE -#ifndef TRUE -#define TRUE 1 -#endif // TRUE - -typedef struct -{ - GLfloat m[4][4]; -} ESMatrix; - -typedef struct -{ - /// Put your user data here... - void* userData; - - /// Window width - GLint width; - - /// Window height - GLint height; -} ESContext; - -// -/// -/// \brief Initialize ES framework context. This must be called before calling any other functions. -/// \param esContext Application context -// -extern void esInitContext ( ESContext *esContext ); - -// -/// \brief Log a message to the debug output for the platform -/// \param formatStr Format string for error log. -// -extern void esLogMessage ( const char *formatStr, ... ); - -// -/// -/// \brief Load a shader, check for compile errors, print error messages to output log -/// \param type Type of shader (GL_VERTEX_SHADER or GL_FRAGMENT_SHADER) -/// \param shaderSrc Shader source string -/// \return A new shader object on success, 0 on failure -// -extern GLuint esLoadShader ( GLenum type, const char *shaderSrc ); - -// -/// -/// \brief Load a vertex and fragment shader, create a program object, link program. -/// Errors output to log. -/// \param vertShaderSrc Vertex shader source code -/// \param fragShaderSrc Fragment shader source code -/// \return A new program object linked with the vertex/fragment shader pair, 0 on failure -// -extern GLuint esLoadProgram ( const char *vertShaderSrc, const char *fragShaderSrc ); - - -// -/// \brief Generates geometry for a sphere. Allocates memory for the vertex data and stores -/// the results in the arrays. Generate index list for a TRIANGLE_STRIP -/// \param numSlices The number of slices in the sphere -/// \param vertices If not NULL, will contain array of float3 positions -/// \param normals If not NULL, will contain array of float3 normals -/// \param texCoords If not NULL, will contain array of float2 texCoords -/// \param indices If not NULL, will contain the array of indices for the triangle strip -/// \return The number of indices required for rendering the buffers (the number of indices stored in the indices array -/// if it is not NULL ) as a GL_TRIANGLE_STRIP -// -extern int esGenSphere ( int numSlices, float radius, GLfloat **vertices, GLfloat **normals, - GLfloat **texCoords, GLushort **indices ); - -// -/// \brief Generates geometry for a cube. Allocates memory for the vertex data and stores -/// the results in the arrays. Generate index list for a TRIANGLES -/// \param scale The size of the cube, use 1.0 for a unit cube. -/// \param vertices If not NULL, will contain array of float3 positions -/// \param normals If not NULL, will contain array of float3 normals -/// \param texCoords If not NULL, will contain array of float2 texCoords -/// \param indices If not NULL, will contain the array of indices for the triangle strip -/// \return The number of indices required for rendering the buffers (the number of indices stored in the indices array -/// if it is not NULL ) as a GL_TRIANGLES -// -extern int esGenCube ( float scale, GLfloat **vertices, GLfloat **normals, - GLfloat **texCoords, GLushort **indices ); - -// -/// \brief multiply matrix specified by result with a scaling matrix and return new matrix in result -/// \param result Specifies the input matrix. Scaled matrix is returned in result. -/// \param sx, sy, sz Scale factors along the x, y and z axes respectively -// -extern void esScale(ESMatrix *result, GLfloat sx, GLfloat sy, GLfloat sz); - -// -/// \brief multiply matrix specified by result with a translation matrix and return new matrix in result -/// \param result Specifies the input matrix. Translated matrix is returned in result. -/// \param tx, ty, tz Scale factors along the x, y and z axes respectively -// -extern void esTranslate(ESMatrix *result, GLfloat tx, GLfloat ty, GLfloat tz); - -// -/// \brief multiply matrix specified by result with a rotation matrix and return new matrix in result -/// \param result Specifies the input matrix. Rotated matrix is returned in result. -/// \param angle Specifies the angle of rotation, in degrees. -/// \param x, y, z Specify the x, y and z coordinates of a vector, respectively -// -extern void esRotate(ESMatrix *result, GLfloat angle, GLfloat x, GLfloat y, GLfloat z); - -// -// \brief multiply matrix specified by result with a perspective matrix and return new matrix in result -/// \param result Specifies the input matrix. new matrix is returned in result. -/// \param left, right Coordinates for the left and right vertical clipping planes -/// \param bottom, top Coordinates for the bottom and top horizontal clipping planes -/// \param nearZ, farZ Distances to the near and far depth clipping planes. Both distances must be positive. -// -extern void esFrustum(ESMatrix *result, float left, float right, float bottom, float top, float nearZ, float farZ); - -// -/// \brief multiply matrix specified by result with a perspective matrix and return new matrix in result -/// \param result Specifies the input matrix. new matrix is returned in result. -/// \param fovy Field of view y angle in degrees -/// \param aspect Aspect ratio of screen -/// \param nearZ Near plane distance -/// \param farZ Far plane distance -// -extern void esPerspective(ESMatrix *result, float fovy, float aspect, float nearZ, float farZ); - -// -/// \brief multiply matrix specified by result with a perspective matrix and return new matrix in result -/// \param result Specifies the input matrix. new matrix is returned in result. -/// \param left, right Coordinates for the left and right vertical clipping planes -/// \param bottom, top Coordinates for the bottom and top horizontal clipping planes -/// \param nearZ, farZ Distances to the near and far depth clipping planes. These values are negative if plane is behind the viewer -// -extern void esOrtho(ESMatrix *result, float left, float right, float bottom, float top, float nearZ, float farZ); - -// -/// \brief perform the following operation - result matrix = srcA matrix * srcB matrix -/// \param result Returns multiplied matrix -/// \param srcA, srcB Input matrices to be multiplied -// -extern void esMatrixMultiply(ESMatrix *result, ESMatrix *srcA, ESMatrix *srcB); - -// -//// \brief return an indentity matrix -//// \param result returns identity matrix -// -extern void esMatrixLoadIdentity(ESMatrix *result); - -#ifdef __cplusplus -} -#endif // __cplusplus - -#endif // ESUTIL_H diff --git a/third_party/gles2_book/Common/Source/esShader.c b/third_party/gles2_book/Common/Source/esShader.c deleted file mode 100644 index 80c13769ae..0000000000 --- a/third_party/gles2_book/Common/Source/esShader.c +++ /dev/null @@ -1,155 +0,0 @@ -// -// Book: OpenGL(R) ES 2.0 Programming Guide -// Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner -// ISBN-10: 0321502795 -// ISBN-13: 9780321502797 -// Publisher: Addison-Wesley Professional -// URLs: http://safari.informit.com/9780321563835 -// http://www.opengles-book.com -// - -// ESShader.c -// -// Utility functions for loading shaders and creating program objects. -// - -/// -// Includes -// -#include "esUtil.h" -#include <stdlib.h> - -////////////////////////////////////////////////////////////////// -// -// Private Functions -// -// - - - -////////////////////////////////////////////////////////////////// -// -// Public Functions -// -// - -// -/// -/// \brief Load a shader, check for compile errors, print error messages to output log -/// \param type Type of shader (GL_VERTEX_SHADER or GL_FRAGMENT_SHADER) -/// \param shaderSrc Shader source string -/// \return A new shader object on success, 0 on failure -// -GLuint esLoadShader ( GLenum type, const char *shaderSrc ) -{ - GLuint shader = 0; - GLint compiled = 0; - - // Create the shader object - shader = glCreateShader ( type ); - - if ( shader == 0 ) - return 0; - - // Load the shader source - glShaderSource ( shader, 1, &shaderSrc, NULL ); - - // Compile the shader - glCompileShader ( shader ); - - // Check the compile status - glGetShaderiv ( shader, GL_COMPILE_STATUS, &compiled ); - - if ( !compiled ) - { - GLint infoLen = 0; - - glGetShaderiv ( shader, GL_INFO_LOG_LENGTH, &infoLen ); - - if ( infoLen > 1 ) - { - char* infoLog = malloc (sizeof(char) * infoLen ); - - glGetShaderInfoLog ( shader, infoLen, NULL, infoLog ); - esLogMessage ( "Error compiling shader:\n%s\n", infoLog ); - - free ( infoLog ); - } - - glDeleteShader ( shader ); - return 0; - } - - return shader; - -} - - -// -/// -/// \brief Load a vertex and fragment shader, create a program object, link program. -// Errors output to log. -/// \param vertShaderSrc Vertex shader source code -/// \param fragShaderSrc Fragment shader source code -/// \return A new program object linked with the vertex/fragment shader pair, 0 on failure -// -GLuint esLoadProgram ( const char *vertShaderSrc, const char *fragShaderSrc ) -{ - GLuint vertexShader = 0; - GLuint fragmentShader = 0; - GLuint programObject = 0; - GLint linked = 0; - - // Load the vertex/fragment shaders - vertexShader = esLoadShader ( GL_VERTEX_SHADER, vertShaderSrc ); - if ( vertexShader == 0 ) - return 0; - - fragmentShader = esLoadShader ( GL_FRAGMENT_SHADER, fragShaderSrc ); - if ( fragmentShader == 0 ) - { - glDeleteShader( vertexShader ); - return 0; - } - - // Create the program object - programObject = glCreateProgram ( ); - - if ( programObject == 0 ) - return 0; - - glAttachShader ( programObject, vertexShader ); - glAttachShader ( programObject, fragmentShader ); - - // Link the program - glLinkProgram ( programObject ); - - // Check the link status - glGetProgramiv ( programObject, GL_LINK_STATUS, &linked ); - - if ( !linked ) - { - GLint infoLen = 0; - - glGetProgramiv ( programObject, GL_INFO_LOG_LENGTH, &infoLen ); - - if ( infoLen > 1 ) - { - char* infoLog = malloc (sizeof(char) * infoLen ); - - glGetProgramInfoLog ( programObject, infoLen, NULL, infoLog ); - esLogMessage ( "Error linking program:\n%s\n", infoLog ); - - free ( infoLog ); - } - - glDeleteProgram ( programObject ); - return 0; - } - - // Free up no longer needed shader resources - glDeleteShader ( vertexShader ); - glDeleteShader ( fragmentShader ); - - return programObject; -} diff --git a/third_party/gles2_book/Common/Source/esShapes.c b/third_party/gles2_book/Common/Source/esShapes.c deleted file mode 100644 index dee7efba4f..0000000000 --- a/third_party/gles2_book/Common/Source/esShapes.c +++ /dev/null @@ -1,280 +0,0 @@ -// -// Book: OpenGL(R) ES 2.0 Programming Guide -// Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner -// ISBN-10: 0321502795 -// ISBN-13: 9780321502797 -// Publisher: Addison-Wesley Professional -// URLs: http://safari.informit.com/9780321563835 -// http://www.opengles-book.com -// - -// ESShapes.c -// -// Utility functions for generating shapes -// - -/// -// Includes -// -#include "esUtil.h" -#include <stdlib.h> -#include <math.h> -#include <string.h> - -/// -// Defines -// -#define ES_PI (3.14159265f) - -////////////////////////////////////////////////////////////////// -// -// Private Functions -// -// - - - -////////////////////////////////////////////////////////////////// -// -// Public Functions -// -// - -// -/// \brief Generates geometry for a sphere. Allocates memory for the vertex data and stores -/// the results in the arrays. Generate index list for a TRIANGLE_STRIP -/// \param numSlices The number of slices in the sphere -/// \param vertices If not NULL, will contain array of float3 positions -/// \param normals If not NULL, will contain array of float3 normals -/// \param texCoords If not NULL, will contain array of float2 texCoords -/// \param indices If not NULL, will contain the array of indices for the triangle strip -/// \return The number of indices required for rendering the buffers (the number of indices stored in the indices array -/// if it is not NULL ) as a GL_TRIANGLE_STRIP -// -int esGenSphere ( int numSlices, float radius, GLfloat **vertices, GLfloat **normals, - GLfloat **texCoords, GLushort **indices ) -{ - int i; - int j; - int numParallels = numSlices / 2; - int numVertices = ( numParallels + 1 ) * ( numSlices + 1 ); - int numIndices = numParallels * numSlices * 6; - float angleStep = (2.0f * ES_PI) / ((float) numSlices); - - // Allocate memory for buffers - if ( vertices != NULL ) - *vertices = malloc ( sizeof(GLfloat) * 3 * numVertices ); - - if ( normals != NULL ) - *normals = malloc ( sizeof(GLfloat) * 3 * numVertices ); - - if ( texCoords != NULL ) - *texCoords = malloc ( sizeof(GLfloat) * 2 * numVertices ); - - if ( indices != NULL ) - *indices = malloc ( sizeof(GLushort) * numIndices ); - - for ( i = 0; i < numParallels + 1; i++ ) - { - for ( j = 0; j < numSlices + 1; j++ ) - { - int vertex = ( i * (numSlices + 1) + j ) * 3; - - if ( vertices ) - { - (*vertices)[vertex + 0] = radius * sinf ( angleStep * (float)i ) * - sinf ( angleStep * (float)j ); - (*vertices)[vertex + 1] = radius * cosf ( angleStep * (float)i ); - (*vertices)[vertex + 2] = radius * sinf ( angleStep * (float)i ) * - cosf ( angleStep * (float)j ); - } - - if ( normals ) - { - (*normals)[vertex + 0] = (*vertices)[vertex + 0] / radius; - (*normals)[vertex + 1] = (*vertices)[vertex + 1] / radius; - (*normals)[vertex + 2] = (*vertices)[vertex + 2] / radius; - } - - if ( texCoords ) - { - int texIndex = ( i * (numSlices + 1) + j ) * 2; - (*texCoords)[texIndex + 0] = (float) j / (float) numSlices; - (*texCoords)[texIndex + 1] = ( 1.0f - (float) i ) / (float) (numParallels - 1 ); - } - } - } - - // Generate the indices - if ( indices != NULL ) - { - GLushort *indexBuf = (*indices); - for ( i = 0; i < numParallels ; i++ ) - { - for ( j = 0; j < numSlices; j++ ) - { - *indexBuf++ = i * ( numSlices + 1 ) + j; - *indexBuf++ = ( i + 1 ) * ( numSlices + 1 ) + j; - *indexBuf++ = ( i + 1 ) * ( numSlices + 1 ) + ( j + 1 ); - - *indexBuf++ = i * ( numSlices + 1 ) + j; - *indexBuf++ = ( i + 1 ) * ( numSlices + 1 ) + ( j + 1 ); - *indexBuf++ = i * ( numSlices + 1 ) + ( j + 1 ); - } - } - } - - return numIndices; -} - -// -/// \brief Generates geometry for a cube. Allocates memory for the vertex data and stores -/// the results in the arrays. Generate index list for a TRIANGLES -/// \param scale The size of the cube, use 1.0 for a unit cube. -/// \param vertices If not NULL, will contain array of float3 positions -/// \param normals If not NULL, will contain array of float3 normals -/// \param texCoords If not NULL, will contain array of float2 texCoords -/// \param indices If not NULL, will contain the array of indices for the triangle strip -/// \return The number of indices required for rendering the buffers (the number of indices stored in the indices array -/// if it is not NULL ) as a GL_TRIANGLE_STRIP -// -int esGenCube ( float scale, GLfloat **vertices, GLfloat **normals, - GLfloat **texCoords, GLushort **indices ) -{ - int i; - int numVertices = 24; - int numIndices = 36; - - GLfloat cubeVerts[] = - { - -0.5f, -0.5f, -0.5f, - -0.5f, -0.5f, 0.5f, - 0.5f, -0.5f, 0.5f, - 0.5f, -0.5f, -0.5f, - -0.5f, 0.5f, -0.5f, - -0.5f, 0.5f, 0.5f, - 0.5f, 0.5f, 0.5f, - 0.5f, 0.5f, -0.5f, - -0.5f, -0.5f, -0.5f, - -0.5f, 0.5f, -0.5f, - 0.5f, 0.5f, -0.5f, - 0.5f, -0.5f, -0.5f, - -0.5f, -0.5f, 0.5f, - -0.5f, 0.5f, 0.5f, - 0.5f, 0.5f, 0.5f, - 0.5f, -0.5f, 0.5f, - -0.5f, -0.5f, -0.5f, - -0.5f, -0.5f, 0.5f, - -0.5f, 0.5f, 0.5f, - -0.5f, 0.5f, -0.5f, - 0.5f, -0.5f, -0.5f, - 0.5f, -0.5f, 0.5f, - 0.5f, 0.5f, 0.5f, - 0.5f, 0.5f, -0.5f, - }; - - GLfloat cubeNormals[] = - { - 0.0f, -1.0f, 0.0f, - 0.0f, -1.0f, 0.0f, - 0.0f, -1.0f, 0.0f, - 0.0f, -1.0f, 0.0f, - 0.0f, 1.0f, 0.0f, - 0.0f, 1.0f, 0.0f, - 0.0f, 1.0f, 0.0f, - 0.0f, 1.0f, 0.0f, - 0.0f, 0.0f, -1.0f, - 0.0f, 0.0f, -1.0f, - 0.0f, 0.0f, -1.0f, - 0.0f, 0.0f, -1.0f, - 0.0f, 0.0f, 1.0f, - 0.0f, 0.0f, 1.0f, - 0.0f, 0.0f, 1.0f, - 0.0f, 0.0f, 1.0f, - -1.0f, 0.0f, 0.0f, - -1.0f, 0.0f, 0.0f, - -1.0f, 0.0f, 0.0f, - -1.0f, 0.0f, 0.0f, - 1.0f, 0.0f, 0.0f, - 1.0f, 0.0f, 0.0f, - 1.0f, 0.0f, 0.0f, - 1.0f, 0.0f, 0.0f, - }; - - GLfloat cubeTex[] = - { - 0.0f, 0.0f, - 0.0f, 1.0f, - 1.0f, 1.0f, - 1.0f, 0.0f, - 1.0f, 0.0f, - 1.0f, 1.0f, - 0.0f, 1.0f, - 0.0f, 0.0f, - 0.0f, 0.0f, - 0.0f, 1.0f, - 1.0f, 1.0f, - 1.0f, 0.0f, - 0.0f, 0.0f, - 0.0f, 1.0f, - 1.0f, 1.0f, - 1.0f, 0.0f, - 0.0f, 0.0f, - 0.0f, 1.0f, - 1.0f, 1.0f, - 1.0f, 0.0f, - 0.0f, 0.0f, - 0.0f, 1.0f, - 1.0f, 1.0f, - 1.0f, 0.0f, - }; - - // Allocate memory for buffers - if ( vertices != NULL ) - { - *vertices = malloc ( sizeof(GLfloat) * 3 * numVertices ); - memcpy( *vertices, cubeVerts, sizeof( cubeVerts ) ); - for ( i = 0; i < numVertices; i++ ) - { - (*vertices)[i] *= scale; - } - } - - if ( normals != NULL ) - { - *normals = malloc ( sizeof(GLfloat) * 3 * numVertices ); - memcpy( *normals, cubeNormals, sizeof( cubeNormals ) ); - } - - if ( texCoords != NULL ) - { - *texCoords = malloc ( sizeof(GLfloat) * 2 * numVertices ); - memcpy( *texCoords, cubeTex, sizeof( cubeTex ) ) ; - } - - - // Generate the indices - if ( indices != NULL ) - { - GLushort cubeIndices[] = - { - 0, 2, 1, - 0, 3, 2, - 4, 5, 6, - 4, 6, 7, - 8, 9, 10, - 8, 10, 11, - 12, 15, 14, - 12, 14, 13, - 16, 17, 18, - 16, 18, 19, - 20, 23, 22, - 20, 22, 21 - }; - - *indices = malloc ( sizeof(GLushort) * numIndices ); - memcpy( *indices, cubeIndices, sizeof( cubeIndices ) ); - } - - return numIndices; -} diff --git a/third_party/gles2_book/Common/Source/esTransform.c b/third_party/gles2_book/Common/Source/esTransform.c deleted file mode 100644 index 91eef800fe..0000000000 --- a/third_party/gles2_book/Common/Source/esTransform.c +++ /dev/null @@ -1,204 +0,0 @@ -// -// Book: OpenGL(R) ES 2.0 Programming Guide -// Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner -// ISBN-10: 0321502795 -// ISBN-13: 9780321502797 -// Publisher: Addison-Wesley Professional -// URLs: http://safari.informit.com/9780321563835 -// http://www.opengles-book.com -// - -// ESUtil.c -// -// A utility library for OpenGL ES. This library provides a -// basic common framework for the example applications in the -// OpenGL ES 2.0 Programming Guide. -// - -/// -// Includes -// -#include "esUtil.h" -#include <math.h> -#include <string.h> - -#define PI 3.1415926535897932384626433832795f - -void esScale(ESMatrix *result, GLfloat sx, GLfloat sy, GLfloat sz) -{ - result->m[0][0] *= sx; - result->m[0][1] *= sx; - result->m[0][2] *= sx; - result->m[0][3] *= sx; - - result->m[1][0] *= sy; - result->m[1][1] *= sy; - result->m[1][2] *= sy; - result->m[1][3] *= sy; - - result->m[2][0] *= sz; - result->m[2][1] *= sz; - result->m[2][2] *= sz; - result->m[2][3] *= sz; -} - -void esTranslate(ESMatrix *result, GLfloat tx, GLfloat ty, GLfloat tz) -{ - result->m[3][0] += (result->m[0][0] * tx + result->m[1][0] * ty + result->m[2][0] * tz); - result->m[3][1] += (result->m[0][1] * tx + result->m[1][1] * ty + result->m[2][1] * tz); - result->m[3][2] += (result->m[0][2] * tx + result->m[1][2] * ty + result->m[2][2] * tz); - result->m[3][3] += (result->m[0][3] * tx + result->m[1][3] * ty + result->m[2][3] * tz); -} - -void esRotate(ESMatrix *result, GLfloat angle, GLfloat x, GLfloat y, GLfloat z) -{ - GLfloat sinAngle, cosAngle; - GLfloat mag = sqrtf(x * x + y * y + z * z); - - sinAngle = sinf ( angle * PI / 180.0f ); - cosAngle = cosf ( angle * PI / 180.0f ); - if ( mag > 0.0f ) - { - GLfloat xx, yy, zz, xy, yz, zx, xs, ys, zs; - GLfloat oneMinusCos; - ESMatrix rotMat; - - x /= mag; - y /= mag; - z /= mag; - - xx = x * x; - yy = y * y; - zz = z * z; - xy = x * y; - yz = y * z; - zx = z * x; - xs = x * sinAngle; - ys = y * sinAngle; - zs = z * sinAngle; - oneMinusCos = 1.0f - cosAngle; - - rotMat.m[0][0] = (oneMinusCos * xx) + cosAngle; - rotMat.m[0][1] = (oneMinusCos * xy) - zs; - rotMat.m[0][2] = (oneMinusCos * zx) + ys; - rotMat.m[0][3] = 0.0F; - - rotMat.m[1][0] = (oneMinusCos * xy) + zs; - rotMat.m[1][1] = (oneMinusCos * yy) + cosAngle; - rotMat.m[1][2] = (oneMinusCos * yz) - xs; - rotMat.m[1][3] = 0.0F; - - rotMat.m[2][0] = (oneMinusCos * zx) - ys; - rotMat.m[2][1] = (oneMinusCos * yz) + xs; - rotMat.m[2][2] = (oneMinusCos * zz) + cosAngle; - rotMat.m[2][3] = 0.0F; - - rotMat.m[3][0] = 0.0F; - rotMat.m[3][1] = 0.0F; - rotMat.m[3][2] = 0.0F; - rotMat.m[3][3] = 1.0F; - - esMatrixMultiply( result, &rotMat, result ); - } -} - -void esFrustum(ESMatrix *result, float left, float right, float bottom, float top, float nearZ, float farZ) -{ - float deltaX = right - left; - float deltaY = top - bottom; - float deltaZ = farZ - nearZ; - ESMatrix frust; - - if ( (nearZ <= 0.0f) || (farZ <= 0.0f) || - (deltaX <= 0.0f) || (deltaY <= 0.0f) || (deltaZ <= 0.0f) ) - return; - - frust.m[0][0] = 2.0f * nearZ / deltaX; - frust.m[0][1] = frust.m[0][2] = frust.m[0][3] = 0.0f; - - frust.m[1][1] = 2.0f * nearZ / deltaY; - frust.m[1][0] = frust.m[1][2] = frust.m[1][3] = 0.0f; - - frust.m[2][0] = (right + left) / deltaX; - frust.m[2][1] = (top + bottom) / deltaY; - frust.m[2][2] = -(nearZ + farZ) / deltaZ; - frust.m[2][3] = -1.0f; - - frust.m[3][2] = -2.0f * nearZ * farZ / deltaZ; - frust.m[3][0] = frust.m[3][1] = frust.m[3][3] = 0.0f; - - esMatrixMultiply(result, &frust, result); -} - - -void esPerspective(ESMatrix *result, float fovy, float aspect, float nearZ, float farZ) -{ - GLfloat frustumW, frustumH; - - frustumH = tanf( fovy / 360.0f * PI ) * nearZ; - frustumW = frustumH * aspect; - - esFrustum( result, -frustumW, frustumW, -frustumH, frustumH, nearZ, farZ ); -} - -void esOrtho(ESMatrix *result, float left, float right, float bottom, float top, float nearZ, float farZ) -{ - float deltaX = right - left; - float deltaY = top - bottom; - float deltaZ = farZ - nearZ; - ESMatrix ortho; - - if ( (deltaX == 0.0f) || (deltaY == 0.0f) || (deltaZ == 0.0f) ) - return; - - esMatrixLoadIdentity(&ortho); - ortho.m[0][0] = 2.0f / deltaX; - ortho.m[3][0] = -(right + left) / deltaX; - ortho.m[1][1] = 2.0f / deltaY; - ortho.m[3][1] = -(top + bottom) / deltaY; - ortho.m[2][2] = -2.0f / deltaZ; - ortho.m[3][2] = -(nearZ + farZ) / deltaZ; - - esMatrixMultiply(result, &ortho, result); -} - - -void esMatrixMultiply(ESMatrix *result, ESMatrix *srcA, ESMatrix *srcB) -{ - ESMatrix tmp; - int i; - - for (i=0; i<4; i++) - { - tmp.m[i][0] = (srcA->m[i][0] * srcB->m[0][0]) + - (srcA->m[i][1] * srcB->m[1][0]) + - (srcA->m[i][2] * srcB->m[2][0]) + - (srcA->m[i][3] * srcB->m[3][0]) ; - - tmp.m[i][1] = (srcA->m[i][0] * srcB->m[0][1]) + - (srcA->m[i][1] * srcB->m[1][1]) + - (srcA->m[i][2] * srcB->m[2][1]) + - (srcA->m[i][3] * srcB->m[3][1]) ; - - tmp.m[i][2] = (srcA->m[i][0] * srcB->m[0][2]) + - (srcA->m[i][1] * srcB->m[1][2]) + - (srcA->m[i][2] * srcB->m[2][2]) + - (srcA->m[i][3] * srcB->m[3][2]) ; - - tmp.m[i][3] = (srcA->m[i][0] * srcB->m[0][3]) + - (srcA->m[i][1] * srcB->m[1][3]) + - (srcA->m[i][2] * srcB->m[2][3]) + - (srcA->m[i][3] * srcB->m[3][3]) ; - } - memcpy(result, &tmp, sizeof(ESMatrix)); -} - - -void esMatrixLoadIdentity(ESMatrix *result) -{ - memset(result, 0x0, sizeof(ESMatrix)); - result->m[0][0] = 1.0f; - result->m[1][1] = 1.0f; - result->m[2][2] = 1.0f; - result->m[3][3] = 1.0f; -} diff --git a/third_party/gles2_book/Common/Source/esUtil.c b/third_party/gles2_book/Common/Source/esUtil.c deleted file mode 100644 index cb64a29a12..0000000000 --- a/third_party/gles2_book/Common/Source/esUtil.c +++ /dev/null @@ -1,61 +0,0 @@ -// -// Book: OpenGL(R) ES 2.0 Programming Guide -// Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner -// ISBN-10: 0321502795 -// ISBN-13: 9780321502797 -// Publisher: Addison-Wesley Professional -// URLs: http://safari.informit.com/9780321563835 -// http://www.opengles-book.com -// - -// ESUtil.c -// -// A utility library for OpenGL ES. This library provides a -// basic common framework for the example applications in the -// OpenGL ES 2.0 Programming Guide. -// - -/// -// Includes -// -#include <stdio.h> -#include <stdlib.h> -#include <stdarg.h> -#include <string.h> - -#include <GLES2/gl2.h> - -#include "esUtil.h" - -/// -// esInitContext() -// -// Initialize ES utility context. This must be called before calling any other -// functions. -// -void esInitContext ( ESContext *esContext ) -{ - if ( esContext != NULL ) - { - memset( esContext, 0, sizeof( ESContext) ); - } -} - -/// -// esLogMessage() -// -// Log an error message to the debug output for the platform -// -void esLogMessage ( const char *formatStr, ... ) -{ - va_list params; - char buf[BUFSIZ]; - - va_start ( params, formatStr ); - vsprintf ( buf, formatStr, params ); - - printf ( "%s", buf ); - - va_end ( params ); -} - diff --git a/third_party/gles2_book/LICENSE b/third_party/gles2_book/LICENSE deleted file mode 100644 index dc41f2f3f7..0000000000 --- a/third_party/gles2_book/LICENSE +++ /dev/null @@ -1,7 +0,0 @@ -Book: OpenGL(R) ES 2.0 Programming Guide -Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner -ISBN-10: 0321502795 -ISBN-13: 9780321502797 -Publisher: Addison-Wesley Professional -URLs: http://safari.informit.com/9780321563835 - http://www.opengles-book.com
\ No newline at end of file diff --git a/third_party/gles2_book/README.TXT b/third_party/gles2_book/README.TXT deleted file mode 100644 index aeeac0523c..0000000000 --- a/third_party/gles2_book/README.TXT +++ /dev/null @@ -1,54 +0,0 @@ -Build Instructions ------------------- - -In order to run the code samples, you will need to download -AMD's OpenGL ES 2.0 Emulator from: - - http://developer.amd.com/gpu/opengl/Pages/default.aspx - -In order to build and run the samples, please copy the following -files from C:\program files\AMD\OpenGL ES 2.0 Emulator v1.1\bin -to the \Bin folder: - - * libEGL.dll - * libGLESv2.dll - -Also, please copy the following files from -C:\program files\AMD\OpenGL ES 2.0 Emulator v1.1\lib to -the \Lib folder: - - * libEGL.lib - * libGLESv2.lib - -For the OpenKODE sample in Chapter 15, place the following file from -Acrodea's OpenKODE Implementation (http://www.acrodea.co.jp/en/openkode/) -to the \Lib folder: - - * libKD.lib - - -RenderMonkey Workspaces ------------------------ -Finally, for the RenderMonkey workspaces (.rfx files), please download -RenderMonkey v1.81 from AMD at: - - http://developer.amd.com/gpu/rendermonkey/Pages/default.aspx - - -Using the Imagination Technologies OpenGL ES 2.0 SDK ----------------------------------------------------- -As an alternative to using the AMD OpenGL ES 2.0 Emulator, you can -instead use the Imagination Technologies emulator from their -OpenGL ES 2.0 SDK (http://www.imgtec.com/powervr/insider/powervr-sdk.asp). -In this case, get the .LIB and .DLL files from: - -C:\Imagination Technologies\PowerVR SDK\OGLES2_WINDOWS_PCEMULATION_2.02.22.0756\Builds\OGLES2\WindowsPC\Lib - -and copy them to /Lib and /DLL respectively. - -Also, copy the header files from: - -C:\Imagination Technologies\PowerVR SDK\OGLES2_WINDOWS_PCEMULATION_2.02.22.0756\Builds\OGLES2\Include - -to Common/Include (overwriting the existing files). - diff --git a/third_party/gles2_book/README.chromium b/third_party/gles2_book/README.chromium deleted file mode 100644 index 753e407a38..0000000000 --- a/third_party/gles2_book/README.chromium +++ /dev/null @@ -1,47 +0,0 @@ -Name: OpenGL ES 2.0 Programming Guide -Short Name: opengles-book -URL: http://opengles-book.com/ -Version: unknown -Security Critical: no -License: MIT - -Description: -Code samples from OpenGL ES 2.0 Programming Guide. -Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner -Publisher: Addison-Wesley Professional -ISBN: 0321502795 - -Sample code is MIT licensed - http://www.opengles-book.com/downloads.html - -Local Modifications: - Removed files that chromium did not need: - - Bin/* - - Common/Doc/* - - Common/Include/EGL/* - - Common/Include/GLES2/* - - Common/Include/KD/* - - Common/Lib/* - - Common/Source/esUtil_win32.c - - Common/Source/Win32/esUtil_TGA.c - - Lib/* - - *.vcproj, *.sln - - Added header files for individual examples so that they can be compiled as - static libraries: - - Chapter_2/Hello_Triangle/Hello_Triangle.h - - Chapter_8/Simple_VertexShader/Simple_VertexShader.h - - Chapter_9/MipMap2D/MipMap2D.h - - Chapter_9/Simple_Texture2D/Simple_Texture2D.h - - Chapter_9/Simple_TextureCubemap/Simple_TextureCubemap.h - - Chapter_9/TextureWrap/TextureWrap.h - - Chapter_11/Stencil_Test/Stencil_Test.h - - Initialized local variables: - - Chapter_11/Stencil_Test/Stencil_Test.c - - Common/Source/esShader.c - - Improvements in Chapter_11/Stencil_Test: - - Fixed depth and color values in Stencil Test - - Removed redundant glGetIntegerv in draw loop - - Restore stencil-mask state after every frame - diff --git a/third_party/gles2_book/gles2_book.gyp b/third_party/gles2_book/gles2_book.gyp deleted file mode 100644 index f44c58ba54..0000000000 --- a/third_party/gles2_book/gles2_book.gyp +++ /dev/null @@ -1,107 +0,0 @@ -# Copyright (c) 2009 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -{ - 'targets': [ - { - 'target_name': 'es_util', - 'type': 'static_library', - 'dependencies': [ - '../../gpu/gpu.gyp:gles2_c_lib_nocheck', - ], - 'include_dirs': [ - 'Common/Include', - ], - 'all_dependent_settings': { - 'include_dirs': [ - 'Common/Include', - ], - }, - 'sources': [ - 'Common/Include/esUtil.h', - 'Common/Source/esShader.c', - 'Common/Source/esShapes.c', - 'Common/Source/esTransform.c', - 'Common/Source/esUtil.c', - ], - }, - { - 'target_name': 'hello_triangle', - 'type': 'static_library', - 'dependencies': [ - 'es_util', - ], - 'sources': [ - 'Chapter_2/Hello_Triangle/Hello_Triangle.c', - 'Chapter_2/Hello_Triangle/Hello_Triangle.h', - ], - }, - { - 'target_name': 'mip_map_2d', - 'type': 'static_library', - 'dependencies': [ - 'es_util', - ], - 'sources': [ - 'Chapter_9/MipMap2D/MipMap2D.c', - 'Chapter_9/MipMap2D/MipMap2D.h', - ], - }, - { - 'target_name': 'simple_texture_2d', - 'type': 'static_library', - 'dependencies': [ - 'es_util', - ], - 'sources': [ - 'Chapter_9/Simple_Texture2D/Simple_Texture2D.c', - 'Chapter_9/Simple_Texture2D/Simple_Texture2D.h', - ], - }, - { - 'target_name': 'simple_texture_cubemap', - 'type': 'static_library', - 'dependencies': [ - 'es_util', - ], - 'sources': [ - 'Chapter_9/Simple_TextureCubemap/Simple_TextureCubemap.c', - 'Chapter_9/Simple_TextureCubemap/Simple_TextureCubemap.h', - ], - }, - { - 'target_name': 'simple_vertex_shader', - 'type': 'static_library', - 'dependencies': [ - 'es_util', - ], - 'sources': [ - 'Chapter_8/Simple_VertexShader/Simple_VertexShader.c', - 'Chapter_8/Simple_VertexShader/Simple_VertexShader.h', - ], - }, - { - 'target_name': 'stencil_test', - 'type': 'static_library', - 'dependencies': [ - 'es_util', - ], - 'sources': [ - 'Chapter_11/Stencil_Test/Stencil_Test.c', - 'Chapter_11/Stencil_Test/Stencil_Test.h', - ], - }, - { - 'target_name': 'texture_wrap', - 'type': 'static_library', - 'dependencies': [ - 'es_util', - ], - 'sources': [ - 'Chapter_9/TextureWrap/TextureWrap.c', - 'Chapter_9/TextureWrap/TextureWrap.h', - ], - }, - ] -} diff --git a/third_party/libjingle/README.chromium b/third_party/libjingle/README.chromium index fdd81fb332..5443592864 100644 --- a/third_party/libjingle/README.chromium +++ b/third_party/libjingle/README.chromium @@ -1,7 +1,7 @@ Name: libjingle URL: http://code.google.com/p/webrtc/ Version: unknown -Revision: 4462 +Revision: 4490 License: BSD License File: source/talk/COPYING Security Critical: yes diff --git a/third_party/libjingle/libjingle.gyp b/third_party/libjingle/libjingle.gyp index 59e523d1d2..37585dc3e8 100644 --- a/third_party/libjingle/libjingle.gyp +++ b/third_party/libjingle/libjingle.gyp @@ -725,6 +725,9 @@ '<(libjingle_source)/talk/media/devices/filevideocapturer.h', '<(libjingle_source)/talk/media/webrtc/webrtccommon.h', '<(libjingle_source)/talk/media/webrtc/webrtcpassthroughrender.cc', + '<(libjingle_source)/talk/media/webrtc/webrtcpassthroughrender.h', + '<(libjingle_source)/talk/media/webrtc/webrtctexturevideoframe.cc', + '<(libjingle_source)/talk/media/webrtc/webrtctexturevideoframe.h', '<(libjingle_source)/talk/media/webrtc/webrtcvideocapturer.cc', '<(libjingle_source)/talk/media/webrtc/webrtcvideocapturer.h', '<(libjingle_source)/talk/media/webrtc/webrtcvideoframe.cc', diff --git a/third_party/openmax/OWNERS b/third_party/openmax/OWNERS deleted file mode 100644 index 3266f602a2..0000000000 --- a/third_party/openmax/OWNERS +++ /dev/null @@ -1,2 +0,0 @@ -fischman@chromium.org -posciak@chromium.org diff --git a/third_party/openmax/README.chromium b/third_party/openmax/README.chromium deleted file mode 100644 index 5794ff7c10..0000000000 --- a/third_party/openmax/README.chromium +++ /dev/null @@ -1,15 +0,0 @@ -Name: OpenMAX IL -Short Name: openmax -URL: http://www.khronos.org/openmax/ -Version: 1.1.2 -License: BSD -License File: il/LICENSE -Security Critical: yes - -Description: -Header files required to work with OpenMAX IL. -From http://www.khronos.org/openmax/headers/omx_il_v1_1/omx_il_v1_1_2_headers.zip - -Local Modifications: -- Converted to utf-8 with: vim +"argdo write ++enc=utf-8" *.h - diff --git a/third_party/openmax/il.sigs b/third_party/openmax/il.sigs deleted file mode 100644 index 20d6b9898d..0000000000 --- a/third_party/openmax/il.sigs +++ /dev/null @@ -1,11 +0,0 @@ -# Copyright (c) 2010 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. -# -# Functions from OpenMAX IL used in Chromium code. - -OMX_ERRORTYPE OMX_Init(void); -OMX_ERRORTYPE OMX_Deinit(void); -OMX_ERRORTYPE OMX_GetHandle(OMX_HANDLETYPE* pHandle, OMX_STRING cComponentName, OMX_PTR pAppData, OMX_CALLBACKTYPE* pCallBacks); -OMX_ERRORTYPE OMX_FreeHandle(OMX_HANDLETYPE hComponent); -OMX_ERRORTYPE OMX_GetComponentsOfRole (OMX_STRING role, OMX_U32* pNumComps, OMX_U8** compNames); diff --git a/third_party/openmax/il/LICENSE b/third_party/openmax/il/LICENSE deleted file mode 100644 index b744437a0a..0000000000 --- a/third_party/openmax/il/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2008 The Khronos Group Inc. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject -to the following conditions: -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/third_party/openmax/il/OMX_Audio.h b/third_party/openmax/il/OMX_Audio.h deleted file mode 100644 index 04f1a9997b..0000000000 --- a/third_party/openmax/il/OMX_Audio.h +++ /dev/null @@ -1,1311 +0,0 @@ -/* - * Copyright (c) 2008 The Khronos Group Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject - * to the following conditions: - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - */ - -/** @file OMX_Audio.h - OpenMax IL version 1.1.2 - * The structures needed by Audio components to exchange - * parameters and configuration data with the componenmilts. - */ - -#ifndef OMX_Audio_h -#define OMX_Audio_h - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - - -/* Each OMX header must include all required header files to allow the - * header to compile without errors. The includes below are required - * for this header file to compile successfully - */ - -#include <OMX_Core.h> - -/** @defgroup midi MIDI - * @ingroup audio - */ - -/** @defgroup effects Audio effects - * @ingroup audio - */ - -/** @defgroup audio OpenMAX IL Audio Domain - * Structures for OpenMAX IL Audio domain - * @{ - */ - -/** Enumeration used to define the possible audio codings. - * If "OMX_AUDIO_CodingUnused" is selected, the coding selection must - * be done in a vendor specific way. Since this is for an audio - * processing element this enum is relevant. However, for another - * type of component other enums would be in this area. - */ -typedef enum OMX_AUDIO_CODINGTYPE { - OMX_AUDIO_CodingUnused = 0, /**< Placeholder value when coding is N/A */ - OMX_AUDIO_CodingAutoDetect, /**< auto detection of audio format */ - OMX_AUDIO_CodingPCM, /**< Any variant of PCM coding */ - OMX_AUDIO_CodingADPCM, /**< Any variant of ADPCM encoded data */ - OMX_AUDIO_CodingAMR, /**< Any variant of AMR encoded data */ - OMX_AUDIO_CodingGSMFR, /**< Any variant of GSM fullrate (i.e. GSM610) */ - OMX_AUDIO_CodingGSMEFR, /**< Any variant of GSM Enhanced Fullrate encoded data*/ - OMX_AUDIO_CodingGSMHR, /**< Any variant of GSM Halfrate encoded data */ - OMX_AUDIO_CodingPDCFR, /**< Any variant of PDC Fullrate encoded data */ - OMX_AUDIO_CodingPDCEFR, /**< Any variant of PDC Enhanced Fullrate encoded data */ - OMX_AUDIO_CodingPDCHR, /**< Any variant of PDC Halfrate encoded data */ - OMX_AUDIO_CodingTDMAFR, /**< Any variant of TDMA Fullrate encoded data (TIA/EIA-136-420) */ - OMX_AUDIO_CodingTDMAEFR, /**< Any variant of TDMA Enhanced Fullrate encoded data (TIA/EIA-136-410) */ - OMX_AUDIO_CodingQCELP8, /**< Any variant of QCELP 8kbps encoded data */ - OMX_AUDIO_CodingQCELP13, /**< Any variant of QCELP 13kbps encoded data */ - OMX_AUDIO_CodingEVRC, /**< Any variant of EVRC encoded data */ - OMX_AUDIO_CodingSMV, /**< Any variant of SMV encoded data */ - OMX_AUDIO_CodingG711, /**< Any variant of G.711 encoded data */ - OMX_AUDIO_CodingG723, /**< Any variant of G.723 dot 1 encoded data */ - OMX_AUDIO_CodingG726, /**< Any variant of G.726 encoded data */ - OMX_AUDIO_CodingG729, /**< Any variant of G.729 encoded data */ - OMX_AUDIO_CodingAAC, /**< Any variant of AAC encoded data */ - OMX_AUDIO_CodingMP3, /**< Any variant of MP3 encoded data */ - OMX_AUDIO_CodingSBC, /**< Any variant of SBC encoded data */ - OMX_AUDIO_CodingVORBIS, /**< Any variant of VORBIS encoded data */ - OMX_AUDIO_CodingWMA, /**< Any variant of WMA encoded data */ - OMX_AUDIO_CodingRA, /**< Any variant of RA encoded data */ - OMX_AUDIO_CodingMIDI, /**< Any variant of MIDI encoded data */ - OMX_AUDIO_CodingKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_AUDIO_CodingVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_AUDIO_CodingMax = 0x7FFFFFFF -} OMX_AUDIO_CODINGTYPE; - - -/** The PortDefinition structure is used to define all of the parameters - * necessary for the compliant component to setup an input or an output audio - * path. If additional information is needed to define the parameters of the - * port (such as frequency), additional structures must be sent such as the - * OMX_AUDIO_PARAM_PCMMODETYPE structure to supply the extra parameters for the port. - */ -typedef struct OMX_AUDIO_PORTDEFINITIONTYPE { - OMX_STRING cMIMEType; /**< MIME type of data for the port */ - OMX_NATIVE_DEVICETYPE pNativeRender; /** < platform specific reference - for an output device, - otherwise this field is 0 */ - OMX_BOOL bFlagErrorConcealment; /**< Turns on error concealment if it is - supported by the OMX component */ - OMX_AUDIO_CODINGTYPE eEncoding; /**< Type of data expected for this - port (e.g. PCM, AMR, MP3, etc) */ -} OMX_AUDIO_PORTDEFINITIONTYPE; - - -/** Port format parameter. This structure is used to enumerate - * the various data input/output format supported by the port. - */ -typedef struct OMX_AUDIO_PARAM_PORTFORMATTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< Indicates which port to set */ - OMX_U32 nIndex; /**< Indicates the enumeration index for the format from 0x0 to N-1 */ - OMX_AUDIO_CODINGTYPE eEncoding; /**< Type of data expected for this port (e.g. PCM, AMR, MP3, etc) */ -} OMX_AUDIO_PARAM_PORTFORMATTYPE; - - -/** PCM mode type */ -typedef enum OMX_AUDIO_PCMMODETYPE { - OMX_AUDIO_PCMModeLinear = 0, /**< Linear PCM encoded data */ - OMX_AUDIO_PCMModeALaw, /**< A law PCM encoded data (G.711) */ - OMX_AUDIO_PCMModeMULaw, /**< Mu law PCM encoded data (G.711) */ - OMX_AUDIO_PCMModeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_AUDIO_PCMModeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_AUDIO_PCMModeMax = 0x7FFFFFFF -} OMX_AUDIO_PCMMODETYPE; - - -typedef enum OMX_AUDIO_CHANNELTYPE { - OMX_AUDIO_ChannelNone = 0x0, /**< Unused or empty */ - OMX_AUDIO_ChannelLF = 0x1, /**< Left front */ - OMX_AUDIO_ChannelRF = 0x2, /**< Right front */ - OMX_AUDIO_ChannelCF = 0x3, /**< Center front */ - OMX_AUDIO_ChannelLS = 0x4, /**< Left surround */ - OMX_AUDIO_ChannelRS = 0x5, /**< Right surround */ - OMX_AUDIO_ChannelLFE = 0x6, /**< Low frequency effects */ - OMX_AUDIO_ChannelCS = 0x7, /**< Back surround */ - OMX_AUDIO_ChannelLR = 0x8, /**< Left rear. */ - OMX_AUDIO_ChannelRR = 0x9, /**< Right rear. */ - OMX_AUDIO_ChannelKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_AUDIO_ChannelVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_AUDIO_ChannelMax = 0x7FFFFFFF -} OMX_AUDIO_CHANNELTYPE; - -#define OMX_AUDIO_MAXCHANNELS 16 /**< maximum number distinct audio channels that a buffer may contain */ -#define OMX_MIN_PCMPAYLOAD_MSEC 5 /**< Minimum audio buffer payload size for uncompressed (PCM) audio */ - -/** PCM format description */ -typedef struct OMX_AUDIO_PARAM_PCMMODETYPE { - OMX_U32 nSize; /**< Size of this structure, in Bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_U32 nChannels; /**< Number of channels (e.g. 2 for stereo) */ - OMX_NUMERICALDATATYPE eNumData; /**< indicates PCM data as signed or unsigned */ - OMX_ENDIANTYPE eEndian; /**< indicates PCM data as little or big endian */ - OMX_BOOL bInterleaved; /**< True for normal interleaved data; false for - non-interleaved data (e.g. block data) */ - OMX_U32 nBitPerSample; /**< Bit per sample */ - OMX_U32 nSamplingRate; /**< Sampling rate of the source data. Use 0 for - variable or unknown sampling rate. */ - OMX_AUDIO_PCMMODETYPE ePCMMode; /**< PCM mode enumeration */ - OMX_AUDIO_CHANNELTYPE eChannelMapping[OMX_AUDIO_MAXCHANNELS]; /**< Slot i contains channel defined by eChannelMap[i] */ - -} OMX_AUDIO_PARAM_PCMMODETYPE; - - -/** Audio channel mode. This is used by both AAC and MP3, although the names are more appropriate - * for the MP3. For example, JointStereo for MP3 is CouplingChannels for AAC. - */ -typedef enum OMX_AUDIO_CHANNELMODETYPE { - OMX_AUDIO_ChannelModeStereo = 0, /**< 2 channels, the bitrate allocation between those - two channels changes accordingly to each channel information */ - OMX_AUDIO_ChannelModeJointStereo, /**< mode that takes advantage of what is common between - 2 channels for higher compression gain */ - OMX_AUDIO_ChannelModeDual, /**< 2 mono-channels, each channel is encoded with half - the bitrate of the overall bitrate */ - OMX_AUDIO_ChannelModeMono, /**< Mono channel mode */ - OMX_AUDIO_ChannelModeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_AUDIO_ChannelModeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_AUDIO_ChannelModeMax = 0x7FFFFFFF -} OMX_AUDIO_CHANNELMODETYPE; - - -typedef enum OMX_AUDIO_MP3STREAMFORMATTYPE { - OMX_AUDIO_MP3StreamFormatMP1Layer3 = 0, /**< MP3 Audio MPEG 1 Layer 3 Stream format */ - OMX_AUDIO_MP3StreamFormatMP2Layer3, /**< MP3 Audio MPEG 2 Layer 3 Stream format */ - OMX_AUDIO_MP3StreamFormatMP2_5Layer3, /**< MP3 Audio MPEG2.5 Layer 3 Stream format */ - OMX_AUDIO_MP3StreamFormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_AUDIO_MP3StreamFormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_AUDIO_MP3StreamFormatMax = 0x7FFFFFFF -} OMX_AUDIO_MP3STREAMFORMATTYPE; - -/** MP3 params */ -typedef struct OMX_AUDIO_PARAM_MP3TYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_U32 nChannels; /**< Number of channels */ - OMX_U32 nBitRate; /**< Bit rate of the input data. Use 0 for variable - rate or unknown bit rates */ - OMX_U32 nSampleRate; /**< Sampling rate of the source data. Use 0 for - variable or unknown sampling rate. */ - OMX_U32 nAudioBandWidth; /**< Audio band width (in Hz) to which an encoder should - limit the audio signal. Use 0 to let encoder decide */ - OMX_AUDIO_CHANNELMODETYPE eChannelMode; /**< Channel mode enumeration */ - OMX_AUDIO_MP3STREAMFORMATTYPE eFormat; /**< MP3 stream format */ -} OMX_AUDIO_PARAM_MP3TYPE; - - -typedef enum OMX_AUDIO_AACSTREAMFORMATTYPE { - OMX_AUDIO_AACStreamFormatMP2ADTS = 0, /**< AAC Audio Data Transport Stream 2 format */ - OMX_AUDIO_AACStreamFormatMP4ADTS, /**< AAC Audio Data Transport Stream 4 format */ - OMX_AUDIO_AACStreamFormatMP4LOAS, /**< AAC Low Overhead Audio Stream format */ - OMX_AUDIO_AACStreamFormatMP4LATM, /**< AAC Low overhead Audio Transport Multiplex */ - OMX_AUDIO_AACStreamFormatADIF, /**< AAC Audio Data Interchange Format */ - OMX_AUDIO_AACStreamFormatMP4FF, /**< AAC inside MPEG-4/ISO File Format */ - OMX_AUDIO_AACStreamFormatRAW, /**< AAC Raw Format */ - OMX_AUDIO_AACStreamFormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_AUDIO_AACStreamFormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_AUDIO_AACStreamFormatMax = 0x7FFFFFFF -} OMX_AUDIO_AACSTREAMFORMATTYPE; - - -/** AAC mode type. Note that the term profile is used with the MPEG-2 - * standard and the term object type and profile is used with MPEG-4 */ -typedef enum OMX_AUDIO_AACPROFILETYPE{ - OMX_AUDIO_AACObjectNull = 0, /**< Null, not used */ - OMX_AUDIO_AACObjectMain = 1, /**< AAC Main object */ - OMX_AUDIO_AACObjectLC, /**< AAC Low Complexity object (AAC profile) */ - OMX_AUDIO_AACObjectSSR, /**< AAC Scalable Sample Rate object */ - OMX_AUDIO_AACObjectLTP, /**< AAC Long Term Prediction object */ - OMX_AUDIO_AACObjectHE, /**< AAC High Efficiency (object type SBR, HE-AAC profile) */ - OMX_AUDIO_AACObjectScalable, /**< AAC Scalable object */ - OMX_AUDIO_AACObjectERLC = 17, /**< ER AAC Low Complexity object (Error Resilient AAC-LC) */ - OMX_AUDIO_AACObjectLD = 23, /**< AAC Low Delay object (Error Resilient) */ - OMX_AUDIO_AACObjectHE_PS = 29, /**< AAC High Efficiency with Parametric Stereo coding (HE-AAC v2, object type PS) */ - OMX_AUDIO_AACObjectKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_AUDIO_AACObjectVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_AUDIO_AACObjectMax = 0x7FFFFFFF -} OMX_AUDIO_AACPROFILETYPE; - - -/** AAC tool usage (for nAACtools in OMX_AUDIO_PARAM_AACPROFILETYPE). - * Required for encoder configuration and optional as decoder info output. - * For MP3, OMX_AUDIO_CHANNELMODETYPE is sufficient. */ -#define OMX_AUDIO_AACToolNone 0x00000000 /**< no AAC tools allowed (encoder config) or active (decoder info output) */ -#define OMX_AUDIO_AACToolMS 0x00000001 /**< MS: Mid/side joint coding tool allowed or active */ -#define OMX_AUDIO_AACToolIS 0x00000002 /**< IS: Intensity stereo tool allowed or active */ -#define OMX_AUDIO_AACToolTNS 0x00000004 /**< TNS: Temporal Noise Shaping tool allowed or active */ -#define OMX_AUDIO_AACToolPNS 0x00000008 /**< PNS: MPEG-4 Perceptual Noise substitution tool allowed or active */ -#define OMX_AUDIO_AACToolLTP 0x00000010 /**< LTP: MPEG-4 Long Term Prediction tool allowed or active */ -#define OMX_AUDIO_AACToolAll 0x7FFFFFFF /**< all AAC tools allowed or active (*/ - -/** MPEG-4 AAC error resilience (ER) tool usage (for nAACERtools in OMX_AUDIO_PARAM_AACPROFILETYPE). - * Required for ER encoder configuration and optional as decoder info output */ -#define OMX_AUDIO_AACERNone 0x00000000 /**< no AAC ER tools allowed/used */ -#define OMX_AUDIO_AACERVCB11 0x00000001 /**< VCB11: Virtual Code Books for AAC section data */ -#define OMX_AUDIO_AACERRVLC 0x00000002 /**< RVLC: Reversible Variable Length Coding */ -#define OMX_AUDIO_AACERHCR 0x00000004 /**< HCR: Huffman Codeword Reordering */ -#define OMX_AUDIO_AACERAll 0x7FFFFFFF /**< all AAC ER tools allowed/used */ - - -/** AAC params */ -typedef struct OMX_AUDIO_PARAM_AACPROFILETYPE { - OMX_U32 nSize; /**< Size of this structure, in Bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< Port that this structure applies to */ - OMX_U32 nChannels; /**< Number of channels */ - OMX_U32 nSampleRate; /**< Sampling rate of the source data. Use 0 for - variable or unknown sampling rate. */ - OMX_U32 nBitRate; /**< Bit rate of the input data. Use 0 for variable - rate or unknown bit rates */ - OMX_U32 nAudioBandWidth; /**< Audio band width (in Hz) to which an encoder should - limit the audio signal. Use 0 to let encoder decide */ - OMX_U32 nFrameLength; /**< Frame length (in audio samples per channel) of the codec. - Can be 1024 or 960 (AAC-LC), 2048 (HE-AAC), 480 or 512 (AAC-LD). - Use 0 to let encoder decide */ - OMX_U32 nAACtools; /**< AAC tool usage */ - OMX_U32 nAACERtools; /**< MPEG-4 AAC error resilience tool usage */ - OMX_AUDIO_AACPROFILETYPE eAACProfile; /**< AAC profile enumeration */ - OMX_AUDIO_AACSTREAMFORMATTYPE eAACStreamFormat; /**< AAC stream format enumeration */ - OMX_AUDIO_CHANNELMODETYPE eChannelMode; /**< Channel mode enumeration */ -} OMX_AUDIO_PARAM_AACPROFILETYPE; - - -/** VORBIS params */ -typedef struct OMX_AUDIO_PARAM_VORBISTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_U32 nChannels; /**< Number of channels */ - OMX_U32 nBitRate; /**< Bit rate of the encoded data data. Use 0 for variable - rate or unknown bit rates. Encoding is set to the - bitrate closest to specified value (in bps) */ - OMX_U32 nMinBitRate; /**< Sets minimum bitrate (in bps). */ - OMX_U32 nMaxBitRate; /**< Sets maximum bitrate (in bps). */ - - OMX_U32 nSampleRate; /**< Sampling rate of the source data. Use 0 for - variable or unknown sampling rate. */ - OMX_U32 nAudioBandWidth; /**< Audio band width (in Hz) to which an encoder should - limit the audio signal. Use 0 to let encoder decide */ - OMX_S32 nQuality; /**< Sets encoding quality to n, between -1 (low) and 10 (high). - In the default mode of operation, teh quality level is 3. - Normal quality range is 0 - 10. */ - OMX_BOOL bManaged; /**< Set bitrate management mode. This turns off the - normal VBR encoding, but allows hard or soft bitrate - constraints to be enforced by the encoder. This mode can - be slower, and may also be lower quality. It is - primarily useful for streaming. */ - OMX_BOOL bDownmix; /**< Downmix input from stereo to mono (has no effect on - non-stereo streams). Useful for lower-bitrate encoding. */ -} OMX_AUDIO_PARAM_VORBISTYPE; - - -/** WMA Version */ -typedef enum OMX_AUDIO_WMAFORMATTYPE { - OMX_AUDIO_WMAFormatUnused = 0, /**< format unused or unknown */ - OMX_AUDIO_WMAFormat7, /**< Windows Media Audio format 7 */ - OMX_AUDIO_WMAFormat8, /**< Windows Media Audio format 8 */ - OMX_AUDIO_WMAFormat9, /**< Windows Media Audio format 9 */ - OMX_AUDIO_WMAFormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_AUDIO_WMAFormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_AUDIO_WMAFormatMax = 0x7FFFFFFF -} OMX_AUDIO_WMAFORMATTYPE; - - -/** WMA Profile */ -typedef enum OMX_AUDIO_WMAPROFILETYPE { - OMX_AUDIO_WMAProfileUnused = 0, /**< profile unused or unknown */ - OMX_AUDIO_WMAProfileL1, /**< Windows Media audio version 9 profile L1 */ - OMX_AUDIO_WMAProfileL2, /**< Windows Media audio version 9 profile L2 */ - OMX_AUDIO_WMAProfileL3, /**< Windows Media audio version 9 profile L3 */ - OMX_AUDIO_WMAProfileKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_AUDIO_WMAProfileVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_AUDIO_WMAProfileMax = 0x7FFFFFFF -} OMX_AUDIO_WMAPROFILETYPE; - - -/** WMA params */ -typedef struct OMX_AUDIO_PARAM_WMATYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_U16 nChannels; /**< Number of channels */ - OMX_U32 nBitRate; /**< Bit rate of the input data. Use 0 for variable - rate or unknown bit rates */ - OMX_AUDIO_WMAFORMATTYPE eFormat; /**< Version of WMA stream / data */ - OMX_AUDIO_WMAPROFILETYPE eProfile; /**< Profile of WMA stream / data */ - OMX_U32 nSamplingRate; /**< Sampling rate of the source data */ - OMX_U16 nBlockAlign; /**< is the block alignment, or block size, in bytes of the audio codec */ - OMX_U16 nEncodeOptions; /**< WMA Type-specific data */ - OMX_U32 nSuperBlockAlign; /**< WMA Type-specific data */ -} OMX_AUDIO_PARAM_WMATYPE; - -/** - * RealAudio format - */ -typedef enum OMX_AUDIO_RAFORMATTYPE { - OMX_AUDIO_RAFormatUnused = 0, /**< Format unused or unknown */ - OMX_AUDIO_RA8, /**< RealAudio 8 codec */ - OMX_AUDIO_RA9, /**< RealAudio 9 codec */ - OMX_AUDIO_RA10_AAC, /**< MPEG-4 AAC codec for bitrates of more than 128kbps */ - OMX_AUDIO_RA10_CODEC, /**< RealAudio codec for bitrates less than 128 kbps */ - OMX_AUDIO_RA10_LOSSLESS, /**< RealAudio Lossless */ - OMX_AUDIO_RA10_MULTICHANNEL, /**< RealAudio Multichannel */ - OMX_AUDIO_RA10_VOICE, /**< RealAudio Voice for bitrates below 15 kbps */ - OMX_AUDIO_RAFormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_AUDIO_RAFormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_VIDEO_RAFormatMax = 0x7FFFFFFF -} OMX_AUDIO_RAFORMATTYPE; - -/** RA (Real Audio) params */ -typedef struct OMX_AUDIO_PARAM_RATYPE { - OMX_U32 nSize; /**< Size of this structure, in Bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< Port that this structure applies to */ - OMX_U32 nChannels; /**< Number of channels */ - OMX_U32 nSamplingRate; /**< is the sampling rate of the source data */ - OMX_U32 nBitsPerFrame; /**< is the value for bits per frame */ - OMX_U32 nSamplePerFrame; /**< is the value for samples per frame */ - OMX_U32 nCouplingQuantBits; /**< is the number of coupling quantization bits in the stream */ - OMX_U32 nCouplingStartRegion; /**< is the coupling start region in the stream */ - OMX_U32 nNumRegions; /**< is the number of regions value */ - OMX_AUDIO_RAFORMATTYPE eFormat; /**< is the RealAudio audio format */ -} OMX_AUDIO_PARAM_RATYPE; - - -/** SBC Allocation Method Type */ -typedef enum OMX_AUDIO_SBCALLOCMETHODTYPE { - OMX_AUDIO_SBCAllocMethodLoudness, /**< Loudness allocation method */ - OMX_AUDIO_SBCAllocMethodSNR, /**< SNR allocation method */ - OMX_AUDIO_SBCAllocMethodKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_AUDIO_SBCAllocMethodVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_AUDIO_SBCAllocMethodMax = 0x7FFFFFFF -} OMX_AUDIO_SBCALLOCMETHODTYPE; - - -/** SBC params */ -typedef struct OMX_AUDIO_PARAM_SBCTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_U32 nChannels; /**< Number of channels */ - OMX_U32 nBitRate; /**< Bit rate of the input data. Use 0 for variable - rate or unknown bit rates */ - OMX_U32 nSampleRate; /**< Sampling rate of the source data. Use 0 for - variable or unknown sampling rate. */ - OMX_U32 nBlocks; /**< Number of blocks */ - OMX_U32 nSubbands; /**< Number of subbands */ - OMX_U32 nBitPool; /**< Bitpool value */ - OMX_BOOL bEnableBitrate; /**< Use bitrate value instead of bitpool */ - OMX_AUDIO_CHANNELMODETYPE eChannelMode; /**< Channel mode enumeration */ - OMX_AUDIO_SBCALLOCMETHODTYPE eSBCAllocType; /**< SBC Allocation method type */ -} OMX_AUDIO_PARAM_SBCTYPE; - - -/** ADPCM stream format parameters */ -typedef struct OMX_AUDIO_PARAM_ADPCMTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_U32 nChannels; /**< Number of channels in the data stream (not - necessarily the same as the number of channels - to be rendered. */ - OMX_U32 nBitsPerSample; /**< Number of bits in each sample */ - OMX_U32 nSampleRate; /**< Sampling rate of the source data. Use 0 for - variable or unknown sampling rate. */ -} OMX_AUDIO_PARAM_ADPCMTYPE; - - -/** G723 rate */ -typedef enum OMX_AUDIO_G723RATE { - OMX_AUDIO_G723ModeUnused = 0, /**< AMRNB Mode unused / unknown */ - OMX_AUDIO_G723ModeLow, /**< 5300 bps */ - OMX_AUDIO_G723ModeHigh, /**< 6300 bps */ - OMX_AUDIO_G723ModeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_AUDIO_G723ModeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_AUDIO_G723ModeMax = 0x7FFFFFFF -} OMX_AUDIO_G723RATE; - - -/** G723 - Sample rate must be 8 KHz */ -typedef struct OMX_AUDIO_PARAM_G723TYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_U32 nChannels; /**< Number of channels in the data stream (not - necessarily the same as the number of channels - to be rendered. */ - OMX_BOOL bDTX; /**< Enable Discontinuous Transmisssion */ - OMX_AUDIO_G723RATE eBitRate; /**< todo: Should this be moved to a config? */ - OMX_BOOL bHiPassFilter; /**< Enable High Pass Filter */ - OMX_BOOL bPostFilter; /**< Enable Post Filter */ -} OMX_AUDIO_PARAM_G723TYPE; - - -/** ITU G726 (ADPCM) rate */ -typedef enum OMX_AUDIO_G726MODE { - OMX_AUDIO_G726ModeUnused = 0, /**< G726 Mode unused / unknown */ - OMX_AUDIO_G726Mode16, /**< 16 kbps */ - OMX_AUDIO_G726Mode24, /**< 24 kbps */ - OMX_AUDIO_G726Mode32, /**< 32 kbps, most common rate, also G721 */ - OMX_AUDIO_G726Mode40, /**< 40 kbps */ - OMX_AUDIO_G726ModeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_AUDIO_G726ModeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_AUDIO_G726ModeMax = 0x7FFFFFFF -} OMX_AUDIO_G726MODE; - - -/** G.726 stream format parameters - must be at 8KHz */ -typedef struct OMX_AUDIO_PARAM_G726TYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_U32 nChannels; /**< Number of channels in the data stream (not - necessarily the same as the number of channels - to be rendered. */ - OMX_AUDIO_G726MODE eG726Mode; -} OMX_AUDIO_PARAM_G726TYPE; - - -/** G729 coder type */ -typedef enum OMX_AUDIO_G729TYPE { - OMX_AUDIO_G729 = 0, /**< ITU G.729 encoded data */ - OMX_AUDIO_G729A, /**< ITU G.729 annex A encoded data */ - OMX_AUDIO_G729B, /**< ITU G.729 with annex B encoded data */ - OMX_AUDIO_G729AB, /**< ITU G.729 annexes A and B encoded data */ - OMX_AUDIO_G729KhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_AUDIO_G729VendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_AUDIO_G729Max = 0x7FFFFFFF -} OMX_AUDIO_G729TYPE; - - -/** G729 stream format parameters - fixed 6KHz sample rate */ -typedef struct OMX_AUDIO_PARAM_G729TYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_U32 nChannels; /**< Number of channels in the data stream (not - necessarily the same as the number of channels - to be rendered. */ - OMX_BOOL bDTX; /**< Enable Discontinuous Transmisssion */ - OMX_AUDIO_G729TYPE eBitType; -} OMX_AUDIO_PARAM_G729TYPE; - - -/** AMR Frame format */ -typedef enum OMX_AUDIO_AMRFRAMEFORMATTYPE { - OMX_AUDIO_AMRFrameFormatConformance = 0, /**< Frame Format is AMR Conformance - (Standard) Format */ - OMX_AUDIO_AMRFrameFormatIF1, /**< Frame Format is AMR Interface - Format 1 */ - OMX_AUDIO_AMRFrameFormatIF2, /**< Frame Format is AMR Interface - Format 2*/ - OMX_AUDIO_AMRFrameFormatFSF, /**< Frame Format is AMR File Storage - Format */ - OMX_AUDIO_AMRFrameFormatRTPPayload, /**< Frame Format is AMR Real-Time - Transport Protocol Payload Format */ - OMX_AUDIO_AMRFrameFormatITU, /**< Frame Format is ITU Format (added at Motorola request) */ - OMX_AUDIO_AMRFrameFormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_AUDIO_AMRFrameFormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_AUDIO_AMRFrameFormatMax = 0x7FFFFFFF -} OMX_AUDIO_AMRFRAMEFORMATTYPE; - - -/** AMR band mode */ -typedef enum OMX_AUDIO_AMRBANDMODETYPE { - OMX_AUDIO_AMRBandModeUnused = 0, /**< AMRNB Mode unused / unknown */ - OMX_AUDIO_AMRBandModeNB0, /**< AMRNB Mode 0 = 4750 bps */ - OMX_AUDIO_AMRBandModeNB1, /**< AMRNB Mode 1 = 5150 bps */ - OMX_AUDIO_AMRBandModeNB2, /**< AMRNB Mode 2 = 5900 bps */ - OMX_AUDIO_AMRBandModeNB3, /**< AMRNB Mode 3 = 6700 bps */ - OMX_AUDIO_AMRBandModeNB4, /**< AMRNB Mode 4 = 7400 bps */ - OMX_AUDIO_AMRBandModeNB5, /**< AMRNB Mode 5 = 7950 bps */ - OMX_AUDIO_AMRBandModeNB6, /**< AMRNB Mode 6 = 10200 bps */ - OMX_AUDIO_AMRBandModeNB7, /**< AMRNB Mode 7 = 12200 bps */ - OMX_AUDIO_AMRBandModeWB0, /**< AMRWB Mode 0 = 6600 bps */ - OMX_AUDIO_AMRBandModeWB1, /**< AMRWB Mode 1 = 8850 bps */ - OMX_AUDIO_AMRBandModeWB2, /**< AMRWB Mode 2 = 12650 bps */ - OMX_AUDIO_AMRBandModeWB3, /**< AMRWB Mode 3 = 14250 bps */ - OMX_AUDIO_AMRBandModeWB4, /**< AMRWB Mode 4 = 15850 bps */ - OMX_AUDIO_AMRBandModeWB5, /**< AMRWB Mode 5 = 18250 bps */ - OMX_AUDIO_AMRBandModeWB6, /**< AMRWB Mode 6 = 19850 bps */ - OMX_AUDIO_AMRBandModeWB7, /**< AMRWB Mode 7 = 23050 bps */ - OMX_AUDIO_AMRBandModeWB8, /**< AMRWB Mode 8 = 23850 bps */ - OMX_AUDIO_AMRBandModeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_AUDIO_AMRBandModeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_AUDIO_AMRBandModeMax = 0x7FFFFFFF -} OMX_AUDIO_AMRBANDMODETYPE; - - -/** AMR Discontinuous Transmission mode */ -typedef enum OMX_AUDIO_AMRDTXMODETYPE { - OMX_AUDIO_AMRDTXModeOff = 0, /**< AMR Discontinuous Transmission Mode is disabled */ - OMX_AUDIO_AMRDTXModeOnVAD1, /**< AMR Discontinuous Transmission Mode using - Voice Activity Detector 1 (VAD1) is enabled */ - OMX_AUDIO_AMRDTXModeOnVAD2, /**< AMR Discontinuous Transmission Mode using - Voice Activity Detector 2 (VAD2) is enabled */ - OMX_AUDIO_AMRDTXModeOnAuto, /**< The codec will automatically select between - Off, VAD1 or VAD2 modes */ - - OMX_AUDIO_AMRDTXasEFR, /**< DTX as EFR instead of AMR standard (3GPP 26.101, frame type =8,9,10) */ - - OMX_AUDIO_AMRDTXModeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_AUDIO_AMRDTXModeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_AUDIO_AMRDTXModeMax = 0x7FFFFFFF -} OMX_AUDIO_AMRDTXMODETYPE; - - -/** AMR params */ -typedef struct OMX_AUDIO_PARAM_AMRTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_U32 nChannels; /**< Number of channels */ - OMX_U32 nBitRate; /**< Bit rate read only field */ - OMX_AUDIO_AMRBANDMODETYPE eAMRBandMode; /**< AMR Band Mode enumeration */ - OMX_AUDIO_AMRDTXMODETYPE eAMRDTXMode; /**< AMR DTX Mode enumeration */ - OMX_AUDIO_AMRFRAMEFORMATTYPE eAMRFrameFormat; /**< AMR frame format enumeration */ -} OMX_AUDIO_PARAM_AMRTYPE; - - -/** GSM_FR (ETSI 06.10, 3GPP 46.010) stream format parameters */ -typedef struct OMX_AUDIO_PARAM_GSMFRTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_BOOL bDTX; /**< Enable Discontinuous Transmisssion */ - OMX_BOOL bHiPassFilter; /**< Enable High Pass Filter */ -} OMX_AUDIO_PARAM_GSMFRTYPE; - - -/** GSM-HR (ETSI 06.20, 3GPP 46.020) stream format parameters */ -typedef struct OMX_AUDIO_PARAM_GSMHRTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_BOOL bDTX; /**< Enable Discontinuous Transmisssion */ - OMX_BOOL bHiPassFilter; /**< Enable High Pass Filter */ -} OMX_AUDIO_PARAM_GSMHRTYPE; - - -/** GSM-EFR (ETSI 06.60, 3GPP 46.060) stream format parameters */ -typedef struct OMX_AUDIO_PARAM_GSMEFRTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_BOOL bDTX; /**< Enable Discontinuous Transmisssion */ - OMX_BOOL bHiPassFilter; /**< Enable High Pass Filter */ -} OMX_AUDIO_PARAM_GSMEFRTYPE; - - -/** TDMA FR (TIA/EIA-136-420, VSELP 7.95kbps coder) stream format parameters */ -typedef struct OMX_AUDIO_PARAM_TDMAFRTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_U32 nChannels; /**< Number of channels in the data stream (not - necessarily the same as the number of channels - to be rendered. */ - OMX_BOOL bDTX; /**< Enable Discontinuous Transmisssion */ - OMX_BOOL bHiPassFilter; /**< Enable High Pass Filter */ -} OMX_AUDIO_PARAM_TDMAFRTYPE; - - -/** TDMA EFR (TIA/EIA-136-410, ACELP 7.4kbps coder) stream format parameters */ -typedef struct OMX_AUDIO_PARAM_TDMAEFRTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_U32 nChannels; /**< Number of channels in the data stream (not - necessarily the same as the number of channels - to be rendered. */ - OMX_BOOL bDTX; /**< Enable Discontinuous Transmisssion */ - OMX_BOOL bHiPassFilter; /**< Enable High Pass Filter */ -} OMX_AUDIO_PARAM_TDMAEFRTYPE; - - -/** PDC FR ( RCR-27, VSELP 6.7kbps coder) stream format parameters */ -typedef struct OMX_AUDIO_PARAM_PDCFRTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_U32 nChannels; /**< Number of channels in the data stream (not - necessarily the same as the number of channels - to be rendered. */ - OMX_BOOL bDTX; /**< Enable Discontinuous Transmisssion */ - OMX_BOOL bHiPassFilter; /**< Enable High Pass Filter */ -} OMX_AUDIO_PARAM_PDCFRTYPE; - - -/** PDC EFR ( RCR-27, ACELP 6.7kbps coder) stream format parameters */ -typedef struct OMX_AUDIO_PARAM_PDCEFRTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_U32 nChannels; /**< Number of channels in the data stream (not - necessarily the same as the number of channels - to be rendered. */ - OMX_BOOL bDTX; /**< Enable Discontinuous Transmisssion */ - OMX_BOOL bHiPassFilter; /**< Enable High Pass Filter */ -} OMX_AUDIO_PARAM_PDCEFRTYPE; - -/** PDC HR ( RCR-27, PSI-CELP 3.45kbps coder) stream format parameters */ -typedef struct OMX_AUDIO_PARAM_PDCHRTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_U32 nChannels; /**< Number of channels in the data stream (not - necessarily the same as the number of channels - to be rendered. */ - OMX_BOOL bDTX; /**< Enable Discontinuous Transmisssion */ - OMX_BOOL bHiPassFilter; /**< Enable High Pass Filter */ -} OMX_AUDIO_PARAM_PDCHRTYPE; - - -/** CDMA Rate types */ -typedef enum OMX_AUDIO_CDMARATETYPE { - OMX_AUDIO_CDMARateBlank = 0, /**< CDMA encoded frame is blank */ - OMX_AUDIO_CDMARateFull, /**< CDMA encoded frame in full rate */ - OMX_AUDIO_CDMARateHalf, /**< CDMA encoded frame in half rate */ - OMX_AUDIO_CDMARateQuarter, /**< CDMA encoded frame in quarter rate */ - OMX_AUDIO_CDMARateEighth, /**< CDMA encoded frame in eighth rate (DTX)*/ - OMX_AUDIO_CDMARateErasure, /**< CDMA erasure frame */ - OMX_AUDIO_CDMARateKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_AUDIO_CDMARateVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_AUDIO_CDMARateMax = 0x7FFFFFFF -} OMX_AUDIO_CDMARATETYPE; - - -/** QCELP8 (TIA/EIA-96, up to 8kbps coder) stream format parameters */ -typedef struct OMX_AUDIO_PARAM_QCELP8TYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_U32 nChannels; /**< Number of channels in the data stream (not - necessarily the same as the number of channels - to be rendered. */ - OMX_U32 nBitRate; /**< Bit rate of the input data. Use 0 for variable - rate or unknown bit rates */ - OMX_AUDIO_CDMARATETYPE eCDMARate; /**< Frame rate */ - OMX_U32 nMinBitRate; /**< minmal rate for the encoder = 1,2,3,4, default = 1 */ - OMX_U32 nMaxBitRate; /**< maximal rate for the encoder = 1,2,3,4, default = 4 */ -} OMX_AUDIO_PARAM_QCELP8TYPE; - - -/** QCELP13 ( CDMA, EIA/TIA-733, 13.3kbps coder) stream format parameters */ -typedef struct OMX_AUDIO_PARAM_QCELP13TYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_U32 nChannels; /**< Number of channels in the data stream (not - necessarily the same as the number of channels - to be rendered. */ - OMX_AUDIO_CDMARATETYPE eCDMARate; /**< Frame rate */ - OMX_U32 nMinBitRate; /**< minmal rate for the encoder = 1,2,3,4, default = 1 */ - OMX_U32 nMaxBitRate; /**< maximal rate for the encoder = 1,2,3,4, default = 4 */ -} OMX_AUDIO_PARAM_QCELP13TYPE; - - -/** EVRC ( CDMA, EIA/TIA-127, RCELP up to 8.55kbps coder) stream format parameters */ -typedef struct OMX_AUDIO_PARAM_EVRCTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_U32 nChannels; /**< Number of channels in the data stream (not - necessarily the same as the number of channels - to be rendered. */ - OMX_AUDIO_CDMARATETYPE eCDMARate; /**< actual Frame rate */ - OMX_BOOL bRATE_REDUCon; /**< RATE_REDUCtion is requested for this frame */ - OMX_U32 nMinBitRate; /**< minmal rate for the encoder = 1,2,3,4, default = 1 */ - OMX_U32 nMaxBitRate; /**< maximal rate for the encoder = 1,2,3,4, default = 4 */ - OMX_BOOL bHiPassFilter; /**< Enable encoder's High Pass Filter */ - OMX_BOOL bNoiseSuppressor; /**< Enable encoder's noise suppressor pre-processing */ - OMX_BOOL bPostFilter; /**< Enable decoder's post Filter */ -} OMX_AUDIO_PARAM_EVRCTYPE; - - -/** SMV ( up to 8.55kbps coder) stream format parameters */ -typedef struct OMX_AUDIO_PARAM_SMVTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_U32 nChannels; /**< Number of channels in the data stream (not - necessarily the same as the number of channels - to be rendered. */ - OMX_AUDIO_CDMARATETYPE eCDMARate; /**< Frame rate */ - OMX_BOOL bRATE_REDUCon; /**< RATE_REDUCtion is requested for this frame */ - OMX_U32 nMinBitRate; /**< minmal rate for the encoder = 1,2,3,4, default = 1 ??*/ - OMX_U32 nMaxBitRate; /**< maximal rate for the encoder = 1,2,3,4, default = 4 ??*/ - OMX_BOOL bHiPassFilter; /**< Enable encoder's High Pass Filter ??*/ - OMX_BOOL bNoiseSuppressor; /**< Enable encoder's noise suppressor pre-processing */ - OMX_BOOL bPostFilter; /**< Enable decoder's post Filter ??*/ -} OMX_AUDIO_PARAM_SMVTYPE; - - -/** MIDI Format - * @ingroup midi - */ -typedef enum OMX_AUDIO_MIDIFORMATTYPE -{ - OMX_AUDIO_MIDIFormatUnknown = 0, /**< MIDI Format unknown or don't care */ - OMX_AUDIO_MIDIFormatSMF0, /**< Standard MIDI File Type 0 */ - OMX_AUDIO_MIDIFormatSMF1, /**< Standard MIDI File Type 1 */ - OMX_AUDIO_MIDIFormatSMF2, /**< Standard MIDI File Type 2 */ - OMX_AUDIO_MIDIFormatSPMIDI, /**< SP-MIDI */ - OMX_AUDIO_MIDIFormatXMF0, /**< eXtensible Music Format type 0 */ - OMX_AUDIO_MIDIFormatXMF1, /**< eXtensible Music Format type 1 */ - OMX_AUDIO_MIDIFormatMobileXMF, /**< Mobile XMF (eXtensible Music Format type 2) */ - OMX_AUDIO_MIDIFormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_AUDIO_MIDIFormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_AUDIO_MIDIFormatMax = 0x7FFFFFFF -} OMX_AUDIO_MIDIFORMATTYPE; - - -/** MIDI params - * @ingroup midi - */ -typedef struct OMX_AUDIO_PARAM_MIDITYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_U32 nFileSize; /**< size of the MIDI file in bytes, where the entire - MIDI file passed in, otherwise if 0x0, the MIDI data - is merged and streamed (instead of passed as an - entire MIDI file) */ - OMX_BU32 sMaxPolyphony; /**< Specifies the maximum simultaneous polyphonic - voices. A value of zero indicates that the default - polyphony of the device is used */ - OMX_BOOL bLoadDefaultSound; /**< Whether to load default sound - bank at initialization */ - OMX_AUDIO_MIDIFORMATTYPE eMidiFormat; /**< Version of the MIDI file */ -} OMX_AUDIO_PARAM_MIDITYPE; - - -/** Type of the MIDI sound bank - * @ingroup midi - */ -typedef enum OMX_AUDIO_MIDISOUNDBANKTYPE { - OMX_AUDIO_MIDISoundBankUnused = 0, /**< unused/unknown soundbank type */ - OMX_AUDIO_MIDISoundBankDLS1, /**< DLS version 1 */ - OMX_AUDIO_MIDISoundBankDLS2, /**< DLS version 2 */ - OMX_AUDIO_MIDISoundBankMobileDLSBase, /**< Mobile DLS, using the base functionality */ - OMX_AUDIO_MIDISoundBankMobileDLSPlusOptions, /**< Mobile DLS, using the specification-defined optional feature set */ - OMX_AUDIO_MIDISoundBankKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_AUDIO_MIDISoundBankVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_AUDIO_MIDISoundBankMax = 0x7FFFFFFF -} OMX_AUDIO_MIDISOUNDBANKTYPE; - - -/** Bank Layout describes how bank MSB & LSB are used in the DLS instrument definitions sound bank - * @ingroup midi - */ -typedef enum OMX_AUDIO_MIDISOUNDBANKLAYOUTTYPE { - OMX_AUDIO_MIDISoundBankLayoutUnused = 0, /**< unused/unknown soundbank type */ - OMX_AUDIO_MIDISoundBankLayoutGM, /**< GS layout (based on bank MSB 0x00) */ - OMX_AUDIO_MIDISoundBankLayoutGM2, /**< General MIDI 2 layout (using MSB 0x78/0x79, LSB 0x00) */ - OMX_AUDIO_MIDISoundBankLayoutUser, /**< Does not conform to any bank numbering standards */ - OMX_AUDIO_MIDISoundBankLayoutKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_AUDIO_MIDISoundBankLayoutVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_AUDIO_MIDISoundBankLayoutMax = 0x7FFFFFFF -} OMX_AUDIO_MIDISOUNDBANKLAYOUTTYPE; - - -/** MIDI params to load/unload user soundbank - * @ingroup midi - */ -typedef struct OMX_AUDIO_PARAM_MIDILOADUSERSOUNDTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_U32 nDLSIndex; /**< DLS file index to be loaded */ - OMX_U32 nDLSSize; /**< Size in bytes */ - OMX_PTR pDLSData; /**< Pointer to DLS file data */ - OMX_AUDIO_MIDISOUNDBANKTYPE eMidiSoundBank; /**< Midi sound bank type enumeration */ - OMX_AUDIO_MIDISOUNDBANKLAYOUTTYPE eMidiSoundBankLayout; /**< Midi sound bank layout enumeration */ -} OMX_AUDIO_PARAM_MIDILOADUSERSOUNDTYPE; - - -/** Structure for Live MIDI events and MIP messages. - * (MIP = Maximum Instantaneous Polyphony; part of the SP-MIDI standard.) - * @ingroup midi - */ -typedef struct OMX_AUDIO_CONFIG_MIDIIMMEDIATEEVENTTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< Port that this structure applies to */ - OMX_U32 nMidiEventSize; /**< Size of immediate MIDI events or MIP message in bytes */ - OMX_U8 nMidiEvents[1]; /**< MIDI event array to be rendered immediately, or an - array for the MIP message buffer, where the size is - indicated by nMidiEventSize */ -} OMX_AUDIO_CONFIG_MIDIIMMEDIATEEVENTTYPE; - - -/** MIDI sound bank/ program pair in a given channel - * @ingroup midi - */ -typedef struct OMX_AUDIO_CONFIG_MIDISOUNDBANKPROGRAMTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< Port that this structure applies to */ - OMX_U32 nChannel; /**< Valid channel values range from 1 to 16 */ - OMX_U16 nIDProgram; /**< Valid program ID range is 1 to 128 */ - OMX_U16 nIDSoundBank; /**< Sound bank ID */ - OMX_U32 nUserSoundBankIndex;/**< User soundbank index, easier to access soundbanks - by index if multiple banks are present */ -} OMX_AUDIO_CONFIG_MIDISOUNDBANKPROGRAMTYPE; - - -/** MIDI control - * @ingroup midi - */ -typedef struct OMX_AUDIO_CONFIG_MIDICONTROLTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_BS32 sPitchTransposition; /**< Pitch transposition in semitones, stored as Q22.10 - format based on JAVA MMAPI (JSR-135) requirement */ - OMX_BU32 sPlayBackRate; /**< Relative playback rate, stored as Q14.17 fixed-point - number based on JSR-135 requirement */ - OMX_BU32 sTempo ; /**< Tempo in beats per minute (BPM), stored as Q22.10 - fixed-point number based on JSR-135 requirement */ - OMX_U32 nMaxPolyphony; /**< Specifies the maximum simultaneous polyphonic - voices. A value of zero indicates that the default - polyphony of the device is used */ - OMX_U32 nNumRepeat; /**< Number of times to repeat playback */ - OMX_U32 nStopTime; /**< Time in milliseconds to indicate when playback - will stop automatically. Set to zero if not used */ - OMX_U16 nChannelMuteMask; /**< 16 bit mask for channel mute status */ - OMX_U16 nChannelSoloMask; /**< 16 bit mask for channel solo status */ - OMX_U32 nTrack0031MuteMask; /**< 32 bit mask for track mute status. Note: This is for tracks 0-31 */ - OMX_U32 nTrack3263MuteMask; /**< 32 bit mask for track mute status. Note: This is for tracks 32-63 */ - OMX_U32 nTrack0031SoloMask; /**< 32 bit mask for track solo status. Note: This is for tracks 0-31 */ - OMX_U32 nTrack3263SoloMask; /**< 32 bit mask for track solo status. Note: This is for tracks 32-63 */ - -} OMX_AUDIO_CONFIG_MIDICONTROLTYPE; - - -/** MIDI Playback States - * @ingroup midi - */ -typedef enum OMX_AUDIO_MIDIPLAYBACKSTATETYPE { - OMX_AUDIO_MIDIPlayBackStateUnknown = 0, /**< Unknown state or state does not map to - other defined states */ - OMX_AUDIO_MIDIPlayBackStateClosedEngaged, /**< No MIDI resource is currently open. - The MIDI engine is currently processing - MIDI events. */ - OMX_AUDIO_MIDIPlayBackStateParsing, /**< A MIDI resource is open and is being - primed. The MIDI engine is currently - processing MIDI events. */ - OMX_AUDIO_MIDIPlayBackStateOpenEngaged, /**< A MIDI resource is open and primed but - not playing. The MIDI engine is currently - processing MIDI events. The transition to - this state is only possible from the - OMX_AUDIO_MIDIPlayBackStatePlaying state, - when the 'playback head' reaches the end - of media data or the playback stops due - to stop time set.*/ - OMX_AUDIO_MIDIPlayBackStatePlaying, /**< A MIDI resource is open and currently - playing. The MIDI engine is currently - processing MIDI events.*/ - OMX_AUDIO_MIDIPlayBackStatePlayingPartially, /**< Best-effort playback due to SP-MIDI/DLS - resource constraints */ - OMX_AUDIO_MIDIPlayBackStatePlayingSilently, /**< Due to system resource constraints and - SP-MIDI content constraints, there is - no audible MIDI content during playback - currently. The situation may change if - resources are freed later.*/ - OMX_AUDIO_MIDIPlayBackStateKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_AUDIO_MIDIPlayBackStateVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_AUDIO_MIDIPlayBackStateMax = 0x7FFFFFFF -} OMX_AUDIO_MIDIPLAYBACKSTATETYPE; - - -/** MIDI status - * @ingroup midi - */ -typedef struct OMX_AUDIO_CONFIG_MIDISTATUSTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_U16 nNumTracks; /**< Number of MIDI tracks in the file, read only field. - NOTE: May not return a meaningful value until the entire - file is parsed and buffered. */ - OMX_U32 nDuration; /**< The length of the currently open MIDI resource - in milliseconds. NOTE: May not return a meaningful value - until the entire file is parsed and buffered. */ - OMX_U32 nPosition; /**< Current Position of the MIDI resource being played - in milliseconds */ - OMX_BOOL bVibra; /**< Does Vibra track exist? NOTE: May not return a meaningful - value until the entire file is parsed and buffered. */ - OMX_U32 nNumMetaEvents; /**< Total number of MIDI Meta Events in the currently - open MIDI resource. NOTE: May not return a meaningful value - until the entire file is parsed and buffered. */ - OMX_U32 nNumActiveVoices; /**< Number of active voices in the currently playing - MIDI resource. NOTE: May not return a meaningful value until - the entire file is parsed and buffered. */ - OMX_AUDIO_MIDIPLAYBACKSTATETYPE eMIDIPlayBackState; /**< MIDI playback state enumeration, read only field */ -} OMX_AUDIO_CONFIG_MIDISTATUSTYPE; - - -/** MIDI Meta Event structure one per Meta Event. - * MIDI Meta Events are like audio metadata, except that they are interspersed - * with the MIDI content throughout the file and are not localized in the header. - * As such, it is necessary to retrieve information about these Meta Events from - * the engine, as it encounters these Meta Events within the MIDI content. - * For example, SMF files can have up to 14 types of MIDI Meta Events (copyright, - * author, default tempo, etc.) scattered throughout the file. - * @ingroup midi - */ -typedef struct OMX_AUDIO_CONFIG_MIDIMETAEVENTTYPE{ - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_U32 nIndex; /**< Index of Meta Event */ - OMX_U8 nMetaEventType; /**< Meta Event Type, 7bits (i.e. 0 - 127) */ - OMX_U32 nMetaEventSize; /**< size of the Meta Event in bytes */ - OMX_U32 nTrack; /**< track number for the meta event */ - OMX_U32 nPosition; /**< Position of the meta-event in milliseconds */ -} OMX_AUDIO_CONFIG_MIDIMETAEVENTTYPE; - - -/** MIDI Meta Event Data structure - one per Meta Event. - * @ingroup midi - */ -typedef struct OMX_AUDIO_CONFIG_MIDIMETAEVENTDATATYPE{ - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_U32 nIndex; /**< Index of Meta Event */ - OMX_U32 nMetaEventSize; /**< size of the Meta Event in bytes */ - OMX_U8 nData[1]; /**< array of one or more bytes of meta data - as indicated by the nMetaEventSize field */ -} OMX_AUDIO_CONFIG__MIDIMETAEVENTDATATYPE; - - -/** Audio Volume adjustment for a port */ -typedef struct OMX_AUDIO_CONFIG_VOLUMETYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< Port index indicating which port to - set. Select the input port to set - just that port's volume. Select the - output port to adjust the master - volume. */ - OMX_BOOL bLinear; /**< Is the volume to be set in linear (0.100) - or logarithmic scale (mB) */ - OMX_BS32 sVolume; /**< Volume linear setting in the 0..100 range, OR - Volume logarithmic setting for this port. The values - for volume are in mB (millibels = 1/100 dB) relative - to a gain of 1 (e.g. the output is the same as the - input level). Values are in mB from nMax - (maximum volume) to nMin mB (typically negative). - Since the volume is "voltage" - and not a "power", it takes a setting of - -600 mB to decrease the volume by 1/2. If - a component cannot accurately set the - volume to the requested value, it must - set the volume to the closest value BELOW - the requested value. When getting the - volume setting, the current actual volume - must be returned. */ -} OMX_AUDIO_CONFIG_VOLUMETYPE; - - -/** Audio Volume adjustment for a channel */ -typedef struct OMX_AUDIO_CONFIG_CHANNELVOLUMETYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< Port index indicating which port to - set. Select the input port to set - just that port's volume. Select the - output port to adjust the master - volume. */ - OMX_U32 nChannel; /**< channel to select from 0 to N-1, - using OMX_ALL to apply volume settings - to all channels */ - OMX_BOOL bLinear; /**< Is the volume to be set in linear (0.100) or - logarithmic scale (mB) */ - OMX_BS32 sVolume; /**< Volume linear setting in the 0..100 range, OR - Volume logarithmic setting for this port. - The values for volume are in mB - (millibels = 1/100 dB) relative to a gain - of 1 (e.g. the output is the same as the - input level). Values are in mB from nMax - (maximum volume) to nMin mB (typically negative). - Since the volume is "voltage" - and not a "power", it takes a setting of - -600 mB to decrease the volume by 1/2. If - a component cannot accurately set the - volume to the requested value, it must - set the volume to the closest value BELOW - the requested value. When getting the - volume setting, the current actual volume - must be returned. */ - OMX_BOOL bIsMIDI; /**< TRUE if nChannel refers to a MIDI channel, - FALSE otherwise */ -} OMX_AUDIO_CONFIG_CHANNELVOLUMETYPE; - - -/** Audio balance setting */ -typedef struct OMX_AUDIO_CONFIG_BALANCETYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< Port index indicating which port to - set. Select the input port to set - just that port's balance. Select the - output port to adjust the master - balance. */ - OMX_S32 nBalance; /**< balance setting for this port - (-100 to 100, where -100 indicates - all left, and no right */ -} OMX_AUDIO_CONFIG_BALANCETYPE; - - -/** Audio Port mute */ -typedef struct OMX_AUDIO_CONFIG_MUTETYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< Port index indicating which port to - set. Select the input port to set - just that port's mute. Select the - output port to adjust the master - mute. */ - OMX_BOOL bMute; /**< Mute setting for this port */ -} OMX_AUDIO_CONFIG_MUTETYPE; - - -/** Audio Channel mute */ -typedef struct OMX_AUDIO_CONFIG_CHANNELMUTETYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_U32 nChannel; /**< channel to select from 0 to N-1, - using OMX_ALL to apply mute settings - to all channels */ - OMX_BOOL bMute; /**< Mute setting for this channel */ - OMX_BOOL bIsMIDI; /**< TRUE if nChannel refers to a MIDI channel, - FALSE otherwise */ -} OMX_AUDIO_CONFIG_CHANNELMUTETYPE; - - - -/** Enable / Disable for loudness control, which boosts bass and to a - * smaller extent high end frequencies to compensate for hearing - * ability at the extreme ends of the audio spectrum - */ -typedef struct OMX_AUDIO_CONFIG_LOUDNESSTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_BOOL bLoudness; /**< Enable/disable for loudness */ -} OMX_AUDIO_CONFIG_LOUDNESSTYPE; - - -/** Enable / Disable for bass, which controls low frequencies - */ -typedef struct OMX_AUDIO_CONFIG_BASSTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_BOOL bEnable; /**< Enable/disable for bass control */ - OMX_S32 nBass; /**< bass setting for the port, as a - continuous value from -100 to 100 - (0 means no change in bass level)*/ -} OMX_AUDIO_CONFIG_BASSTYPE; - - -/** Enable / Disable for treble, which controls high frequencies tones - */ -typedef struct OMX_AUDIO_CONFIG_TREBLETYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_BOOL bEnable; /**< Enable/disable for treble control */ - OMX_S32 nTreble; /**< treble setting for the port, as a - continuous value from -100 to 100 - (0 means no change in treble level) */ -} OMX_AUDIO_CONFIG_TREBLETYPE; - - -/** An equalizer is typically used for two reasons: to compensate for an - * sub-optimal frequency response of a system to make it sound more natural - * or to create intentionally some unnatural coloring to the sound to create - * an effect. - * @ingroup effects - */ -typedef struct OMX_AUDIO_CONFIG_EQUALIZERTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_BOOL bEnable; /**< Enable/disable for equalizer */ - OMX_BU32 sBandIndex; /**< Band number to be set. Upper Limit is - N-1, where N is the number of bands, lower limit is 0 */ - OMX_BU32 sCenterFreq; /**< Center frequecies in Hz. This is a - read only element and is used to determine - the lower, center and upper frequency of - this band. */ - OMX_BS32 sBandLevel; /**< band level in millibels */ -} OMX_AUDIO_CONFIG_EQUALIZERTYPE; - - -/** Stereo widening mode type - * @ingroup effects - */ -typedef enum OMX_AUDIO_STEREOWIDENINGTYPE { - OMX_AUDIO_StereoWideningHeadphones, /**< Stereo widening for loudspeakers */ - OMX_AUDIO_StereoWideningLoudspeakers, /**< Stereo widening for closely spaced loudspeakers */ - OMX_AUDIO_StereoWideningKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_AUDIO_StereoWideningVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_AUDIO_StereoWideningMax = 0x7FFFFFFF -} OMX_AUDIO_STEREOWIDENINGTYPE; - - -/** Control for stereo widening, which is a special 2-channel - * case of the audio virtualizer effect. For example, for 5.1-channel - * output, it translates to virtual surround sound. - * @ingroup effects - */ -typedef struct OMX_AUDIO_CONFIG_STEREOWIDENINGTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_BOOL bEnable; /**< Enable/disable for stereo widening control */ - OMX_AUDIO_STEREOWIDENINGTYPE eWideningType; /**< Stereo widening algorithm type */ - OMX_U32 nStereoWidening; /**< stereo widening setting for the port, - as a continuous value from 0 to 100 */ -} OMX_AUDIO_CONFIG_STEREOWIDENINGTYPE; - - -/** The chorus effect (or ``choralizer'') is any signal processor which makes - * one sound source (such as a voice) sound like many such sources singing - * (or playing) in unison. Since performance in unison is never exact, chorus - * effects simulate this by making independently modified copies of the input - * signal. Modifications may include (1) delay, (2) frequency shift, and - * (3) amplitude modulation. - * @ingroup effects - */ -typedef struct OMX_AUDIO_CONFIG_CHORUSTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_BOOL bEnable; /**< Enable/disable for chorus */ - OMX_BU32 sDelay; /**< average delay in milliseconds */ - OMX_BU32 sModulationRate; /**< rate of modulation in millihertz */ - OMX_U32 nModulationDepth; /**< depth of modulation as a percentage of - delay (i.e. 0 to 100) */ - OMX_BU32 nFeedback; /**< Feedback from chorus output to input in percentage */ -} OMX_AUDIO_CONFIG_CHORUSTYPE; - - -/** Reverberation is part of the reflected sound that follows the early - * reflections. In a typical room, this consists of a dense succession of - * echoes whose energy decays exponentially. The reverberation effect structure - * as defined here includes both (early) reflections as well as (late) reverberations. - * @ingroup effects - */ -typedef struct OMX_AUDIO_CONFIG_REVERBERATIONTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_BOOL bEnable; /**< Enable/disable for reverberation control */ - OMX_BS32 sRoomLevel; /**< Intensity level for the whole room effect - (i.e. both early reflections and late - reverberation) in millibels */ - OMX_BS32 sRoomHighFreqLevel; /**< Attenuation at high frequencies - relative to the intensity at low - frequencies in millibels */ - OMX_BS32 sReflectionsLevel; /**< Intensity level of early reflections - (relative to room value), in millibels */ - OMX_BU32 sReflectionsDelay; /**< Delay time of the first reflection relative - to the direct path, in milliseconds */ - OMX_BS32 sReverbLevel; /**< Intensity level of late reverberation - relative to room level, in millibels */ - OMX_BU32 sReverbDelay; /**< Time delay from the first early reflection - to the beginning of the late reverberation - section, in milliseconds */ - OMX_BU32 sDecayTime; /**< Late reverberation decay time at low - frequencies, in milliseconds */ - OMX_BU32 nDecayHighFreqRatio; /**< Ratio of high frequency decay time relative - to low frequency decay time in percent */ - OMX_U32 nDensity; /**< Modal density in the late reverberation decay, - in percent (i.e. 0 - 100) */ - OMX_U32 nDiffusion; /**< Echo density in the late reverberation decay, - in percent (i.e. 0 - 100) */ - OMX_BU32 sReferenceHighFreq; /**< Reference high frequency in Hertz. This is - the frequency used as the reference for all - the high-frequency settings above */ - -} OMX_AUDIO_CONFIG_REVERBERATIONTYPE; - - -/** Possible settings for the Echo Cancelation structure to use - * @ingroup effects - */ -typedef enum OMX_AUDIO_ECHOCANTYPE { - OMX_AUDIO_EchoCanOff = 0, /**< Echo Cancellation is disabled */ - OMX_AUDIO_EchoCanNormal, /**< Echo Cancellation normal operation - - echo from plastics and face */ - OMX_AUDIO_EchoCanHFree, /**< Echo Cancellation optimized for - Hands Free operation */ - OMX_AUDIO_EchoCanCarKit, /**< Echo Cancellation optimized for - Car Kit (longer echo) */ - OMX_AUDIO_EchoCanKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_AUDIO_EchoCanVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_AUDIO_EchoCanMax = 0x7FFFFFFF -} OMX_AUDIO_ECHOCANTYPE; - - -/** Enable / Disable for echo cancelation, which removes undesired echo's - * from the audio - * @ingroup effects - */ -typedef struct OMX_AUDIO_CONFIG_ECHOCANCELATIONTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_AUDIO_ECHOCANTYPE eEchoCancelation; /**< Echo cancelation settings */ -} OMX_AUDIO_CONFIG_ECHOCANCELATIONTYPE; - - -/** Enable / Disable for noise reduction, which undesired noise from - * the audio - * @ingroup effects - */ -typedef struct OMX_AUDIO_CONFIG_NOISEREDUCTIONTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_BOOL bNoiseReduction; /**< Enable/disable for noise reduction */ -} OMX_AUDIO_CONFIG_NOISEREDUCTIONTYPE; - -/** @} */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif -/* File EOF */ - diff --git a/third_party/openmax/il/OMX_Component.h b/third_party/openmax/il/OMX_Component.h deleted file mode 100644 index d5956405e2..0000000000 --- a/third_party/openmax/il/OMX_Component.h +++ /dev/null @@ -1,579 +0,0 @@ -/* - * Copyright (c) 2008 The Khronos Group Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject - * to the following conditions: - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - */ - -/** OMX_Component.h - OpenMax IL version 1.1.2 - * The OMX_Component header file contains the definitions used to define - * the public interface of a component. This header file is intended to - * be used by both the application and the component. - */ - -#ifndef OMX_Component_h -#define OMX_Component_h - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - - - -/* Each OMX header must include all required header files to allow the - * header to compile without errors. The includes below are required - * for this header file to compile successfully - */ - -#include <OMX_Audio.h> -#include <OMX_Video.h> -#include <OMX_Image.h> -#include <OMX_Other.h> - -/** @ingroup comp */ -typedef enum OMX_PORTDOMAINTYPE { - OMX_PortDomainAudio, - OMX_PortDomainVideo, - OMX_PortDomainImage, - OMX_PortDomainOther, - OMX_PortDomainKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_PortDomainVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_PortDomainMax = 0x7ffffff -} OMX_PORTDOMAINTYPE; - -/** @ingroup comp */ -typedef struct OMX_PARAM_PORTDEFINITIONTYPE { - OMX_U32 nSize; /**< Size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< Port number the structure applies to */ - OMX_DIRTYPE eDir; /**< Direction (input or output) of this port */ - OMX_U32 nBufferCountActual; /**< The actual number of buffers allocated on this port */ - OMX_U32 nBufferCountMin; /**< The minimum number of buffers this port requires */ - OMX_U32 nBufferSize; /**< Size, in bytes, for buffers to be used for this channel */ - OMX_BOOL bEnabled; /**< Ports default to enabled and are enabled/disabled by - OMX_CommandPortEnable/OMX_CommandPortDisable. - When disabled a port is unpopulated. A disabled port - is not populated with buffers on a transition to IDLE. */ - OMX_BOOL bPopulated; /**< Port is populated with all of its buffers as indicated by - nBufferCountActual. A disabled port is always unpopulated. - An enabled port is populated on a transition to OMX_StateIdle - and unpopulated on a transition to loaded. */ - OMX_PORTDOMAINTYPE eDomain; /**< Domain of the port. Determines the contents of metadata below. */ - union { - OMX_AUDIO_PORTDEFINITIONTYPE audio; - OMX_VIDEO_PORTDEFINITIONTYPE video; - OMX_IMAGE_PORTDEFINITIONTYPE image; - OMX_OTHER_PORTDEFINITIONTYPE other; - } format; - OMX_BOOL bBuffersContiguous; - OMX_U32 nBufferAlignment; -} OMX_PARAM_PORTDEFINITIONTYPE; - -/** @ingroup comp */ -typedef struct OMX_PARAM_U32TYPE { - OMX_U32 nSize; /**< Size of this structure, in Bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_U32 nU32; /**< U32 value */ -} OMX_PARAM_U32TYPE; - -/** @ingroup rpm */ -typedef enum OMX_SUSPENSIONPOLICYTYPE { - OMX_SuspensionDisabled, /**< No suspension; v1.0 behavior */ - OMX_SuspensionEnabled, /**< Suspension allowed */ - OMX_SuspensionPolicyKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_SuspensionPolicyStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_SuspensionPolicyMax = 0x7fffffff -} OMX_SUSPENSIONPOLICYTYPE; - -/** @ingroup rpm */ -typedef struct OMX_PARAM_SUSPENSIONPOLICYTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_SUSPENSIONPOLICYTYPE ePolicy; -} OMX_PARAM_SUSPENSIONPOLICYTYPE; - -/** @ingroup rpm */ -typedef enum OMX_SUSPENSIONTYPE { - OMX_NotSuspended, /**< component is not suspended */ - OMX_Suspended, /**< component is suspended */ - OMX_SuspensionKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_SuspensionVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_SuspendMax = 0x7FFFFFFF -} OMX_SUSPENSIONTYPE; - -/** @ingroup rpm */ -typedef struct OMX_PARAM_SUSPENSIONTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_SUSPENSIONTYPE eType; -} OMX_PARAM_SUSPENSIONTYPE ; - -typedef struct OMX_CONFIG_BOOLEANTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_BOOL bEnabled; -} OMX_CONFIG_BOOLEANTYPE; - -/* Parameter specifying the content uri to use. */ -/** @ingroup cp */ -typedef struct OMX_PARAM_CONTENTURITYPE -{ - OMX_U32 nSize; /**< size of the structure in bytes, including - actual URI name */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U8 contentURI[1]; /**< The URI name */ -} OMX_PARAM_CONTENTURITYPE; - -/* Parameter specifying the pipe to use. */ -/** @ingroup cp */ -typedef struct OMX_PARAM_CONTENTPIPETYPE -{ - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_HANDLETYPE hPipe; /**< The pipe handle*/ -} OMX_PARAM_CONTENTPIPETYPE; - -/** @ingroup rpm */ -typedef struct OMX_RESOURCECONCEALMENTTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_BOOL bResourceConcealmentForbidden; /**< disallow the use of resource concealment - methods (like degrading algorithm quality to - lower resource consumption or functional bypass) - on a component as a resolution to resource conflicts. */ -} OMX_RESOURCECONCEALMENTTYPE; - - -/** @ingroup metadata */ -typedef enum OMX_METADATACHARSETTYPE { - OMX_MetadataCharsetUnknown = 0, - OMX_MetadataCharsetASCII, - OMX_MetadataCharsetBinary, - OMX_MetadataCharsetCodePage1252, - OMX_MetadataCharsetUTF8, - OMX_MetadataCharsetJavaConformantUTF8, - OMX_MetadataCharsetUTF7, - OMX_MetadataCharsetImapUTF7, - OMX_MetadataCharsetUTF16LE, - OMX_MetadataCharsetUTF16BE, - OMX_MetadataCharsetGB12345, - OMX_MetadataCharsetHZGB2312, - OMX_MetadataCharsetGB2312, - OMX_MetadataCharsetGB18030, - OMX_MetadataCharsetGBK, - OMX_MetadataCharsetBig5, - OMX_MetadataCharsetISO88591, - OMX_MetadataCharsetISO88592, - OMX_MetadataCharsetISO88593, - OMX_MetadataCharsetISO88594, - OMX_MetadataCharsetISO88595, - OMX_MetadataCharsetISO88596, - OMX_MetadataCharsetISO88597, - OMX_MetadataCharsetISO88598, - OMX_MetadataCharsetISO88599, - OMX_MetadataCharsetISO885910, - OMX_MetadataCharsetISO885913, - OMX_MetadataCharsetISO885914, - OMX_MetadataCharsetISO885915, - OMX_MetadataCharsetShiftJIS, - OMX_MetadataCharsetISO2022JP, - OMX_MetadataCharsetISO2022JP1, - OMX_MetadataCharsetISOEUCJP, - OMX_MetadataCharsetSMS7Bit, - OMX_MetadataCharsetKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_MetadataCharsetVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_MetadataCharsetTypeMax= 0x7FFFFFFF -} OMX_METADATACHARSETTYPE; - -/** @ingroup metadata */ -typedef enum OMX_METADATASCOPETYPE -{ - OMX_MetadataScopeAllLevels, - OMX_MetadataScopeTopLevel, - OMX_MetadataScopePortLevel, - OMX_MetadataScopeNodeLevel, - OMX_MetadataScopeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_MetadataScopeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_MetadataScopeTypeMax = 0x7fffffff -} OMX_METADATASCOPETYPE; - -/** @ingroup metadata */ -typedef enum OMX_METADATASEARCHMODETYPE -{ - OMX_MetadataSearchValueSizeByIndex, - OMX_MetadataSearchItemByIndex, - OMX_MetadataSearchNextItemByKey, - OMX_MetadataSearchKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_MetadataSearchVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_MetadataSearchTypeMax = 0x7fffffff -} OMX_METADATASEARCHMODETYPE; -/** @ingroup metadata */ -typedef struct OMX_CONFIG_METADATAITEMCOUNTTYPE -{ - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_METADATASCOPETYPE eScopeMode; - OMX_U32 nScopeSpecifier; - OMX_U32 nMetadataItemCount; -} OMX_CONFIG_METADATAITEMCOUNTTYPE; - -/** @ingroup metadata */ -typedef struct OMX_CONFIG_METADATAITEMTYPE -{ - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_METADATASCOPETYPE eScopeMode; - OMX_U32 nScopeSpecifier; - OMX_U32 nMetadataItemIndex; - OMX_METADATASEARCHMODETYPE eSearchMode; - OMX_METADATACHARSETTYPE eKeyCharset; - OMX_U8 nKeySizeUsed; - OMX_U8 nKey[128]; - OMX_METADATACHARSETTYPE eValueCharset; - OMX_STRING sLanguageCountry; - OMX_U32 nValueMaxSize; - OMX_U32 nValueSizeUsed; - OMX_U8 nValue[1]; -} OMX_CONFIG_METADATAITEMTYPE; - -/* @ingroup metadata */ -typedef struct OMX_CONFIG_CONTAINERNODECOUNTTYPE -{ - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_BOOL bAllKeys; - OMX_U32 nParentNodeID; - OMX_U32 nNumNodes; -} OMX_CONFIG_CONTAINERNODECOUNTTYPE; - -/** @ingroup metadata */ -typedef struct OMX_CONFIG_CONTAINERNODEIDTYPE -{ - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_BOOL bAllKeys; - OMX_U32 nParentNodeID; - OMX_U32 nNodeIndex; - OMX_U32 nNodeID; - OMX_STRING cNodeName; - OMX_BOOL bIsLeafType; -} OMX_CONFIG_CONTAINERNODEIDTYPE; - -/** @ingroup metadata */ -typedef struct OMX_PARAM_METADATAFILTERTYPE -{ - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_BOOL bAllKeys; /* if true then this structure refers to all keys and - * the three key fields below are ignored */ - OMX_METADATACHARSETTYPE eKeyCharset; - OMX_U32 nKeySizeUsed; - OMX_U8 nKey [128]; - OMX_U32 nLanguageCountrySizeUsed; - OMX_U8 nLanguageCountry[128]; - OMX_BOOL bEnabled; /* if true then key is part of filter (e.g. - * retained for query later). If false then - * key is not part of filter */ -} OMX_PARAM_METADATAFILTERTYPE; - -/** The OMX_HANDLETYPE structure defines the component handle. The component - * handle is used to access all of the component's public methods and also - * contains pointers to the component's private data area. The component - * handle is initialized by the OMX core (with help from the component) - * during the process of loading the component. After the component is - * successfully loaded, the application can safely access any of the - * component's public functions (although some may return an error because - * the state is inappropriate for the access). - * - * @ingroup comp - */ -typedef struct OMX_COMPONENTTYPE -{ - /** The size of this structure, in bytes. It is the responsibility - of the allocator of this structure to fill in this value. Since - this structure is allocated by the GetHandle function, this - function will fill in this value. */ - OMX_U32 nSize; - - /** nVersion is the version of the OMX specification that the structure - is built against. It is the responsibility of the creator of this - structure to initialize this value and every user of this structure - should verify that it knows how to use the exact version of - this structure found herein. */ - OMX_VERSIONTYPE nVersion; - - /** pComponentPrivate is a pointer to the component private data area. - This member is allocated and initialized by the component when the - component is first loaded. The application should not access this - data area. */ - OMX_PTR pComponentPrivate; - - /** pApplicationPrivate is a pointer that is a parameter to the - OMX_GetHandle method, and contains an application private value - provided by the IL client. This application private data is - returned to the IL Client by OMX in all callbacks */ - OMX_PTR pApplicationPrivate; - - /** refer to OMX_GetComponentVersion in OMX_core.h or the OMX IL - specification for details on the GetComponentVersion method. - */ - OMX_ERRORTYPE (*GetComponentVersion)( - OMX_IN OMX_HANDLETYPE hComponent, - OMX_OUT OMX_STRING pComponentName, - OMX_OUT OMX_VERSIONTYPE* pComponentVersion, - OMX_OUT OMX_VERSIONTYPE* pSpecVersion, - OMX_OUT OMX_UUIDTYPE* pComponentUUID); - - /** refer to OMX_SendCommand in OMX_core.h or the OMX IL - specification for details on the SendCommand method. - */ - OMX_ERRORTYPE (*SendCommand)( - OMX_IN OMX_HANDLETYPE hComponent, - OMX_IN OMX_COMMANDTYPE Cmd, - OMX_IN OMX_U32 nParam1, - OMX_IN OMX_PTR pCmdData); - - /** refer to OMX_GetParameter in OMX_core.h or the OMX IL - specification for details on the GetParameter method. - */ - OMX_ERRORTYPE (*GetParameter)( - OMX_IN OMX_HANDLETYPE hComponent, - OMX_IN OMX_INDEXTYPE nParamIndex, - OMX_INOUT OMX_PTR pComponentParameterStructure); - - - /** refer to OMX_SetParameter in OMX_core.h or the OMX IL - specification for details on the SetParameter method. - */ - OMX_ERRORTYPE (*SetParameter)( - OMX_IN OMX_HANDLETYPE hComponent, - OMX_IN OMX_INDEXTYPE nIndex, - OMX_IN OMX_PTR pComponentParameterStructure); - - - /** refer to OMX_GetConfig in OMX_core.h or the OMX IL - specification for details on the GetConfig method. - */ - OMX_ERRORTYPE (*GetConfig)( - OMX_IN OMX_HANDLETYPE hComponent, - OMX_IN OMX_INDEXTYPE nIndex, - OMX_INOUT OMX_PTR pComponentConfigStructure); - - - /** refer to OMX_SetConfig in OMX_core.h or the OMX IL - specification for details on the SetConfig method. - */ - OMX_ERRORTYPE (*SetConfig)( - OMX_IN OMX_HANDLETYPE hComponent, - OMX_IN OMX_INDEXTYPE nIndex, - OMX_IN OMX_PTR pComponentConfigStructure); - - - /** refer to OMX_GetExtensionIndex in OMX_core.h or the OMX IL - specification for details on the GetExtensionIndex method. - */ - OMX_ERRORTYPE (*GetExtensionIndex)( - OMX_IN OMX_HANDLETYPE hComponent, - OMX_IN OMX_STRING cParameterName, - OMX_OUT OMX_INDEXTYPE* pIndexType); - - - /** refer to OMX_GetState in OMX_core.h or the OMX IL - specification for details on the GetState method. - */ - OMX_ERRORTYPE (*GetState)( - OMX_IN OMX_HANDLETYPE hComponent, - OMX_OUT OMX_STATETYPE* pState); - - - /** The ComponentTunnelRequest method will interact with another OMX - component to determine if tunneling is possible and to setup the - tunneling. The return codes for this method can be used to - determine if tunneling is not possible, or if tunneling is not - supported. - - Base profile components (i.e. non-interop) do not support this - method and should return OMX_ErrorNotImplemented - - The interop profile component MUST support tunneling to another - interop profile component with a compatible port parameters. - A component may also support proprietary communication. - - If proprietary communication is supported the negotiation of - proprietary communication is done outside of OMX in a vendor - specific way. It is only required that the proper result be - returned and the details of how the setup is done is left - to the component implementation. - - When this method is invoked when nPort in an output port, the - component will: - 1. Populate the pTunnelSetup structure with the output port's - requirements and constraints for the tunnel. - - When this method is invoked when nPort in an input port, the - component will: - 1. Query the necessary parameters from the output port to - determine if the ports are compatible for tunneling - 2. If the ports are compatible, the component should store - the tunnel step provided by the output port - 3. Determine which port (either input or output) is the buffer - supplier, and call OMX_SetParameter on the output port to - indicate this selection. - - The component will return from this call within 5 msec. - - @param [in] hComp - Handle of the component to be accessed. This is the component - handle returned by the call to the OMX_GetHandle method. - @param [in] nPort - nPort is used to select the port on the component to be used - for tunneling. - @param [in] hTunneledComp - Handle of the component to tunnel with. This is the component - handle returned by the call to the OMX_GetHandle method. When - this parameter is 0x0 the component should setup the port for - communication with the application / IL Client. - @param [in] nPortOutput - nPortOutput is used indicate the port the component should - tunnel with. - @param [in] pTunnelSetup - Pointer to the tunnel setup structure. When nPort is an output port - the component should populate the fields of this structure. When - When nPort is an input port the component should review the setup - provided by the component with the output port. - @return OMX_ERRORTYPE - If the command successfully executes, the return code will be - OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. - @ingroup tun - */ - - OMX_ERRORTYPE (*ComponentTunnelRequest)( - OMX_IN OMX_HANDLETYPE hComp, - OMX_IN OMX_U32 nPort, - OMX_IN OMX_HANDLETYPE hTunneledComp, - OMX_IN OMX_U32 nTunneledPort, - OMX_INOUT OMX_TUNNELSETUPTYPE* pTunnelSetup); - - /** refer to OMX_UseBuffer in OMX_core.h or the OMX IL - specification for details on the UseBuffer method. - @ingroup buf - */ - OMX_ERRORTYPE (*UseBuffer)( - OMX_IN OMX_HANDLETYPE hComponent, - OMX_INOUT OMX_BUFFERHEADERTYPE** ppBufferHdr, - OMX_IN OMX_U32 nPortIndex, - OMX_IN OMX_PTR pAppPrivate, - OMX_IN OMX_U32 nSizeBytes, - OMX_IN OMX_U8* pBuffer); - - /** refer to OMX_AllocateBuffer in OMX_core.h or the OMX IL - specification for details on the AllocateBuffer method. - @ingroup buf - */ - OMX_ERRORTYPE (*AllocateBuffer)( - OMX_IN OMX_HANDLETYPE hComponent, - OMX_INOUT OMX_BUFFERHEADERTYPE** ppBuffer, - OMX_IN OMX_U32 nPortIndex, - OMX_IN OMX_PTR pAppPrivate, - OMX_IN OMX_U32 nSizeBytes); - - /** refer to OMX_FreeBuffer in OMX_core.h or the OMX IL - specification for details on the FreeBuffer method. - @ingroup buf - */ - OMX_ERRORTYPE (*FreeBuffer)( - OMX_IN OMX_HANDLETYPE hComponent, - OMX_IN OMX_U32 nPortIndex, - OMX_IN OMX_BUFFERHEADERTYPE* pBuffer); - - /** refer to OMX_EmptyThisBuffer in OMX_core.h or the OMX IL - specification for details on the EmptyThisBuffer method. - @ingroup buf - */ - OMX_ERRORTYPE (*EmptyThisBuffer)( - OMX_IN OMX_HANDLETYPE hComponent, - OMX_IN OMX_BUFFERHEADERTYPE* pBuffer); - - /** refer to OMX_FillThisBuffer in OMX_core.h or the OMX IL - specification for details on the FillThisBuffer method. - @ingroup buf - */ - OMX_ERRORTYPE (*FillThisBuffer)( - OMX_IN OMX_HANDLETYPE hComponent, - OMX_IN OMX_BUFFERHEADERTYPE* pBuffer); - - /** The SetCallbacks method is used by the core to specify the callback - structure from the application to the component. This is a blocking - call. The component will return from this call within 5 msec. - @param [in] hComponent - Handle of the component to be accessed. This is the component - handle returned by the call to the GetHandle function. - @param [in] pCallbacks - pointer to an OMX_CALLBACKTYPE structure used to provide the - callback information to the component - @param [in] pAppData - pointer to an application defined value. It is anticipated that - the application will pass a pointer to a data structure or a "this - pointer" in this area to allow the callback (in the application) - to determine the context of the call - @return OMX_ERRORTYPE - If the command successfully executes, the return code will be - OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. - */ - OMX_ERRORTYPE (*SetCallbacks)( - OMX_IN OMX_HANDLETYPE hComponent, - OMX_IN OMX_CALLBACKTYPE* pCallbacks, - OMX_IN OMX_PTR pAppData); - - /** ComponentDeInit method is used to deinitialize the component - providing a means to free any resources allocated at component - initialization. NOTE: After this call the component handle is - not valid for further use. - @param [in] hComponent - Handle of the component to be accessed. This is the component - handle returned by the call to the GetHandle function. - @return OMX_ERRORTYPE - If the command successfully executes, the return code will be - OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. - */ - OMX_ERRORTYPE (*ComponentDeInit)( - OMX_IN OMX_HANDLETYPE hComponent); - - /** @ingroup buf */ - OMX_ERRORTYPE (*UseEGLImage)( - OMX_IN OMX_HANDLETYPE hComponent, - OMX_INOUT OMX_BUFFERHEADERTYPE** ppBufferHdr, - OMX_IN OMX_U32 nPortIndex, - OMX_IN OMX_PTR pAppPrivate, - OMX_IN void* eglImage); - - OMX_ERRORTYPE (*ComponentRoleEnum)( - OMX_IN OMX_HANDLETYPE hComponent, - OMX_OUT OMX_U8 *cRole, - OMX_IN OMX_U32 nIndex); - -} OMX_COMPONENTTYPE; - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif -/* File EOF */ diff --git a/third_party/openmax/il/OMX_ContentPipe.h b/third_party/openmax/il/OMX_ContentPipe.h deleted file mode 100644 index 5f6310c28a..0000000000 --- a/third_party/openmax/il/OMX_ContentPipe.h +++ /dev/null @@ -1,195 +0,0 @@ -/* - * Copyright (c) 2008 The Khronos Group Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject - * to the following conditions: - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - */ - -/** OMX_ContentPipe.h - OpenMax IL version 1.1.2 - * The OMX_ContentPipe header file contains the definitions used to define - * the public interface for content piples. This header file is intended to - * be used by the component. - */ - -#ifndef OMX_CONTENTPIPE_H -#define OMX_CONTENTPIPE_H - -#ifndef KD_EACCES -/* OpenKODE error codes. CPResult values may be zero (indicating success - or one of the following values) */ -#define KD_EACCES (1) -#define KD_EADDRINUSE (2) -#define KD_EAGAIN (5) -#define KD_EBADF (7) -#define KD_EBUSY (8) -#define KD_ECONNREFUSED (9) -#define KD_ECONNRESET (10) -#define KD_EDEADLK (11) -#define KD_EDESTADDRREQ (12) -#define KD_ERANGE (35) -#define KD_EEXIST (13) -#define KD_EFBIG (14) -#define KD_EHOSTUNREACH (15) -#define KD_EINVAL (17) -#define KD_EIO (18) -#define KD_EISCONN (20) -#define KD_EISDIR (21) -#define KD_EMFILE (22) -#define KD_ENAMETOOLONG (23) -#define KD_ENOENT (24) -#define KD_ENOMEM (25) -#define KD_ENOSPC (26) -#define KD_ENOSYS (27) -#define KD_ENOTCONN (28) -#define KD_EPERM (33) -#define KD_ETIMEDOUT (36) -#define KD_EILSEQ (19) -#endif - -/** Map types from OMX standard types only here so interface is as generic as possible. */ -typedef OMX_U32 CPresult; -typedef char * CPstring; -typedef void * CPhandle; -typedef OMX_U32 CPuint; -typedef OMX_S32 CPint; -typedef char CPbyte; -typedef OMX_BOOL CPbool; - -/** enumeration of origin types used in the CP_PIPETYPE's Seek function - * @ingroup cp - */ -typedef enum CP_ORIGINTYPE { - CP_OriginBegin, - CP_OriginCur, - CP_OriginEnd, - CP_OriginKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - CP_OriginVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - CP_OriginMax = 0X7FFFFFFF -} CP_ORIGINTYPE; - -/** enumeration of contact access types used in the CP_PIPETYPE's Open function - * @ingroup cp - */ -typedef enum CP_ACCESSTYPE { - CP_AccessRead, - CP_AccessWrite, - CP_AccessReadWrite , - CP_AccessKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - CP_AccessVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - CP_AccessMax = 0X7FFFFFFF -} CP_ACCESSTYPE; - -/** enumeration of results returned by the CP_PIPETYPE's CheckAvailableBytes function - * @ingroup cp - */ -typedef enum CP_CHECKBYTESRESULTTYPE -{ - CP_CheckBytesOk, /**< There are at least the request number - of bytes available */ - CP_CheckBytesNotReady, /**< The pipe is still retrieving bytes - and presently lacks sufficient bytes. - Client will be called when they are - sufficient bytes are available. */ - CP_CheckBytesInsufficientBytes , /**< The pipe has retrieved all bytes - but those available are less than those - requested */ - CP_CheckBytesAtEndOfStream, /**< The pipe has reached the end of stream - and no more bytes are available. */ - CP_CheckBytesOutOfBuffers, /**< All read/write buffers are currently in use. */ - CP_CheckBytesKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - CP_CheckBytesVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - CP_CheckBytesMax = 0X7FFFFFFF -} CP_CHECKBYTESRESULTTYPE; - -/** enumeration of content pipe events sent to the client callback. - * @ingroup cp - */ -typedef enum CP_EVENTTYPE{ - CP_BytesAvailable, /** bytes requested in a CheckAvailableBytes call are now available*/ - CP_Overflow, /** enumeration of content pipe events sent to the client callback*/ - CP_PipeDisconnected , /** enumeration of content pipe events sent to the client callback*/ - CP_EventKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - CP_EventVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - CP_EventMax = 0X7FFFFFFF -} CP_EVENTTYPE; - -/** content pipe definition - * @ingroup cp - */ -typedef struct CP_PIPETYPE -{ - /** Open a content stream for reading or writing. */ - CPresult (*Open)( CPhandle* hContent, CPstring szURI, CP_ACCESSTYPE eAccess ); - - /** Close a content stream. */ - CPresult (*Close)( CPhandle hContent ); - - /** Create a content source and open it for writing. */ - CPresult (*Create)( CPhandle *hContent, CPstring szURI ); - - /** Check the that specified number of bytes are available for reading or writing (depending on access type).*/ - CPresult (*CheckAvailableBytes)( CPhandle hContent, CPuint nBytesRequested, CP_CHECKBYTESRESULTTYPE *eResult ); - - /** Seek to certain position in the content relative to the specified origin. */ - CPresult (*SetPosition)( CPhandle hContent, CPint nOffset, CP_ORIGINTYPE eOrigin); - - /** Retrieve the current position relative to the start of the content. */ - CPresult (*GetPosition)( CPhandle hContent, CPuint *pPosition); - - /** Retrieve data of the specified size from the content stream (advance content pointer by size of data). - Note: pipe client provides pointer. This function is appropriate for small high frequency reads. */ - CPresult (*Read)( CPhandle hContent, CPbyte *pData, CPuint nSize); - - /** Retrieve a buffer allocated by the pipe that contains the requested number of bytes. - Buffer contains the next block of bytes, as specified by nSize, of the content. nSize also - returns the size of the block actually read. Content pointer advances the by the returned size. - Note: pipe provides pointer. This function is appropriate for large reads. The client must call - ReleaseReadBuffer when done with buffer. - - In some cases the requested block may not reside in contiguous memory within the - pipe implementation. For instance if the pipe leverages a circular buffer then the requested - block may straddle the boundary of the circular buffer. By default a pipe implementation - performs a copy in this case to provide the block to the pipe client in one contiguous buffer. - If, however, the client sets bForbidCopy, then the pipe returns only those bytes preceding the memory - boundary. Here the client may retrieve the data in segments over successive calls. */ - CPresult (*ReadBuffer)( CPhandle hContent, CPbyte **ppBuffer, CPuint *nSize, CPbool bForbidCopy); - - /** Release a buffer obtained by ReadBuffer back to the pipe. */ - CPresult (*ReleaseReadBuffer)(CPhandle hContent, CPbyte *pBuffer); - - /** Write data of the specified size to the content (advance content pointer by size of data). - Note: pipe client provides pointer. This function is appropriate for small high frequency writes. */ - CPresult (*Write)( CPhandle hContent, CPbyte *data, CPuint nSize); - - /** Retrieve a buffer allocated by the pipe used to write data to the content. - Client will fill buffer with output data. Note: pipe provides pointer. This function is appropriate - for large writes. The client must call WriteBuffer when done it has filled the buffer with data.*/ - CPresult (*GetWriteBuffer)( CPhandle hContent, CPbyte **ppBuffer, CPuint nSize); - - /** Deliver a buffer obtained via GetWriteBuffer to the pipe. Pipe will write the - the contents of the buffer to content and advance content pointer by the size of the buffer */ - CPresult (*WriteBuffer)( CPhandle hContent, CPbyte *pBuffer, CPuint nFilledSize); - - /** Register a per-handle client callback with the content pipe. */ - CPresult (*RegisterCallback)( CPhandle hContent, CPresult (*ClientCallback)(CP_EVENTTYPE eEvent, CPuint iParam)); - -} CP_PIPETYPE; - -#endif - diff --git a/third_party/openmax/il/OMX_Core.h b/third_party/openmax/il/OMX_Core.h deleted file mode 100644 index a076f2f479..0000000000 --- a/third_party/openmax/il/OMX_Core.h +++ /dev/null @@ -1,1431 +0,0 @@ -/* - * Copyright (c) 2008 The Khronos Group Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject - * to the following conditions: - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - */ - -/** OMX_Core.h - OpenMax IL version 1.1.2 - * The OMX_Core header file contains the definitions used by both the - * application and the component to access common items. - */ - -#ifndef OMX_Core_h -#define OMX_Core_h - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - - -/* Each OMX header shall include all required header files to allow the - * header to compile without errors. The includes below are required - * for this header file to compile successfully - */ - -#include <OMX_Index.h> - - -/** The OMX_COMMANDTYPE enumeration is used to specify the action in the - * OMX_SendCommand macro. - * @ingroup core - */ -typedef enum OMX_COMMANDTYPE -{ - OMX_CommandStateSet, /**< Change the component state */ - OMX_CommandFlush, /**< Flush the data queue(s) of a component */ - OMX_CommandPortDisable, /**< Disable a port on a component. */ - OMX_CommandPortEnable, /**< Enable a port on a component. */ - OMX_CommandMarkBuffer, /**< Mark a component/buffer for observation */ - OMX_CommandKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_CommandVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_CommandMax = 0X7FFFFFFF -} OMX_COMMANDTYPE; - - - -/** The OMX_STATETYPE enumeration is used to indicate or change the component - * state. This enumeration reflects the current state of the component when - * used with the OMX_GetState macro or becomes the parameter in a state change - * command when used with the OMX_SendCommand macro. - * - * The component will be in the Loaded state after the component is initially - * loaded into memory. In the Loaded state, the component is not allowed to - * allocate or hold resources other than to build it's internal parameter - * and configuration tables. The application will send one or more - * SetParameters/GetParameters and SetConfig/GetConfig commands to the - * component and the component will record each of these parameter and - * configuration changes for use later. When the application sends the - * Idle command, the component will acquire the resources needed for the - * specified configuration and will transition to the idle state if the - * allocation is successful. If the component cannot successfully - * transition to the idle state for any reason, the state of the component - * shall be fully rolled back to the Loaded state (e.g. all allocated - * resources shall be released). When the component receives the command - * to go to the Executing state, it shall begin processing buffers by - * sending all input buffers it holds to the application. While - * the component is in the Idle state, the application may also send the - * Pause command. If the component receives the pause command while in the - * Idle state, the component shall send all input buffers it holds to the - * application, but shall not begin processing buffers. This will allow the - * application to prefill buffers. - * - * @ingroup comp - */ - -typedef enum OMX_STATETYPE -{ - OMX_StateInvalid, /**< component has detected that it's internal data - structures are corrupted to the point that - it cannot determine it's state properly */ - OMX_StateLoaded, /**< component has been loaded but has not completed - initialization. The OMX_SetParameter macro - and the OMX_GetParameter macro are the only - valid macros allowed to be sent to the - component in this state. */ - OMX_StateIdle, /**< component initialization has been completed - successfully and the component is ready to - to start. */ - OMX_StateExecuting, /**< component has accepted the start command and - is processing data (if data is available) */ - OMX_StatePause, /**< component has received pause command */ - OMX_StateWaitForResources, /**< component is waiting for resources, either after - preemption or before it gets the resources requested. - See specification for complete details. */ - OMX_StateKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_StateVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_StateMax = 0X7FFFFFFF -} OMX_STATETYPE; - -/** The OMX_ERRORTYPE enumeration defines the standard OMX Errors. These - * errors should cover most of the common failure cases. However, - * vendors are free to add additional error messages of their own as - * long as they follow these rules: - * 1. Vendor error messages shall be in the range of 0x90000000 to - * 0x9000FFFF. - * 2. Vendor error messages shall be defined in a header file provided - * with the component. No error messages are allowed that are - * not defined. - */ -typedef enum OMX_ERRORTYPE -{ - OMX_ErrorNone = 0, - - /** There were insufficient resources to perform the requested operation */ - OMX_ErrorInsufficientResources = (OMX_S32) 0x80001000, - - /** There was an error, but the cause of the error could not be determined */ - OMX_ErrorUndefined = (OMX_S32) 0x80001001, - - /** The component name string was not valid */ - OMX_ErrorInvalidComponentName = (OMX_S32) 0x80001002, - - /** No component with the specified name string was found */ - OMX_ErrorComponentNotFound = (OMX_S32) 0x80001003, - - /** The component specified did not have a "OMX_ComponentInit" or - "OMX_ComponentDeInit entry point */ - OMX_ErrorInvalidComponent = (OMX_S32) 0x80001004, - - /** One or more parameters were not valid */ - OMX_ErrorBadParameter = (OMX_S32) 0x80001005, - - /** The requested function is not implemented */ - OMX_ErrorNotImplemented = (OMX_S32) 0x80001006, - - /** The buffer was emptied before the next buffer was ready */ - OMX_ErrorUnderflow = (OMX_S32) 0x80001007, - - /** The buffer was not available when it was needed */ - OMX_ErrorOverflow = (OMX_S32) 0x80001008, - - /** The hardware failed to respond as expected */ - OMX_ErrorHardware = (OMX_S32) 0x80001009, - - /** The component is in the state OMX_StateInvalid */ - OMX_ErrorInvalidState = (OMX_S32) 0x8000100A, - - /** Stream is found to be corrupt */ - OMX_ErrorStreamCorrupt = (OMX_S32) 0x8000100B, - - /** Ports being connected are not compatible */ - OMX_ErrorPortsNotCompatible = (OMX_S32) 0x8000100C, - - /** Resources allocated to an idle component have been - lost resulting in the component returning to the loaded state */ - OMX_ErrorResourcesLost = (OMX_S32) 0x8000100D, - - /** No more indicies can be enumerated */ - OMX_ErrorNoMore = (OMX_S32) 0x8000100E, - - /** The component detected a version mismatch */ - OMX_ErrorVersionMismatch = (OMX_S32) 0x8000100F, - - /** The component is not ready to return data at this time */ - OMX_ErrorNotReady = (OMX_S32) 0x80001010, - - /** There was a timeout that occurred */ - OMX_ErrorTimeout = (OMX_S32) 0x80001011, - - /** This error occurs when trying to transition into the state you are already in */ - OMX_ErrorSameState = (OMX_S32) 0x80001012, - - /** Resources allocated to an executing or paused component have been - preempted, causing the component to return to the idle state */ - OMX_ErrorResourcesPreempted = (OMX_S32) 0x80001013, - - /** A non-supplier port sends this error to the IL client (via the EventHandler callback) - during the allocation of buffers (on a transition from the LOADED to the IDLE state or - on a port restart) when it deems that it has waited an unusually long time for the supplier - to send it an allocated buffer via a UseBuffer call. */ - OMX_ErrorPortUnresponsiveDuringAllocation = (OMX_S32) 0x80001014, - - /** A non-supplier port sends this error to the IL client (via the EventHandler callback) - during the deallocation of buffers (on a transition from the IDLE to LOADED state or - on a port stop) when it deems that it has waited an unusually long time for the supplier - to request the deallocation of a buffer header via a FreeBuffer call. */ - OMX_ErrorPortUnresponsiveDuringDeallocation = (OMX_S32) 0x80001015, - - /** A supplier port sends this error to the IL client (via the EventHandler callback) - during the stopping of a port (either on a transition from the IDLE to LOADED - state or a port stop) when it deems that it has waited an unusually long time for - the non-supplier to return a buffer via an EmptyThisBuffer or FillThisBuffer call. */ - OMX_ErrorPortUnresponsiveDuringStop = (OMX_S32) 0x80001016, - - /** Attempting a state transtion that is not allowed */ - OMX_ErrorIncorrectStateTransition = (OMX_S32) 0x80001017, - - /* Attempting a command that is not allowed during the present state. */ - OMX_ErrorIncorrectStateOperation = (OMX_S32) 0x80001018, - - /** The values encapsulated in the parameter or config structure are not supported. */ - OMX_ErrorUnsupportedSetting = (OMX_S32) 0x80001019, - - /** The parameter or config indicated by the given index is not supported. */ - OMX_ErrorUnsupportedIndex = (OMX_S32) 0x8000101A, - - /** The port index supplied is incorrect. */ - OMX_ErrorBadPortIndex = (OMX_S32) 0x8000101B, - - /** The port has lost one or more of its buffers and it thus unpopulated. */ - OMX_ErrorPortUnpopulated = (OMX_S32) 0x8000101C, - - /** Component suspended due to temporary loss of resources */ - OMX_ErrorComponentSuspended = (OMX_S32) 0x8000101D, - - /** Component suspended due to an inability to acquire dynamic resources */ - OMX_ErrorDynamicResourcesUnavailable = (OMX_S32) 0x8000101E, - - /** When the macroblock error reporting is enabled the component returns new error - for every frame that has errors */ - OMX_ErrorMbErrorsInFrame = (OMX_S32) 0x8000101F, - - /** A component reports this error when it cannot parse or determine the format of an input stream. */ - OMX_ErrorFormatNotDetected = (OMX_S32) 0x80001020, - - /** The content open operation failed. */ - OMX_ErrorContentPipeOpenFailed = (OMX_S32) 0x80001021, - - /** The content creation operation failed. */ - OMX_ErrorContentPipeCreationFailed = (OMX_S32) 0x80001022, - - /** Separate table information is being used */ - OMX_ErrorSeperateTablesUsed = (OMX_S32) 0x80001023, - - /** Tunneling is unsupported by the component*/ - OMX_ErrorTunnelingUnsupported = (OMX_S32) 0x80001024, - - OMX_ErrorKhronosExtensions = (OMX_S32)0x8F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_ErrorVendorStartUnused = (OMX_S32)0x90000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_ErrorMax = 0x7FFFFFFF -} OMX_ERRORTYPE; - -/** @ingroup core */ -typedef OMX_ERRORTYPE (* OMX_COMPONENTINITTYPE)(OMX_IN OMX_HANDLETYPE hComponent); - -/** @ingroup core */ -typedef struct OMX_COMPONENTREGISTERTYPE -{ - const char * pName; /* Component name, 128 byte limit (including '\0') applies */ - OMX_COMPONENTINITTYPE pInitialize; /* Component instance initialization function */ -} OMX_COMPONENTREGISTERTYPE; - -/** @ingroup core */ -extern OMX_COMPONENTREGISTERTYPE OMX_ComponentRegistered[]; - -/** @ingroup rpm */ -typedef struct OMX_PRIORITYMGMTTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nGroupPriority; /**< Priority of the component group */ - OMX_U32 nGroupID; /**< ID of the component group */ -} OMX_PRIORITYMGMTTYPE; - -/* Component name and Role names are limited to 128 characters including the terminating '\0'. */ -#define OMX_MAX_STRINGNAME_SIZE 128 - -/** @ingroup comp */ -typedef struct OMX_PARAM_COMPONENTROLETYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U8 cRole[OMX_MAX_STRINGNAME_SIZE]; /**< name of standard component which defines component role */ -} OMX_PARAM_COMPONENTROLETYPE; - -/** End of Stream Buffer Flag: - * - * A component sets EOS when it has no more data to emit on a particular - * output port. Thus an output port shall set EOS on the last buffer it - * emits. A component's determination of when an output port should - * cease sending data is implemenation specific. - * @ingroup buf - */ - -#define OMX_BUFFERFLAG_EOS 0x00000001 - -/** Start Time Buffer Flag: - * - * The source of a stream (e.g. a demux component) sets the STARTTIME - * flag on the buffer that contains the starting timestamp for the - * stream. The starting timestamp corresponds to the first data that - * should be displayed at startup or after a seek. - * The first timestamp of the stream is not necessarily the start time. - * For instance, in the case of a seek to a particular video frame, - * the target frame may be an interframe. Thus the first buffer of - * the stream will be the intra-frame preceding the target frame and - * the starttime will occur with the target frame (with any other - * required frames required to reconstruct the target intervening). - * - * The STARTTIME flag is directly associated with the buffer's - * timestamp ' thus its association to buffer data and its - * propagation is identical to the timestamp's. - * - * When a Sync Component client receives a buffer with the - * STARTTIME flag it shall perform a SetConfig on its sync port - * using OMX_ConfigTimeClientStartTime and passing the buffer's - * timestamp. - * - * @ingroup buf - */ - -#define OMX_BUFFERFLAG_STARTTIME 0x00000002 - - - -/** Decode Only Buffer Flag: - * - * The source of a stream (e.g. a demux component) sets the DECODEONLY - * flag on any buffer that should shall be decoded but should not be - * displayed. This flag is used, for instance, when a source seeks to - * a target interframe that requires the decode of frames preceding the - * target to facilitate the target's reconstruction. In this case the - * source would emit the frames preceding the target downstream - * but mark them as decode only. - * - * The DECODEONLY is associated with buffer data and propagated in a - * manner identical to the buffer timestamp. - * - * A component that renders data should ignore all buffers with - * the DECODEONLY flag set. - * - * @ingroup buf - */ - -#define OMX_BUFFERFLAG_DECODEONLY 0x00000004 - - -/* Data Corrupt Flag: This flag is set when the IL client believes the data in the associated buffer is corrupt - * @ingroup buf - */ - -#define OMX_BUFFERFLAG_DATACORRUPT 0x00000008 - -/* End of Frame: The buffer contains exactly one end of frame and no data - * occurs after the end of frame. This flag is an optional hint. The absence - * of this flag does not imply the absence of an end of frame within the buffer. - * @ingroup buf -*/ -#define OMX_BUFFERFLAG_ENDOFFRAME 0x00000010 - -/* Sync Frame Flag: This flag is set when the buffer content contains a coded sync frame ' - * a frame that has no dependency on any other frame information - * @ingroup buf - */ -#define OMX_BUFFERFLAG_SYNCFRAME 0x00000020 - -/* Extra data present flag: there is extra data appended to the data stream - * residing in the buffer - * @ingroup buf - */ -#define OMX_BUFFERFLAG_EXTRADATA 0x00000040 - -/** Codec Config Buffer Flag: -* OMX_BUFFERFLAG_CODECCONFIG is an optional flag that is set by an -* output port when all bytes in the buffer form part or all of a set of -* codec specific configuration data. Examples include SPS/PPS nal units -* for OMX_VIDEO_CodingAVC or AudioSpecificConfig data for -* OMX_AUDIO_CodingAAC. Any component that for a given stream sets -* OMX_BUFFERFLAG_CODECCONFIG shall not mix codec configuration bytes -* with frame data in the same buffer, and shall send all buffers -* containing codec configuration bytes before any buffers containing -* frame data that those configurations bytes describe. -* If the stream format for a particular codec has a frame specific -* header at the start of each frame, for example OMX_AUDIO_CodingMP3 or -* OMX_AUDIO_CodingAAC in ADTS mode, then these shall be presented as -* normal without setting OMX_BUFFERFLAG_CODECCONFIG. - * @ingroup buf - */ -#define OMX_BUFFERFLAG_CODECCONFIG 0x00000080 - - - -/** @ingroup buf */ -typedef struct OMX_BUFFERHEADERTYPE -{ - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U8* pBuffer; /**< Pointer to actual block of memory - that is acting as the buffer */ - OMX_U32 nAllocLen; /**< size of the buffer allocated, in bytes */ - OMX_U32 nFilledLen; /**< number of bytes currently in the - buffer */ - OMX_U32 nOffset; /**< start offset of valid data in bytes from - the start of the buffer */ - OMX_PTR pAppPrivate; /**< pointer to any data the application - wants to associate with this buffer */ - OMX_PTR pPlatformPrivate; /**< pointer to any data the platform - wants to associate with this buffer */ - OMX_PTR pInputPortPrivate; /**< pointer to any data the input port - wants to associate with this buffer */ - OMX_PTR pOutputPortPrivate; /**< pointer to any data the output port - wants to associate with this buffer */ - OMX_HANDLETYPE hMarkTargetComponent; /**< The component that will generate a - mark event upon processing this buffer. */ - OMX_PTR pMarkData; /**< Application specific data associated with - the mark sent on a mark event to disambiguate - this mark from others. */ - OMX_U32 nTickCount; /**< Optional entry that the component and - application can update with a tick count - when they access the component. This - value should be in microseconds. Since - this is a value relative to an arbitrary - starting point, this value cannot be used - to determine absolute time. This is an - optional entry and not all components - will update it.*/ - OMX_TICKS nTimeStamp; /**< Timestamp corresponding to the sample - starting at the first logical sample - boundary in the buffer. Timestamps of - successive samples within the buffer may - be inferred by adding the duration of the - of the preceding buffer to the timestamp - of the preceding buffer.*/ - OMX_U32 nFlags; /**< buffer specific flags */ - OMX_U32 nOutputPortIndex; /**< The index of the output port (if any) using - this buffer */ - OMX_U32 nInputPortIndex; /**< The index of the input port (if any) using - this buffer */ -} OMX_BUFFERHEADERTYPE; - -/** The OMX_EXTRADATATYPE enumeration is used to define the - * possible extra data payload types. - * NB: this enum is binary backwards compatible with the previous - * OMX_EXTRADATA_QUANT define. This should be replaced with - * OMX_ExtraDataQuantization. - */ -typedef enum OMX_EXTRADATATYPE -{ - OMX_ExtraDataNone = 0, /**< Indicates that no more extra data sections follow */ - OMX_ExtraDataQuantization, /**< The data payload contains quantization data */ - OMX_ExtraDataKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_ExtraDataVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_ExtraDataMax = 0x7FFFFFFF -} OMX_EXTRADATATYPE; - - -typedef struct OMX_OTHER_EXTRADATATYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_EXTRADATATYPE eType; /* Extra Data type */ - OMX_U32 nDataSize; /* Size of the supporting data to follow */ - OMX_U8 data[1]; /* Supporting data hint */ -} OMX_OTHER_EXTRADATATYPE; - -/** @ingroup comp */ -typedef struct OMX_PORT_PARAM_TYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPorts; /**< The number of ports for this component */ - OMX_U32 nStartPortNumber; /** first port number for this type of port */ -} OMX_PORT_PARAM_TYPE; - -/** @ingroup comp */ -typedef enum OMX_EVENTTYPE -{ - OMX_EventCmdComplete, /**< component has sucessfully completed a command */ - OMX_EventError, /**< component has detected an error condition */ - OMX_EventMark, /**< component has detected a buffer mark */ - OMX_EventPortSettingsChanged, /**< component is reported a port settings change */ - OMX_EventBufferFlag, /**< component has detected an EOS */ - OMX_EventResourcesAcquired, /**< component has been granted resources and is - automatically starting the state change from - OMX_StateWaitForResources to OMX_StateIdle. */ - OMX_EventComponentResumed, /**< Component resumed due to reacquisition of resources */ - OMX_EventDynamicResourcesAvailable, /**< Component has acquired previously unavailable dynamic resources */ - OMX_EventPortFormatDetected, /**< Component has detected a supported format. */ - OMX_EventKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_EventVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_EventMax = 0x7FFFFFFF -} OMX_EVENTTYPE; - -typedef struct OMX_CALLBACKTYPE -{ - /** The EventHandler method is used to notify the application when an - event of interest occurs. Events are defined in the OMX_EVENTTYPE - enumeration. Please see that enumeration for details of what will - be returned for each type of event. Callbacks should not return - an error to the component, so if an error occurs, the application - shall handle it internally. This is a blocking call. - - The application should return from this call within 5 msec to avoid - blocking the component for an excessively long period of time. - - @param hComponent - handle of the component to access. This is the component - handle returned by the call to the GetHandle function. - @param pAppData - pointer to an application defined value that was provided in the - pAppData parameter to the OMX_GetHandle method for the component. - This application defined value is provided so that the application - can have a component specific context when receiving the callback. - @param eEvent - Event that the component wants to notify the application about. - @param nData1 - nData will be the OMX_ERRORTYPE for an error event and will be - an OMX_COMMANDTYPE for a command complete event and OMX_INDEXTYPE for a OMX_PortSettingsChanged event. - @param nData2 - nData2 will hold further information related to the event. Can be OMX_STATETYPE for - a OMX_CommandStateSet command or port index for a OMX_PortSettingsChanged event. - Default value is 0 if not used. ) - @param pEventData - Pointer to additional event-specific data (see spec for meaning). - */ - - OMX_ERRORTYPE (*EventHandler)( - OMX_IN OMX_HANDLETYPE hComponent, - OMX_IN OMX_PTR pAppData, - OMX_IN OMX_EVENTTYPE eEvent, - OMX_IN OMX_U32 nData1, - OMX_IN OMX_U32 nData2, - OMX_IN OMX_PTR pEventData); - - /** The EmptyBufferDone method is used to return emptied buffers from an - input port back to the application for reuse. This is a blocking call - so the application should not attempt to refill the buffers during this - call, but should queue them and refill them in another thread. There - is no error return, so the application shall handle any errors generated - internally. - - The application should return from this call within 5 msec. - - @param hComponent - handle of the component to access. This is the component - handle returned by the call to the GetHandle function. - @param pAppData - pointer to an application defined value that was provided in the - pAppData parameter to the OMX_GetHandle method for the component. - This application defined value is provided so that the application - can have a component specific context when receiving the callback. - @param pBuffer - pointer to an OMX_BUFFERHEADERTYPE structure allocated with UseBuffer - or AllocateBuffer indicating the buffer that was emptied. - @ingroup buf - */ - OMX_ERRORTYPE (*EmptyBufferDone)( - OMX_IN OMX_HANDLETYPE hComponent, - OMX_IN OMX_PTR pAppData, - OMX_IN OMX_BUFFERHEADERTYPE* pBuffer); - - /** The FillBufferDone method is used to return filled buffers from an - output port back to the application for emptying and then reuse. - This is a blocking call so the application should not attempt to - empty the buffers during this call, but should queue the buffers - and empty them in another thread. There is no error return, so - the application shall handle any errors generated internally. The - application shall also update the buffer header to indicate the - number of bytes placed into the buffer. - - The application should return from this call within 5 msec. - - @param hComponent - handle of the component to access. This is the component - handle returned by the call to the GetHandle function. - @param pAppData - pointer to an application defined value that was provided in the - pAppData parameter to the OMX_GetHandle method for the component. - This application defined value is provided so that the application - can have a component specific context when receiving the callback. - @param pBuffer - pointer to an OMX_BUFFERHEADERTYPE structure allocated with UseBuffer - or AllocateBuffer indicating the buffer that was filled. - @ingroup buf - */ - OMX_ERRORTYPE (*FillBufferDone)( - OMX_OUT OMX_HANDLETYPE hComponent, - OMX_OUT OMX_PTR pAppData, - OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer); - -} OMX_CALLBACKTYPE; - -/** The OMX_BUFFERSUPPLIERTYPE enumeration is used to dictate port supplier - preference when tunneling between two ports. - @ingroup tun buf -*/ -typedef enum OMX_BUFFERSUPPLIERTYPE -{ - OMX_BufferSupplyUnspecified = 0x0, /**< port supplying the buffers is unspecified, - or don't care */ - OMX_BufferSupplyInput, /**< input port supplies the buffers */ - OMX_BufferSupplyOutput, /**< output port supplies the buffers */ - OMX_BufferSupplyKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_BufferSupplyVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_BufferSupplyMax = 0x7FFFFFFF -} OMX_BUFFERSUPPLIERTYPE; - - -/** buffer supplier parameter - * @ingroup tun - */ -typedef struct OMX_PARAM_BUFFERSUPPLIERTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_BUFFERSUPPLIERTYPE eBufferSupplier; /**< buffer supplier */ -} OMX_PARAM_BUFFERSUPPLIERTYPE; - - -/**< indicates that buffers received by an input port of a tunnel - may not modify the data in the buffers - @ingroup tun - */ -#define OMX_PORTTUNNELFLAG_READONLY 0x00000001 - - -/** The OMX_TUNNELSETUPTYPE structure is used to pass data from an output - port to an input port as part the two ComponentTunnelRequest calls - resulting from a OMX_SetupTunnel call from the IL Client. - @ingroup tun - */ -typedef struct OMX_TUNNELSETUPTYPE -{ - OMX_U32 nTunnelFlags; /**< bit flags for tunneling */ - OMX_BUFFERSUPPLIERTYPE eSupplier; /**< supplier preference */ -} OMX_TUNNELSETUPTYPE; - -/* OMX Component headers is included to enable the core to use - macros for functions into the component for OMX release 1.0. - Developers should not access any structures or data from within - the component header directly */ -/* TO BE REMOVED - #include <OMX_Component.h> */ - -/** GetComponentVersion will return information about the component. - This is a blocking call. This macro will go directly from the - application to the component (via a core macro). The - component will return from this call within 5 msec. - @param [in] hComponent - handle of component to execute the command - @param [out] pComponentName - pointer to an empty string of length 128 bytes. The component - will write its name into this string. The name will be - terminated by a single zero byte. The name of a component will - be 127 bytes or less to leave room for the trailing zero byte. - An example of a valid component name is "OMX.ABC.ChannelMixer\0". - @param [out] pComponentVersion - pointer to an OMX Version structure that the component will fill - in. The component will fill in a value that indicates the - component version. NOTE: the component version is NOT the same - as the OMX Specification version (found in all structures). The - component version is defined by the vendor of the component and - its value is entirely up to the component vendor. - @param [out] pSpecVersion - pointer to an OMX Version structure that the component will fill - in. The SpecVersion is the version of the specification that the - component was built against. Please note that this value may or - may not match the structure's version. For example, if the - component was built against the 2.0 specification, but the - application (which creates the structure is built against the - 1.0 specification the versions would be different. - @param [out] pComponentUUID - pointer to the UUID of the component which will be filled in by - the component. The UUID is a unique identifier that is set at - RUN time for the component and is unique to each instantion of - the component. - @return OMX_ERRORTYPE - If the command successfully executes, the return code will be - OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. - @ingroup comp - */ -#define OMX_GetComponentVersion( \ - hComponent, \ - pComponentName, \ - pComponentVersion, \ - pSpecVersion, \ - pComponentUUID) \ - ((OMX_COMPONENTTYPE*)hComponent)->GetComponentVersion( \ - hComponent, \ - pComponentName, \ - pComponentVersion, \ - pSpecVersion, \ - pComponentUUID) /* Macro End */ - - -/** Send a command to the component. This call is a non-blocking call. - The component should check the parameters and then queue the command - to the component thread to be executed. The component thread shall - send the EventHandler() callback at the conclusion of the command. - This macro will go directly from the application to the component (via - a core macro). The component will return from this call within 5 msec. - - When the command is "OMX_CommandStateSet" the component will queue a - state transition to the new state idenfied in nParam. - - When the command is "OMX_CommandFlush", to flush a port's buffer queues, - the command will force the component to return all buffers NOT CURRENTLY - BEING PROCESSED to the application, in the order in which the buffers - were received. - - When the command is "OMX_CommandPortDisable" or - "OMX_CommandPortEnable", the component's port (given by the value of - nParam) will be stopped or restarted. - - When the command "OMX_CommandMarkBuffer" is used to mark a buffer, the - pCmdData will point to a OMX_MARKTYPE structure containing the component - handle of the component to examine the buffer chain for the mark. nParam1 - contains the index of the port on which the buffer mark is applied. - - Specification text for more details. - - @param [in] hComponent - handle of component to execute the command - @param [in] Cmd - Command for the component to execute - @param [in] nParam - Parameter for the command to be executed. When Cmd has the value - OMX_CommandStateSet, value is a member of OMX_STATETYPE. When Cmd has - the value OMX_CommandFlush, value of nParam indicates which port(s) - to flush. -1 is used to flush all ports a single port index will - only flush that port. When Cmd has the value "OMX_CommandPortDisable" - or "OMX_CommandPortEnable", the component's port is given by - the value of nParam. When Cmd has the value "OMX_CommandMarkBuffer" - the components pot is given by the value of nParam. - @param [in] pCmdData - Parameter pointing to the OMX_MARKTYPE structure when Cmd has the value - "OMX_CommandMarkBuffer". - @return OMX_ERRORTYPE - If the command successfully executes, the return code will be - OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. - @ingroup comp - */ -#define OMX_SendCommand( \ - hComponent, \ - Cmd, \ - nParam, \ - pCmdData) \ - ((OMX_COMPONENTTYPE*)hComponent)->SendCommand( \ - hComponent, \ - Cmd, \ - nParam, \ - pCmdData) /* Macro End */ - - -/** The OMX_GetParameter macro will get one of the current parameter - settings from the component. This macro cannot only be invoked when - the component is in the OMX_StateInvalid state. The nParamIndex - parameter is used to indicate which structure is being requested from - the component. The application shall allocate the correct structure - and shall fill in the structure size and version information before - invoking this macro. When the parameter applies to a port, the - caller shall fill in the appropriate nPortIndex value indicating the - port on which the parameter applies. If the component has not had - any settings changed, then the component should return a set of - valid DEFAULT parameters for the component. This is a blocking - call. - - The component should return from this call within 20 msec. - - @param [in] hComponent - Handle of the component to be accessed. This is the component - handle returned by the call to the OMX_GetHandle function. - @param [in] nParamIndex - Index of the structure to be filled. This value is from the - OMX_INDEXTYPE enumeration. - @param [in,out] pComponentParameterStructure - Pointer to application allocated structure to be filled by the - component. - @return OMX_ERRORTYPE - If the command successfully executes, the return code will be - OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. - @ingroup comp - */ -#define OMX_GetParameter( \ - hComponent, \ - nParamIndex, \ - pComponentParameterStructure) \ - ((OMX_COMPONENTTYPE*)hComponent)->GetParameter( \ - hComponent, \ - nParamIndex, \ - pComponentParameterStructure) /* Macro End */ - - -/** The OMX_SetParameter macro will send an initialization parameter - structure to a component. Each structure shall be sent one at a time, - in a separate invocation of the macro. This macro can only be - invoked when the component is in the OMX_StateLoaded state, or the - port is disabled (when the parameter applies to a port). The - nParamIndex parameter is used to indicate which structure is being - passed to the component. The application shall allocate the - correct structure and shall fill in the structure size and version - information (as well as the actual data) before invoking this macro. - The application is free to dispose of this structure after the call - as the component is required to copy any data it shall retain. This - is a blocking call. - - The component should return from this call within 20 msec. - - @param [in] hComponent - Handle of the component to be accessed. This is the component - handle returned by the call to the OMX_GetHandle function. - @param [in] nIndex - Index of the structure to be sent. This value is from the - OMX_INDEXTYPE enumeration. - @param [in] pComponentParameterStructure - pointer to application allocated structure to be used for - initialization by the component. - @return OMX_ERRORTYPE - If the command successfully executes, the return code will be - OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. - @ingroup comp - */ -#define OMX_SetParameter( \ - hComponent, \ - nParamIndex, \ - pComponentParameterStructure) \ - ((OMX_COMPONENTTYPE*)hComponent)->SetParameter( \ - hComponent, \ - nParamIndex, \ - pComponentParameterStructure) /* Macro End */ - - -/** The OMX_GetConfig macro will get one of the configuration structures - from a component. This macro can be invoked anytime after the - component has been loaded. The nParamIndex call parameter is used to - indicate which structure is being requested from the component. The - application shall allocate the correct structure and shall fill in the - structure size and version information before invoking this macro. - If the component has not had this configuration parameter sent before, - then the component should return a set of valid DEFAULT values for the - component. This is a blocking call. - - The component should return from this call within 5 msec. - - @param [in] hComponent - Handle of the component to be accessed. This is the component - handle returned by the call to the OMX_GetHandle function. - @param [in] nIndex - Index of the structure to be filled. This value is from the - OMX_INDEXTYPE enumeration. - @param [in,out] pComponentConfigStructure - pointer to application allocated structure to be filled by the - component. - @return OMX_ERRORTYPE - If the command successfully executes, the return code will be - OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. - @ingroup comp -*/ -#define OMX_GetConfig( \ - hComponent, \ - nConfigIndex, \ - pComponentConfigStructure) \ - ((OMX_COMPONENTTYPE*)hComponent)->GetConfig( \ - hComponent, \ - nConfigIndex, \ - pComponentConfigStructure) /* Macro End */ - - -/** The OMX_SetConfig macro will send one of the configuration - structures to a component. Each structure shall be sent one at a time, - each in a separate invocation of the macro. This macro can be invoked - anytime after the component has been loaded. The application shall - allocate the correct structure and shall fill in the structure size - and version information (as well as the actual data) before invoking - this macro. The application is free to dispose of this structure after - the call as the component is required to copy any data it shall retain. - This is a blocking call. - - The component should return from this call within 5 msec. - - @param [in] hComponent - Handle of the component to be accessed. This is the component - handle returned by the call to the OMX_GetHandle function. - @param [in] nConfigIndex - Index of the structure to be sent. This value is from the - OMX_INDEXTYPE enumeration above. - @param [in] pComponentConfigStructure - pointer to application allocated structure to be used for - initialization by the component. - @return OMX_ERRORTYPE - If the command successfully executes, the return code will be - OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. - @ingroup comp - */ -#define OMX_SetConfig( \ - hComponent, \ - nConfigIndex, \ - pComponentConfigStructure) \ - ((OMX_COMPONENTTYPE*)hComponent)->SetConfig( \ - hComponent, \ - nConfigIndex, \ - pComponentConfigStructure) /* Macro End */ - - -/** The OMX_GetExtensionIndex macro will invoke a component to translate - a vendor specific configuration or parameter string into an OMX - structure index. There is no requirement for the vendor to support - this command for the indexes already found in the OMX_INDEXTYPE - enumeration (this is done to save space in small components). The - component shall support all vendor supplied extension indexes not found - in the master OMX_INDEXTYPE enumeration. This is a blocking call. - - The component should return from this call within 5 msec. - - @param [in] hComponent - Handle of the component to be accessed. This is the component - handle returned by the call to the GetHandle function. - @param [in] cParameterName - OMX_STRING that shall be less than 128 characters long including - the trailing null byte. This is the string that will get - translated by the component into a configuration index. - @param [out] pIndexType - a pointer to a OMX_INDEXTYPE to receive the index value. - @return OMX_ERRORTYPE - If the command successfully executes, the return code will be - OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. - @ingroup comp - */ -#define OMX_GetExtensionIndex( \ - hComponent, \ - cParameterName, \ - pIndexType) \ - ((OMX_COMPONENTTYPE*)hComponent)->GetExtensionIndex( \ - hComponent, \ - cParameterName, \ - pIndexType) /* Macro End */ - - -/** The OMX_GetState macro will invoke the component to get the current - state of the component and place the state value into the location - pointed to by pState. - - The component should return from this call within 5 msec. - - @param [in] hComponent - Handle of the component to be accessed. This is the component - handle returned by the call to the OMX_GetHandle function. - @param [out] pState - pointer to the location to receive the state. The value returned - is one of the OMX_STATETYPE members - @return OMX_ERRORTYPE - If the command successfully executes, the return code will be - OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. - @ingroup comp - */ -#define OMX_GetState( \ - hComponent, \ - pState) \ - ((OMX_COMPONENTTYPE*)hComponent)->GetState( \ - hComponent, \ - pState) /* Macro End */ - - -/** The OMX_UseBuffer macro will request that the component use - a buffer (and allocate its own buffer header) already allocated - by another component, or by the IL Client. This is a blocking - call. - - The component should return from this call within 20 msec. - - @param [in] hComponent - Handle of the component to be accessed. This is the component - handle returned by the call to the OMX_GetHandle function. - @param [out] ppBuffer - pointer to an OMX_BUFFERHEADERTYPE structure used to receive the - pointer to the buffer header - @return OMX_ERRORTYPE - If the command successfully executes, the return code will be - OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. - @ingroup comp buf - */ - -#define OMX_UseBuffer( \ - hComponent, \ - ppBufferHdr, \ - nPortIndex, \ - pAppPrivate, \ - nSizeBytes, \ - pBuffer) \ - ((OMX_COMPONENTTYPE*)hComponent)->UseBuffer( \ - hComponent, \ - ppBufferHdr, \ - nPortIndex, \ - pAppPrivate, \ - nSizeBytes, \ - pBuffer) - - -/** The OMX_AllocateBuffer macro will request that the component allocate - a new buffer and buffer header. The component will allocate the - buffer and the buffer header and return a pointer to the buffer - header. This is a blocking call. - - The component should return from this call within 5 msec. - - @param [in] hComponent - Handle of the component to be accessed. This is the component - handle returned by the call to the OMX_GetHandle function. - @param [out] ppBuffer - pointer to an OMX_BUFFERHEADERTYPE structure used to receive - the pointer to the buffer header - @param [in] nPortIndex - nPortIndex is used to select the port on the component the buffer will - be used with. The port can be found by using the nPortIndex - value as an index into the Port Definition array of the component. - @param [in] pAppPrivate - pAppPrivate is used to initialize the pAppPrivate member of the - buffer header structure. - @param [in] nSizeBytes - size of the buffer to allocate. Used when bAllocateNew is true. - @return OMX_ERRORTYPE - If the command successfully executes, the return code will be - OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. - @ingroup comp buf - */ -#define OMX_AllocateBuffer( \ - hComponent, \ - ppBuffer, \ - nPortIndex, \ - pAppPrivate, \ - nSizeBytes) \ - ((OMX_COMPONENTTYPE*)hComponent)->AllocateBuffer( \ - hComponent, \ - ppBuffer, \ - nPortIndex, \ - pAppPrivate, \ - nSizeBytes) /* Macro End */ - - -/** The OMX_FreeBuffer macro will release a buffer header from the component - which was allocated using either OMX_AllocateBuffer or OMX_UseBuffer. If - the component allocated the buffer (see the OMX_UseBuffer macro) then - the component shall free the buffer and buffer header. This is a - blocking call. - - The component should return from this call within 20 msec. - - @param [in] hComponent - Handle of the component to be accessed. This is the component - handle returned by the call to the OMX_GetHandle function. - @param [in] nPortIndex - nPortIndex is used to select the port on the component the buffer will - be used with. - @param [in] pBuffer - pointer to an OMX_BUFFERHEADERTYPE structure allocated with UseBuffer - or AllocateBuffer. - @return OMX_ERRORTYPE - If the command successfully executes, the return code will be - OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. - @ingroup comp buf - */ -#define OMX_FreeBuffer( \ - hComponent, \ - nPortIndex, \ - pBuffer) \ - ((OMX_COMPONENTTYPE*)hComponent)->FreeBuffer( \ - hComponent, \ - nPortIndex, \ - pBuffer) /* Macro End */ - - -/** The OMX_EmptyThisBuffer macro will send a buffer full of data to an - input port of a component. The buffer will be emptied by the component - and returned to the application via the EmptyBufferDone call back. - This is a non-blocking call in that the component will record the buffer - and return immediately and then empty the buffer, later, at the proper - time. As expected, this macro may be invoked only while the component - is in the OMX_StateExecuting. If nPortIndex does not specify an input - port, the component shall return an error. - - The component should return from this call within 5 msec. - - @param [in] hComponent - Handle of the component to be accessed. This is the component - handle returned by the call to the OMX_GetHandle function. - @param [in] pBuffer - pointer to an OMX_BUFFERHEADERTYPE structure allocated with UseBuffer - or AllocateBuffer. - @return OMX_ERRORTYPE - If the command successfully executes, the return code will be - OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. - @ingroup comp buf - */ -#define OMX_EmptyThisBuffer( \ - hComponent, \ - pBuffer) \ - ((OMX_COMPONENTTYPE*)hComponent)->EmptyThisBuffer( \ - hComponent, \ - pBuffer) /* Macro End */ - - -/** The OMX_FillThisBuffer macro will send an empty buffer to an - output port of a component. The buffer will be filled by the component - and returned to the application via the FillBufferDone call back. - This is a non-blocking call in that the component will record the buffer - and return immediately and then fill the buffer, later, at the proper - time. As expected, this macro may be invoked only while the component - is in the OMX_ExecutingState. If nPortIndex does not specify an output - port, the component shall return an error. - - The component should return from this call within 5 msec. - - @param [in] hComponent - Handle of the component to be accessed. This is the component - handle returned by the call to the OMX_GetHandle function. - @param [in] pBuffer - pointer to an OMX_BUFFERHEADERTYPE structure allocated with UseBuffer - or AllocateBuffer. - @return OMX_ERRORTYPE - If the command successfully executes, the return code will be - OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. - @ingroup comp buf - */ -#define OMX_FillThisBuffer( \ - hComponent, \ - pBuffer) \ - ((OMX_COMPONENTTYPE*)hComponent)->FillThisBuffer( \ - hComponent, \ - pBuffer) /* Macro End */ - - - -/** The OMX_UseEGLImage macro will request that the component use - a EGLImage provided by EGL (and allocate its own buffer header) - This is a blocking call. - - The component should return from this call within 20 msec. - - @param [in] hComponent - Handle of the component to be accessed. This is the component - handle returned by the call to the OMX_GetHandle function. - @param [out] ppBuffer - pointer to an OMX_BUFFERHEADERTYPE structure used to receive the - pointer to the buffer header. Note that the memory location used - for this buffer is NOT visible to the IL Client. - @param [in] nPortIndex - nPortIndex is used to select the port on the component the buffer will - be used with. The port can be found by using the nPortIndex - value as an index into the Port Definition array of the component. - @param [in] pAppPrivate - pAppPrivate is used to initialize the pAppPrivate member of the - buffer header structure. - @param [in] eglImage - eglImage contains the handle of the EGLImage to use as a buffer on the - specified port. The component is expected to validate properties of - the EGLImage against the configuration of the port to ensure the component - can use the EGLImage as a buffer. - @return OMX_ERRORTYPE - If the command successfully executes, the return code will be - OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. - @ingroup comp buf - */ -#define OMX_UseEGLImage( \ - hComponent, \ - ppBufferHdr, \ - nPortIndex, \ - pAppPrivate, \ - eglImage) \ - ((OMX_COMPONENTTYPE*)hComponent)->UseEGLImage( \ - hComponent, \ - ppBufferHdr, \ - nPortIndex, \ - pAppPrivate, \ - eglImage) - -/** The OMX_Init method is used to initialize the OMX core. It shall be the - first call made into OMX and it should only be executed one time without - an interviening OMX_Deinit call. - - The core should return from this call within 20 msec. - - @return OMX_ERRORTYPE - If the command successfully executes, the return code will be - OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. - @ingroup core - */ -OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_Init(void); - - -/** The OMX_Deinit method is used to deinitialize the OMX core. It shall be - the last call made into OMX. In the event that the core determines that - thare are components loaded when this call is made, the core may return - with an error rather than try to unload the components. - - The core should return from this call within 20 msec. - - @return OMX_ERRORTYPE - If the command successfully executes, the return code will be - OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. - @ingroup core - */ -OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_Deinit(void); - - -/** The OMX_ComponentNameEnum method will enumerate through all the names of - recognised valid components in the system. This function is provided - as a means to detect all the components in the system run-time. There is - no strict ordering to the enumeration order of component names, although - each name will only be enumerated once. If the OMX core supports run-time - installation of new components, it is only requried to detect newly - installed components when the first call to enumerate component names - is made (i.e. when nIndex is 0x0). - - The core should return from this call in 20 msec. - - @param [out] cComponentName - pointer to a null terminated string with the component name. The - names of the components are strings less than 127 bytes in length - plus the trailing null for a maximum size of 128 bytes. An example - of a valid component name is "OMX.TI.AUDIO.DSP.MIXER\0". Names are - assigned by the vendor, but shall start with "OMX." and then have - the Vendor designation next. - @param [in] nNameLength - number of characters in the cComponentName string. With all - component name strings restricted to less than 128 characters - (including the trailing null) it is recomended that the caller - provide a input string for the cComponentName of 128 characters. - @param [in] nIndex - number containing the enumeration index for the component. - Multiple calls to OMX_ComponentNameEnum with increasing values - of nIndex will enumerate through the component names in the - system until OMX_ErrorNoMore is returned. The value of nIndex - is 0 to (N-1), where N is the number of valid installed components - in the system. - @return OMX_ERRORTYPE - If the command successfully executes, the return code will be - OMX_ErrorNone. When the value of nIndex exceeds the number of - components in the system minus 1, OMX_ErrorNoMore will be - returned. Otherwise the appropriate OMX error will be returned. - @ingroup core - */ -OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_ComponentNameEnum( - OMX_OUT OMX_STRING cComponentName, - OMX_IN OMX_U32 nNameLength, - OMX_IN OMX_U32 nIndex); - - -/** The OMX_GetHandle method will locate the component specified by the - component name given, load that component into memory and then invoke - the component's methods to create an instance of the component. - - The core should return from this call within 20 msec. - - @param [out] pHandle - pointer to an OMX_HANDLETYPE pointer to be filled in by this method. - @param [in] cComponentName - pointer to a null terminated string with the component name. The - names of the components are strings less than 127 bytes in length - plus the trailing null for a maximum size of 128 bytes. An example - of a valid component name is "OMX.TI.AUDIO.DSP.MIXER\0". Names are - assigned by the vendor, but shall start with "OMX." and then have - the Vendor designation next. - @param [in] pAppData - pointer to an application defined value that will be returned - during callbacks so that the application can identify the source - of the callback. - @param [in] pCallBacks - pointer to a OMX_CALLBACKTYPE structure that will be passed to the - component to initialize it with. - @return OMX_ERRORTYPE - If the command successfully executes, the return code will be - OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. - @ingroup core - */ -OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_GetHandle( - OMX_OUT OMX_HANDLETYPE* pHandle, - OMX_IN OMX_STRING cComponentName, - OMX_IN OMX_PTR pAppData, - OMX_IN OMX_CALLBACKTYPE* pCallBacks); - - -/** The OMX_FreeHandle method will free a handle allocated by the OMX_GetHandle - method. If the component reference count goes to zero, the component will - be unloaded from memory. - - The core should return from this call within 20 msec when the component is - in the OMX_StateLoaded state. - - @param [in] hComponent - Handle of the component to be accessed. This is the component - handle returned by the call to the GetHandle function. - @return OMX_ERRORTYPE - If the command successfully executes, the return code will be - OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. - @ingroup core - */ -OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_FreeHandle( - OMX_IN OMX_HANDLETYPE hComponent); - - - -/** The OMX_SetupTunnel method will handle the necessary calls to the components - to setup the specified tunnel the two components. NOTE: This is - an actual method (not a #define macro). This method will make calls into - the component ComponentTunnelRequest method to do the actual tunnel - connection. - - The ComponentTunnelRequest method on both components will be called. - This method shall not be called unless the component is in the - OMX_StateLoaded state except when the ports used for the tunnel are - disabled. In this case, the component may be in the OMX_StateExecuting, - OMX_StatePause, or OMX_StateIdle states. - - The core should return from this call within 20 msec. - - @param [in] hOutput - Handle of the component to be accessed. Also this is the handle - of the component whose port, specified in the nPortOutput parameter - will be used the source for the tunnel. This is the component handle - returned by the call to the OMX_GetHandle function. There is a - requirement that hOutput be the source for the data when - tunelling (i.e. nPortOutput is an output port). If 0x0, the component - specified in hInput will have it's port specified in nPortInput - setup for communication with the application / IL client. - @param [in] nPortOutput - nPortOutput is used to select the source port on component to be - used in the tunnel. - @param [in] hInput - This is the component to setup the tunnel with. This is the handle - of the component whose port, specified in the nPortInput parameter - will be used the destination for the tunnel. This is the component handle - returned by the call to the OMX_GetHandle function. There is a - requirement that hInput be the destination for the data when - tunelling (i.e. nPortInut is an input port). If 0x0, the component - specified in hOutput will have it's port specified in nPortPOutput - setup for communication with the application / IL client. - @param [in] nPortInput - nPortInput is used to select the destination port on component to be - used in the tunnel. - @return OMX_ERRORTYPE - If the command successfully executes, the return code will be - OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. - When OMX_ErrorNotImplemented is returned, one or both components is - a non-interop component and does not support tunneling. - - On failure, the ports of both components are setup for communication - with the application / IL Client. - @ingroup core tun - */ -OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_SetupTunnel( - OMX_IN OMX_HANDLETYPE hOutput, - OMX_IN OMX_U32 nPortOutput, - OMX_IN OMX_HANDLETYPE hInput, - OMX_IN OMX_U32 nPortInput); - -/** @ingroup cp */ -OMX_API OMX_ERRORTYPE OMX_GetContentPipe( - OMX_OUT OMX_HANDLETYPE *hPipe, - OMX_IN OMX_STRING szURI); - -/** The OMX_GetComponentsOfRole method will return the number of components that support the given - role and (if the compNames field is non-NULL) the names of those components. The call will fail if - an insufficiently sized array of names is supplied. To ensure the array is sufficiently sized the - client should: - * first call this function with the compNames field NULL to determine the number of component names - * second call this function with the compNames field pointing to an array of names allocated - according to the number returned by the first call. - - The core should return from this call within 5 msec. - - @param [in] role - This is generic standard component name consisting only of component class - name and the type within that class (e.g. 'audio_decoder.aac'). - @param [inout] pNumComps - This is used both as input and output. - - If compNames is NULL, the input is ignored and the output specifies how many components support - the given role. - - If compNames is not NULL, on input it bounds the size of the input structure and - on output, it specifies the number of components string names listed within the compNames parameter. - @param [inout] compNames - If NULL this field is ignored. If non-NULL this points to an array of 128-byte strings which accepts - a list of the names of all physical components that implement the specified standard component name. - Each name is NULL terminated. numComps indicates the number of names. - @ingroup core - */ -OMX_API OMX_ERRORTYPE OMX_GetComponentsOfRole ( - OMX_IN OMX_STRING role, - OMX_INOUT OMX_U32 *pNumComps, - OMX_INOUT OMX_U8 **compNames); - -/** The OMX_GetRolesOfComponent method will return the number of roles supported by the given - component and (if the roles field is non-NULL) the names of those roles. The call will fail if - an insufficiently sized array of names is supplied. To ensure the array is sufficiently sized the - client should: - * first call this function with the roles field NULL to determine the number of role names - * second call this function with the roles field pointing to an array of names allocated - according to the number returned by the first call. - - The core should return from this call within 5 msec. - - @param [in] compName - This is the name of the component being queried about. - @param [inout] pNumRoles - This is used both as input and output. - - If roles is NULL, the input is ignored and the output specifies how many roles the component supports. - - If compNames is not NULL, on input it bounds the size of the input structure and - on output, it specifies the number of roles string names listed within the roles parameter. - @param [out] roles - If NULL this field is ignored. If non-NULL this points to an array of 128-byte strings - which accepts a list of the names of all standard components roles implemented on the - specified component name. numComps indicates the number of names. - @ingroup core - */ -OMX_API OMX_ERRORTYPE OMX_GetRolesOfComponent ( - OMX_IN OMX_STRING compName, - OMX_INOUT OMX_U32 *pNumRoles, - OMX_OUT OMX_U8 **roles); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif -/* File EOF */ - diff --git a/third_party/openmax/il/OMX_IVCommon.h b/third_party/openmax/il/OMX_IVCommon.h deleted file mode 100644 index 4c4995ce04..0000000000 --- a/third_party/openmax/il/OMX_IVCommon.h +++ /dev/null @@ -1,920 +0,0 @@ -/** - * Copyright (c) 2008 The Khronos Group Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject - * to the following conditions: - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - */ - -/** - * @file OMX_IVCommon.h - OpenMax IL version 1.1.2 - * The structures needed by Video and Image components to exchange - * parameters and configuration data with the components. - */ -#ifndef OMX_IVCommon_h -#define OMX_IVCommon_h - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -/** - * Each OMX header must include all required header files to allow the header - * to compile without errors. The includes below are required for this header - * file to compile successfully - */ - -#include <OMX_Core.h> - -/** @defgroup iv OpenMAX IL Imaging and Video Domain - * Common structures for OpenMAX IL Imaging and Video domains - * @{ - */ - - -/** - * Enumeration defining possible uncompressed image/video formats. - * - * ENUMS: - * Unused : Placeholder value when format is N/A - * Monochrome : black and white - * 8bitRGB332 : Red 7:5, Green 4:2, Blue 1:0 - * 12bitRGB444 : Red 11:8, Green 7:4, Blue 3:0 - * 16bitARGB4444 : Alpha 15:12, Red 11:8, Green 7:4, Blue 3:0 - * 16bitARGB1555 : Alpha 15, Red 14:10, Green 9:5, Blue 4:0 - * 16bitRGB565 : Red 15:11, Green 10:5, Blue 4:0 - * 16bitBGR565 : Blue 15:11, Green 10:5, Red 4:0 - * 18bitRGB666 : Red 17:12, Green 11:6, Blue 5:0 - * 18bitARGB1665 : Alpha 17, Red 16:11, Green 10:5, Blue 4:0 - * 19bitARGB1666 : Alpha 18, Red 17:12, Green 11:6, Blue 5:0 - * 24bitRGB888 : Red 24:16, Green 15:8, Blue 7:0 - * 24bitBGR888 : Blue 24:16, Green 15:8, Red 7:0 - * 24bitARGB1887 : Alpha 23, Red 22:15, Green 14:7, Blue 6:0 - * 25bitARGB1888 : Alpha 24, Red 23:16, Green 15:8, Blue 7:0 - * 32bitBGRA8888 : Blue 31:24, Green 23:16, Red 15:8, Alpha 7:0 - * 32bitARGB8888 : Alpha 31:24, Red 23:16, Green 15:8, Blue 7:0 - * YUV411Planar : U,Y are subsampled by a factor of 4 horizontally - * YUV411PackedPlanar : packed per payload in planar slices - * YUV420Planar : Three arrays Y,U,V. - * YUV420PackedPlanar : packed per payload in planar slices - * YUV420SemiPlanar : Two arrays, one is all Y, the other is U and V - * YUV422Planar : Three arrays Y,U,V. - * YUV422PackedPlanar : packed per payload in planar slices - * YUV422SemiPlanar : Two arrays, one is all Y, the other is U and V - * YCbYCr : Organized as 16bit YUYV (i.e. YCbYCr) - * YCrYCb : Organized as 16bit YVYU (i.e. YCrYCb) - * CbYCrY : Organized as 16bit UYVY (i.e. CbYCrY) - * CrYCbY : Organized as 16bit VYUY (i.e. CrYCbY) - * YUV444Interleaved : Each pixel contains equal parts YUV - * RawBayer8bit : SMIA camera output format - * RawBayer10bit : SMIA camera output format - * RawBayer8bitcompressed : SMIA camera output format - */ -typedef enum OMX_COLOR_FORMATTYPE { - OMX_COLOR_FormatUnused, - OMX_COLOR_FormatMonochrome, - OMX_COLOR_Format8bitRGB332, - OMX_COLOR_Format12bitRGB444, - OMX_COLOR_Format16bitARGB4444, - OMX_COLOR_Format16bitARGB1555, - OMX_COLOR_Format16bitRGB565, - OMX_COLOR_Format16bitBGR565, - OMX_COLOR_Format18bitRGB666, - OMX_COLOR_Format18bitARGB1665, - OMX_COLOR_Format19bitARGB1666, - OMX_COLOR_Format24bitRGB888, - OMX_COLOR_Format24bitBGR888, - OMX_COLOR_Format24bitARGB1887, - OMX_COLOR_Format25bitARGB1888, - OMX_COLOR_Format32bitBGRA8888, - OMX_COLOR_Format32bitARGB8888, - OMX_COLOR_FormatYUV411Planar, - OMX_COLOR_FormatYUV411PackedPlanar, - OMX_COLOR_FormatYUV420Planar, - OMX_COLOR_FormatYUV420PackedPlanar, - OMX_COLOR_FormatYUV420SemiPlanar, - OMX_COLOR_FormatYUV422Planar, - OMX_COLOR_FormatYUV422PackedPlanar, - OMX_COLOR_FormatYUV422SemiPlanar, - OMX_COLOR_FormatYCbYCr, - OMX_COLOR_FormatYCrYCb, - OMX_COLOR_FormatCbYCrY, - OMX_COLOR_FormatCrYCbY, - OMX_COLOR_FormatYUV444Interleaved, - OMX_COLOR_FormatRawBayer8bit, - OMX_COLOR_FormatRawBayer10bit, - OMX_COLOR_FormatRawBayer8bitcompressed, - OMX_COLOR_FormatL2, - OMX_COLOR_FormatL4, - OMX_COLOR_FormatL8, - OMX_COLOR_FormatL16, - OMX_COLOR_FormatL24, - OMX_COLOR_FormatL32, - OMX_COLOR_FormatYUV420PackedSemiPlanar, - OMX_COLOR_FormatYUV422PackedSemiPlanar, - OMX_COLOR_Format18BitBGR666, - OMX_COLOR_Format24BitARGB6666, - OMX_COLOR_Format24BitABGR6666, - OMX_COLOR_FormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_COLOR_FormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_COLOR_FormatMax = 0x7FFFFFFF -} OMX_COLOR_FORMATTYPE; - - -/** - * Defines the matrix for conversion from RGB to YUV or vice versa. - * iColorMatrix should be initialized with the fixed point values - * used in converting between formats. - */ -typedef struct OMX_CONFIG_COLORCONVERSIONTYPE { - OMX_U32 nSize; /**< Size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version info */ - OMX_U32 nPortIndex; /**< Port that this struct applies to */ - OMX_S32 xColorMatrix[3][3]; /**< Stored in signed Q16 format */ - OMX_S32 xColorOffset[4]; /**< Stored in signed Q16 format */ -}OMX_CONFIG_COLORCONVERSIONTYPE; - - -/** - * Structure defining percent to scale each frame dimension. For example: - * To make the width 50% larger, use fWidth = 1.5 and to make the width - * 1/2 the original size, use fWidth = 0.5 - */ -typedef struct OMX_CONFIG_SCALEFACTORTYPE { - OMX_U32 nSize; /**< Size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version info */ - OMX_U32 nPortIndex; /**< Port that this struct applies to */ - OMX_S32 xWidth; /**< Fixed point value stored as Q16 */ - OMX_S32 xHeight; /**< Fixed point value stored as Q16 */ -}OMX_CONFIG_SCALEFACTORTYPE; - - -/** - * Enumeration of possible image filter types - */ -typedef enum OMX_IMAGEFILTERTYPE { - OMX_ImageFilterNone, - OMX_ImageFilterNoise, - OMX_ImageFilterEmboss, - OMX_ImageFilterNegative, - OMX_ImageFilterSketch, - OMX_ImageFilterOilPaint, - OMX_ImageFilterHatch, - OMX_ImageFilterGpen, - OMX_ImageFilterAntialias, - OMX_ImageFilterDeRing, - OMX_ImageFilterSolarize, - OMX_ImageFilterKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_ImageFilterVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_ImageFilterMax = 0x7FFFFFFF -} OMX_IMAGEFILTERTYPE; - - -/** - * Image filter configuration - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * eImageFilter : Image filter type enumeration - */ -typedef struct OMX_CONFIG_IMAGEFILTERTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_IMAGEFILTERTYPE eImageFilter; -} OMX_CONFIG_IMAGEFILTERTYPE; - - -/** - * Customized U and V for color enhancement - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * bColorEnhancement : Enable/disable color enhancement - * nCustomizedU : Practical values: 16-240, range: 0-255, value set for - * U component - * nCustomizedV : Practical values: 16-240, range: 0-255, value set for - * V component - */ -typedef struct OMX_CONFIG_COLORENHANCEMENTTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_BOOL bColorEnhancement; - OMX_U8 nCustomizedU; - OMX_U8 nCustomizedV; -} OMX_CONFIG_COLORENHANCEMENTTYPE; - - -/** - * Define color key and color key mask - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * nARGBColor : 32bit Alpha, Red, Green, Blue Color - * nARGBMask : 32bit Mask for Alpha, Red, Green, Blue channels - */ -typedef struct OMX_CONFIG_COLORKEYTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_U32 nARGBColor; - OMX_U32 nARGBMask; -} OMX_CONFIG_COLORKEYTYPE; - - -/** - * List of color blend types for pre/post processing - * - * ENUMS: - * None : No color blending present - * AlphaConstant : Function is (alpha_constant * src) + - * (1 - alpha_constant) * dst) - * AlphaPerPixel : Function is (alpha * src) + (1 - alpha) * dst) - * Alternate : Function is alternating pixels from src and dst - * And : Function is (src & dst) - * Or : Function is (src | dst) - * Invert : Function is ~src - */ -typedef enum OMX_COLORBLENDTYPE { - OMX_ColorBlendNone, - OMX_ColorBlendAlphaConstant, - OMX_ColorBlendAlphaPerPixel, - OMX_ColorBlendAlternate, - OMX_ColorBlendAnd, - OMX_ColorBlendOr, - OMX_ColorBlendInvert, - OMX_ColorBlendKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_ColorBlendVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_ColorBlendMax = 0x7FFFFFFF -} OMX_COLORBLENDTYPE; - - -/** - * Color blend configuration - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * nRGBAlphaConstant : Constant global alpha values when global alpha is used - * eColorBlend : Color blend type enumeration - */ -typedef struct OMX_CONFIG_COLORBLENDTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_U32 nRGBAlphaConstant; - OMX_COLORBLENDTYPE eColorBlend; -} OMX_CONFIG_COLORBLENDTYPE; - - -/** - * Hold frame dimension - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * nWidth : Frame width in pixels - * nHeight : Frame height in pixels - */ -typedef struct OMX_FRAMESIZETYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_U32 nWidth; - OMX_U32 nHeight; -} OMX_FRAMESIZETYPE; - - -/** - * Rotation configuration - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * nRotation : +/- integer rotation value - */ -typedef struct OMX_CONFIG_ROTATIONTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_S32 nRotation; -} OMX_CONFIG_ROTATIONTYPE; - - -/** - * Possible mirroring directions for pre/post processing - * - * ENUMS: - * None : No mirroring - * Vertical : Vertical mirroring, flip on X axis - * Horizontal : Horizontal mirroring, flip on Y axis - * Both : Both vertical and horizontal mirroring - */ -typedef enum OMX_MIRRORTYPE { - OMX_MirrorNone = 0, - OMX_MirrorVertical, - OMX_MirrorHorizontal, - OMX_MirrorBoth, - OMX_MirrorKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_MirrorVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_MirrorMax = 0x7FFFFFFF -} OMX_MIRRORTYPE; - - -/** - * Mirroring configuration - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * eMirror : Mirror type enumeration - */ -typedef struct OMX_CONFIG_MIRRORTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_MIRRORTYPE eMirror; -} OMX_CONFIG_MIRRORTYPE; - - -/** - * Position information only - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * nX : X coordinate for the point - * nY : Y coordinate for the point - */ -typedef struct OMX_CONFIG_POINTTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_S32 nX; - OMX_S32 nY; -} OMX_CONFIG_POINTTYPE; - - -/** - * Frame size plus position - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * nLeft : X Coordinate of the top left corner of the rectangle - * nTop : Y Coordinate of the top left corner of the rectangle - * nWidth : Width of the rectangle - * nHeight : Height of the rectangle - */ -typedef struct OMX_CONFIG_RECTTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_S32 nLeft; - OMX_S32 nTop; - OMX_U32 nWidth; - OMX_U32 nHeight; -} OMX_CONFIG_RECTTYPE; - - -/** - * Deblocking state; it is required to be set up before starting the codec - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * bDeblocking : Enable/disable deblocking mode - */ -typedef struct OMX_PARAM_DEBLOCKINGTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_BOOL bDeblocking; -} OMX_PARAM_DEBLOCKINGTYPE; - - -/** - * Stabilization state - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * bStab : Enable/disable frame stabilization state - */ -typedef struct OMX_CONFIG_FRAMESTABTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_BOOL bStab; -} OMX_CONFIG_FRAMESTABTYPE; - - -/** - * White Balance control type - * - * STRUCT MEMBERS: - * SunLight : Referenced in JSR-234 - * Flash : Optimal for device's integrated flash - */ -typedef enum OMX_WHITEBALCONTROLTYPE { - OMX_WhiteBalControlOff = 0, - OMX_WhiteBalControlAuto, - OMX_WhiteBalControlSunLight, - OMX_WhiteBalControlCloudy, - OMX_WhiteBalControlShade, - OMX_WhiteBalControlTungsten, - OMX_WhiteBalControlFluorescent, - OMX_WhiteBalControlIncandescent, - OMX_WhiteBalControlFlash, - OMX_WhiteBalControlHorizon, - OMX_WhiteBalControlKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_WhiteBalControlVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_WhiteBalControlMax = 0x7FFFFFFF -} OMX_WHITEBALCONTROLTYPE; - - -/** - * White Balance control configuration - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * eWhiteBalControl : White balance enumeration - */ -typedef struct OMX_CONFIG_WHITEBALCONTROLTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_WHITEBALCONTROLTYPE eWhiteBalControl; -} OMX_CONFIG_WHITEBALCONTROLTYPE; - - -/** - * Exposure control type - */ -typedef enum OMX_EXPOSURECONTROLTYPE { - OMX_ExposureControlOff = 0, - OMX_ExposureControlAuto, - OMX_ExposureControlNight, - OMX_ExposureControlBackLight, - OMX_ExposureControlSpotLight, - OMX_ExposureControlSports, - OMX_ExposureControlSnow, - OMX_ExposureControlBeach, - OMX_ExposureControlLargeAperture, - OMX_ExposureControlSmallApperture, - OMX_ExposureControlKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_ExposureControlVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_ExposureControlMax = 0x7FFFFFFF -} OMX_EXPOSURECONTROLTYPE; - - -/** - * White Balance control configuration - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * eExposureControl : Exposure control enumeration - */ -typedef struct OMX_CONFIG_EXPOSURECONTROLTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_EXPOSURECONTROLTYPE eExposureControl; -} OMX_CONFIG_EXPOSURECONTROLTYPE; - - -/** - * Defines sensor supported mode. - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * nFrameRate : Single shot mode is indicated by a 0 - * bOneShot : Enable for single shot, disable for streaming - * sFrameSize : Framesize - */ -typedef struct OMX_PARAM_SENSORMODETYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_U32 nFrameRate; - OMX_BOOL bOneShot; - OMX_FRAMESIZETYPE sFrameSize; -} OMX_PARAM_SENSORMODETYPE; - - -/** - * Defines contrast level - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * nContrast : Values allowed for contrast -100 to 100, zero means no change - */ -typedef struct OMX_CONFIG_CONTRASTTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_S32 nContrast; -} OMX_CONFIG_CONTRASTTYPE; - - -/** - * Defines brightness level - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * nBrightness : 0-100% - */ -typedef struct OMX_CONFIG_BRIGHTNESSTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_U32 nBrightness; -} OMX_CONFIG_BRIGHTNESSTYPE; - - -/** - * Defines backlight level configuration for a video sink, e.g. LCD panel - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * nBacklight : Values allowed for backlight 0-100% - * nTimeout : Number of milliseconds before backlight automatically turns - * off. A value of 0x0 disables backight timeout - */ -typedef struct OMX_CONFIG_BACKLIGHTTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_U32 nBacklight; - OMX_U32 nTimeout; -} OMX_CONFIG_BACKLIGHTTYPE; - - -/** - * Defines setting for Gamma - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * nGamma : Values allowed for gamma -100 to 100, zero means no change - */ -typedef struct OMX_CONFIG_GAMMATYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_S32 nGamma; -} OMX_CONFIG_GAMMATYPE; - - -/** - * Define for setting saturation - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * nSaturation : Values allowed for saturation -100 to 100, zero means - * no change - */ -typedef struct OMX_CONFIG_SATURATIONTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_S32 nSaturation; -} OMX_CONFIG_SATURATIONTYPE; - - -/** - * Define for setting Lightness - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * nLightness : Values allowed for lightness -100 to 100, zero means no - * change - */ -typedef struct OMX_CONFIG_LIGHTNESSTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_S32 nLightness; -} OMX_CONFIG_LIGHTNESSTYPE; - - -/** - * Plane blend configuration - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Index of input port associated with the plane. - * nDepth : Depth of the plane in relation to the screen. Higher - * numbered depths are "behind" lower number depths. - * This number defaults to the Port Index number. - * nAlpha : Transparency blending component for the entire plane. - * See blending modes for more detail. - */ -typedef struct OMX_CONFIG_PLANEBLENDTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_U32 nDepth; - OMX_U32 nAlpha; -} OMX_CONFIG_PLANEBLENDTYPE; - - -/** - * Define interlace type - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * bEnable : Enable control variable for this functionality - * (see below) - * nInterleavePortIndex : Index of input or output port associated with - * the interleaved plane. - * pPlanarPortIndexes[4] : Index of input or output planar ports. - */ -typedef struct OMX_PARAM_INTERLEAVETYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_BOOL bEnable; - OMX_U32 nInterleavePortIndex; -} OMX_PARAM_INTERLEAVETYPE; - - -/** - * Defines the picture effect used for an input picture - */ -typedef enum OMX_TRANSITIONEFFECTTYPE { - OMX_EffectNone, - OMX_EffectFadeFromBlack, - OMX_EffectFadeToBlack, - OMX_EffectUnspecifiedThroughConstantColor, - OMX_EffectDissolve, - OMX_EffectWipe, - OMX_EffectUnspecifiedMixOfTwoScenes, - OMX_EffectKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_EffectVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_EffectMax = 0x7FFFFFFF -} OMX_TRANSITIONEFFECTTYPE; - - -/** - * Structure used to configure current transition effect - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * eEffect : Effect to enable - */ -typedef struct OMX_CONFIG_TRANSITIONEFFECTTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_TRANSITIONEFFECTTYPE eEffect; -} OMX_CONFIG_TRANSITIONEFFECTTYPE; - - -/** - * Defines possible data unit types for encoded video data. The data unit - * types are used both for encoded video input for playback as well as - * encoded video output from recording. - */ -typedef enum OMX_DATAUNITTYPE { - OMX_DataUnitCodedPicture, - OMX_DataUnitVideoSegment, - OMX_DataUnitSeveralSegments, - OMX_DataUnitArbitraryStreamSection, - OMX_DataUnitKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_DataUnitVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_DataUnitMax = 0x7FFFFFFF -} OMX_DATAUNITTYPE; - - -/** - * Defines possible encapsulation types for coded video data unit. The - * encapsulation information is used both for encoded video input for - * playback as well as encoded video output from recording. - */ -typedef enum OMX_DATAUNITENCAPSULATIONTYPE { - OMX_DataEncapsulationElementaryStream, - OMX_DataEncapsulationGenericPayload, - OMX_DataEncapsulationRtpPayload, - OMX_DataEncapsulationKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_DataEncapsulationVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_DataEncapsulationMax = 0x7FFFFFFF -} OMX_DATAUNITENCAPSULATIONTYPE; - - -/** - * Structure used to configure the type of being decoded/encoded - */ -typedef struct OMX_PARAM_DATAUNITTYPE { - OMX_U32 nSize; /**< Size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< Port that this structure applies to */ - OMX_DATAUNITTYPE eUnitType; - OMX_DATAUNITENCAPSULATIONTYPE eEncapsulationType; -} OMX_PARAM_DATAUNITTYPE; - - -/** - * Defines dither types - */ -typedef enum OMX_DITHERTYPE { - OMX_DitherNone, - OMX_DitherOrdered, - OMX_DitherErrorDiffusion, - OMX_DitherOther, - OMX_DitherKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_DitherVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_DitherMax = 0x7FFFFFFF -} OMX_DITHERTYPE; - - -/** - * Structure used to configure current type of dithering - */ -typedef struct OMX_CONFIG_DITHERTYPE { - OMX_U32 nSize; /**< Size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< Port that this structure applies to */ - OMX_DITHERTYPE eDither; /**< Type of dithering to use */ -} OMX_CONFIG_DITHERTYPE; - -typedef struct OMX_CONFIG_CAPTUREMODETYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; /**< Port that this structure applies to */ - OMX_BOOL bContinuous; /**< If true then ignore frame rate and emit capture - * data as fast as possible (otherwise obey port's frame rate). */ - OMX_BOOL bFrameLimited; /**< If true then terminate capture after the port emits the - * specified number of frames (otherwise the port does not - * terminate the capture until instructed to do so by the client). - * Even if set, the client may manually terminate the capture prior - * to reaching the limit. */ - OMX_U32 nFrameLimit; /**< Limit on number of frames emitted during a capture (only - * valid if bFrameLimited is set). */ -} OMX_CONFIG_CAPTUREMODETYPE; - -typedef enum OMX_METERINGTYPE { - - OMX_MeteringModeAverage, /**< Center-weighted average metering. */ - OMX_MeteringModeSpot, /**< Spot (partial) metering. */ - OMX_MeteringModeMatrix, /**< Matrix or evaluative metering. */ - - OMX_MeteringKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_MeteringVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_EVModeMax = 0x7fffffff -} OMX_METERINGTYPE; - -typedef struct OMX_CONFIG_EXPOSUREVALUETYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_METERINGTYPE eMetering; - OMX_S32 xEVCompensation; /**< Fixed point value stored as Q16 */ - OMX_U32 nApertureFNumber; /**< e.g. nApertureFNumber = 2 implies "f/2" - Q16 format */ - OMX_BOOL bAutoAperture; /**< Whether aperture number is defined automatically */ - OMX_U32 nShutterSpeedMsec; /**< Shutterspeed in milliseconds */ - OMX_BOOL bAutoShutterSpeed; /**< Whether shutter speed is defined automatically */ - OMX_U32 nSensitivity; /**< e.g. nSensitivity = 100 implies "ISO 100" */ - OMX_BOOL bAutoSensitivity; /**< Whether sensitivity is defined automatically */ -} OMX_CONFIG_EXPOSUREVALUETYPE; - -/** - * Focus region configuration - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * bCenter : Use center region as focus region of interest - * bLeft : Use left region as focus region of interest - * bRight : Use right region as focus region of interest - * bTop : Use top region as focus region of interest - * bBottom : Use bottom region as focus region of interest - * bTopLeft : Use top left region as focus region of interest - * bTopRight : Use top right region as focus region of interest - * bBottomLeft : Use bottom left region as focus region of interest - * bBottomRight : Use bottom right region as focus region of interest - */ -typedef struct OMX_CONFIG_FOCUSREGIONTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_BOOL bCenter; - OMX_BOOL bLeft; - OMX_BOOL bRight; - OMX_BOOL bTop; - OMX_BOOL bBottom; - OMX_BOOL bTopLeft; - OMX_BOOL bTopRight; - OMX_BOOL bBottomLeft; - OMX_BOOL bBottomRight; -} OMX_CONFIG_FOCUSREGIONTYPE; - -/** - * Focus Status type - */ -typedef enum OMX_FOCUSSTATUSTYPE { - OMX_FocusStatusOff = 0, - OMX_FocusStatusRequest, - OMX_FocusStatusReached, - OMX_FocusStatusUnableToReach, - OMX_FocusStatusLost, - OMX_FocusStatusKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_FocusStatusVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_FocusStatusMax = 0x7FFFFFFF -} OMX_FOCUSSTATUSTYPE; - -/** - * Focus status configuration - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * eFocusStatus : Specifies the focus status - * bCenterStatus : Use center region as focus region of interest - * bLeftStatus : Use left region as focus region of interest - * bRightStatus : Use right region as focus region of interest - * bTopStatus : Use top region as focus region of interest - * bBottomStatus : Use bottom region as focus region of interest - * bTopLeftStatus : Use top left region as focus region of interest - * bTopRightStatus : Use top right region as focus region of interest - * bBottomLeftStatus : Use bottom left region as focus region of interest - * bBottomRightStatus : Use bottom right region as focus region of interest - */ -typedef struct OMX_PARAM_FOCUSSTATUSTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_FOCUSSTATUSTYPE eFocusStatus; - OMX_BOOL bCenterStatus; - OMX_BOOL bLeftStatus; - OMX_BOOL bRightStatus; - OMX_BOOL bTopStatus; - OMX_BOOL bBottomStatus; - OMX_BOOL bTopLeftStatus; - OMX_BOOL bTopRightStatus; - OMX_BOOL bBottomLeftStatus; - OMX_BOOL bBottomRightStatus; -} OMX_PARAM_FOCUSSTATUSTYPE; - -/** @} */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif -/* File EOF */ diff --git a/third_party/openmax/il/OMX_Image.h b/third_party/openmax/il/OMX_Image.h deleted file mode 100644 index a6d4666c03..0000000000 --- a/third_party/openmax/il/OMX_Image.h +++ /dev/null @@ -1,328 +0,0 @@ -/** - * Copyright (c) 2008 The Khronos Group Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject - * to the following conditions: - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -/** - * @file OMX_Image.h - OpenMax IL version 1.1.2 - * The structures needed by Image components to exchange parameters and - * configuration data with the components. - */ -#ifndef OMX_Image_h -#define OMX_Image_h - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - - -/** - * Each OMX header must include all required header files to allow the - * header to compile without errors. The includes below are required - * for this header file to compile successfully - */ - -#include <OMX_IVCommon.h> - -/** @defgroup imaging OpenMAX IL Imaging Domain - * @ingroup iv - * Structures for OpenMAX IL Imaging domain - * @{ - */ - -/** - * Enumeration used to define the possible image compression coding. - */ -typedef enum OMX_IMAGE_CODINGTYPE { - OMX_IMAGE_CodingUnused, /**< Value when format is N/A */ - OMX_IMAGE_CodingAutoDetect, /**< Auto detection of image format */ - OMX_IMAGE_CodingJPEG, /**< JPEG/JFIF image format */ - OMX_IMAGE_CodingJPEG2K, /**< JPEG 2000 image format */ - OMX_IMAGE_CodingEXIF, /**< EXIF image format */ - OMX_IMAGE_CodingTIFF, /**< TIFF image format */ - OMX_IMAGE_CodingGIF, /**< Graphics image format */ - OMX_IMAGE_CodingPNG, /**< PNG image format */ - OMX_IMAGE_CodingLZW, /**< LZW image format */ - OMX_IMAGE_CodingBMP, /**< Windows Bitmap format */ - OMX_IMAGE_CodingKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_IMAGE_CodingVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_IMAGE_CodingMax = 0x7FFFFFFF -} OMX_IMAGE_CODINGTYPE; - - -/** - * Data structure used to define an image path. The number of image paths - * for input and output will vary by type of the image component. - * - * Input (aka Source) : Zero Inputs, one Output, - * Splitter : One Input, 2 or more Outputs, - * Processing Element : One Input, one output, - * Mixer : 2 or more inputs, one output, - * Output (aka Sink) : One Input, zero outputs. - * - * The PortDefinition structure is used to define all of the parameters - * necessary for the compliant component to setup an input or an output - * image path. If additional vendor specific data is required, it should - * be transmitted to the component using the CustomCommand function. - * Compliant components will prepopulate this structure with optimal - * values during the OMX_GetParameter() command. - * - * STRUCT MEMBERS: - * cMIMEType : MIME type of data for the port - * pNativeRender : Platform specific reference for a display if a - * sync, otherwise this field is 0 - * nFrameWidth : Width of frame to be used on port if - * uncompressed format is used. Use 0 for - * unknown, don't care or variable - * nFrameHeight : Height of frame to be used on port if - * uncompressed format is used. Use 0 for - * unknown, don't care or variable - * nStride : Number of bytes per span of an image (i.e. - * indicates the number of bytes to get from - * span N to span N+1, where negative stride - * indicates the image is bottom up - * nSliceHeight : Height used when encoding in slices - * bFlagErrorConcealment : Turns on error concealment if it is supported by - * the OMX component - * eCompressionFormat : Compression format used in this instance of - * the component. When OMX_IMAGE_CodingUnused is - * specified, eColorFormat is valid - * eColorFormat : Decompressed format used by this component - * pNativeWindow : Platform specific reference for a window object if a - * display sink , otherwise this field is 0x0. - */ -typedef struct OMX_IMAGE_PORTDEFINITIONTYPE { - OMX_STRING cMIMEType; - OMX_NATIVE_DEVICETYPE pNativeRender; - OMX_U32 nFrameWidth; - OMX_U32 nFrameHeight; - OMX_S32 nStride; - OMX_U32 nSliceHeight; - OMX_BOOL bFlagErrorConcealment; - OMX_IMAGE_CODINGTYPE eCompressionFormat; - OMX_COLOR_FORMATTYPE eColorFormat; - OMX_NATIVE_WINDOWTYPE pNativeWindow; -} OMX_IMAGE_PORTDEFINITIONTYPE; - - -/** - * Port format parameter. This structure is used to enumerate the various - * data input/output format supported by the port. - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Indicates which port to set - * nIndex : Indicates the enumeration index for the format from - * 0x0 to N-1 - * eCompressionFormat : Compression format used in this instance of the - * component. When OMX_IMAGE_CodingUnused is specified, - * eColorFormat is valid - * eColorFormat : Decompressed format used by this component - */ -typedef struct OMX_IMAGE_PARAM_PORTFORMATTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_U32 nIndex; - OMX_IMAGE_CODINGTYPE eCompressionFormat; - OMX_COLOR_FORMATTYPE eColorFormat; -} OMX_IMAGE_PARAM_PORTFORMATTYPE; - - -/** - * Flash control type - * - * ENUMS - * Torch : Flash forced constantly on - */ -typedef enum OMX_IMAGE_FLASHCONTROLTYPE { - OMX_IMAGE_FlashControlOn = 0, - OMX_IMAGE_FlashControlOff, - OMX_IMAGE_FlashControlAuto, - OMX_IMAGE_FlashControlRedEyeReduction, - OMX_IMAGE_FlashControlFillin, - OMX_IMAGE_FlashControlTorch, - OMX_IMAGE_FlashControlKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_IMAGE_FlashControlVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_IMAGE_FlashControlMax = 0x7FFFFFFF -} OMX_IMAGE_FLASHCONTROLTYPE; - - -/** - * Flash control configuration - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * eFlashControl : Flash control type - */ -typedef struct OMX_IMAGE_PARAM_FLASHCONTROLTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_IMAGE_FLASHCONTROLTYPE eFlashControl; -} OMX_IMAGE_PARAM_FLASHCONTROLTYPE; - - -/** - * Focus control type - */ -typedef enum OMX_IMAGE_FOCUSCONTROLTYPE { - OMX_IMAGE_FocusControlOn = 0, - OMX_IMAGE_FocusControlOff, - OMX_IMAGE_FocusControlAuto, - OMX_IMAGE_FocusControlAutoLock, - OMX_IMAGE_FocusControlKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_IMAGE_FocusControlVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_IMAGE_FocusControlMax = 0x7FFFFFFF -} OMX_IMAGE_FOCUSCONTROLTYPE; - - -/** - * Focus control configuration - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * eFocusControl : Focus control - * nFocusSteps : Focus can take on values from 0 mm to infinity. - * Interest is only in number of steps over this range. - * nFocusStepIndex : Current focus step index - */ -typedef struct OMX_IMAGE_CONFIG_FOCUSCONTROLTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_IMAGE_FOCUSCONTROLTYPE eFocusControl; - OMX_U32 nFocusSteps; - OMX_U32 nFocusStepIndex; -} OMX_IMAGE_CONFIG_FOCUSCONTROLTYPE; - - -/** - * Q Factor for JPEG compression, which controls the tradeoff between image - * quality and size. Q Factor provides a more simple means of controlling - * JPEG compression quality, without directly programming Quantization - * tables for chroma and luma - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * nQFactor : JPEG Q factor value in the range of 1-100. A factor of 1 - * produces the smallest, worst quality images, and a factor - * of 100 produces the largest, best quality images. A - * typical default is 75 for small good quality images - */ -typedef struct OMX_IMAGE_PARAM_QFACTORTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_U32 nQFactor; -} OMX_IMAGE_PARAM_QFACTORTYPE; - -/** - * Quantization table type - */ - -typedef enum OMX_IMAGE_QUANTIZATIONTABLETYPE { - OMX_IMAGE_QuantizationTableLuma = 0, - OMX_IMAGE_QuantizationTableChroma, - OMX_IMAGE_QuantizationTableChromaCb, - OMX_IMAGE_QuantizationTableChromaCr, - OMX_IMAGE_QuantizationTableKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_IMAGE_QuantizationTableVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_IMAGE_QuantizationTableMax = 0x7FFFFFFF -} OMX_IMAGE_QUANTIZATIONTABLETYPE; - -/** - * JPEG quantization tables are used to determine DCT compression for - * YUV data, as an alternative to specifying Q factor, providing exact - * control of compression - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * eQuantizationTable : Quantization table type - * nQuantizationMatrix[64] : JPEG quantization table of coefficients stored - * in increasing columns then by rows of data (i.e. - * row 1, ... row 8). Quantization values are in - * the range 0-255 and stored in linear order - * (i.e. the component will zig-zag the - * quantization table data if required internally) - */ -typedef struct OMX_IMAGE_PARAM_QUANTIZATIONTABLETYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_IMAGE_QUANTIZATIONTABLETYPE eQuantizationTable; - OMX_U8 nQuantizationMatrix[64]; -} OMX_IMAGE_PARAM_QUANTIZATIONTABLETYPE; - - -/** - * Huffman table type, the same Huffman table is applied for chroma and - * luma component - */ -typedef enum OMX_IMAGE_HUFFMANTABLETYPE { - OMX_IMAGE_HuffmanTableAC = 0, - OMX_IMAGE_HuffmanTableDC, - OMX_IMAGE_HuffmanTableACLuma, - OMX_IMAGE_HuffmanTableACChroma, - OMX_IMAGE_HuffmanTableDCLuma, - OMX_IMAGE_HuffmanTableDCChroma, - OMX_IMAGE_HuffmanTableKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_IMAGE_HuffmanTableVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_IMAGE_HuffmanTableMax = 0x7FFFFFFF -} OMX_IMAGE_HUFFMANTABLETYPE; - -/** - * JPEG Huffman table - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * eHuffmanTable : Huffman table type - * nNumberOfHuffmanCodeOfLength[16] : 0-16, number of Huffman codes of each - * possible length - * nHuffmanTable[256] : 0-255, the size used for AC and DC - * HuffmanTable are 16 and 162 - */ -typedef struct OMX_IMAGE_PARAM_HUFFMANTTABLETYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_IMAGE_HUFFMANTABLETYPE eHuffmanTable; - OMX_U8 nNumberOfHuffmanCodeOfLength[16]; - OMX_U8 nHuffmanTable[256]; -}OMX_IMAGE_PARAM_HUFFMANTTABLETYPE; - -/** @} */ -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif -/* File EOF */ diff --git a/third_party/openmax/il/OMX_Index.h b/third_party/openmax/il/OMX_Index.h deleted file mode 100644 index 44d4ea76d2..0000000000 --- a/third_party/openmax/il/OMX_Index.h +++ /dev/null @@ -1,258 +0,0 @@ -/* - * Copyright (c) 2008 The Khronos Group Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject - * to the following conditions: - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - */ - -/** @file OMX_Index.h - OpenMax IL version 1.1.2 - * The OMX_Index header file contains the definitions for both applications - * and components . - */ - - -#ifndef OMX_Index_h -#define OMX_Index_h - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - - -/* Each OMX header must include all required header files to allow the - * header to compile without errors. The includes below are required - * for this header file to compile successfully - */ -#include <OMX_Types.h> - - -/** The OMX_INDEXTYPE enumeration is used to select a structure when either - * getting or setting parameters and/or configuration data. Each entry in - * this enumeration maps to an OMX specified structure. When the - * OMX_GetParameter, OMX_SetParameter, OMX_GetConfig or OMX_SetConfig methods - * are used, the second parameter will always be an entry from this enumeration - * and the third entry will be the structure shown in the comments for the entry. - * For example, if the application is initializing a cropping function, the - * OMX_SetConfig command would have OMX_IndexConfigCommonInputCrop as the second parameter - * and would send a pointer to an initialized OMX_RECTTYPE structure as the - * third parameter. - * - * The enumeration entries named with the OMX_Config prefix are sent using - * the OMX_SetConfig command and the enumeration entries named with the - * OMX_PARAM_ prefix are sent using the OMX_SetParameter command. - */ -typedef enum OMX_INDEXTYPE { - - OMX_IndexComponentStartUnused = 0x01000000, - OMX_IndexParamPriorityMgmt, /**< reference: OMX_PRIORITYMGMTTYPE */ - OMX_IndexParamAudioInit, /**< reference: OMX_PORT_PARAM_TYPE */ - OMX_IndexParamImageInit, /**< reference: OMX_PORT_PARAM_TYPE */ - OMX_IndexParamVideoInit, /**< reference: OMX_PORT_PARAM_TYPE */ - OMX_IndexParamOtherInit, /**< reference: OMX_PORT_PARAM_TYPE */ - OMX_IndexParamNumAvailableStreams, /**< reference: OMX_PARAM_U32TYPE */ - OMX_IndexParamActiveStream, /**< reference: OMX_PARAM_U32TYPE */ - OMX_IndexParamSuspensionPolicy, /**< reference: OMX_PARAM_SUSPENSIONPOLICYTYPE */ - OMX_IndexParamComponentSuspended, /**< reference: OMX_PARAM_SUSPENSIONTYPE */ - OMX_IndexConfigCapturing, /**< reference: OMX_CONFIG_BOOLEANTYPE */ - OMX_IndexConfigCaptureMode, /**< reference: OMX_CONFIG_CAPTUREMODETYPE */ - OMX_IndexAutoPauseAfterCapture, /**< reference: OMX_CONFIG_BOOLEANTYPE */ - OMX_IndexParamContentURI, /**< reference: OMX_PARAM_CONTENTURITYPE */ - OMX_IndexParamCustomContentPipe, /**< reference: OMX_PARAM_CONTENTPIPETYPE */ - OMX_IndexParamDisableResourceConcealment, /**< reference: OMX_RESOURCECONCEALMENTTYPE */ - OMX_IndexConfigMetadataItemCount, /**< reference: OMX_CONFIG_METADATAITEMCOUNTTYPE */ - OMX_IndexConfigContainerNodeCount, /**< reference: OMX_CONFIG_CONTAINERNODECOUNTTYPE */ - OMX_IndexConfigMetadataItem, /**< reference: OMX_CONFIG_METADATAITEMTYPE */ - OMX_IndexConfigCounterNodeID, /**< reference: OMX_CONFIG_CONTAINERNODEIDTYPE */ - OMX_IndexParamMetadataFilterType, /**< reference: OMX_PARAM_METADATAFILTERTYPE */ - OMX_IndexParamMetadataKeyFilter, /**< reference: OMX_PARAM_METADATAFILTERTYPE */ - OMX_IndexConfigPriorityMgmt, /**< reference: OMX_PRIORITYMGMTTYPE */ - OMX_IndexParamStandardComponentRole, /**< reference: OMX_PARAM_COMPONENTROLETYPE */ - - OMX_IndexPortStartUnused = 0x02000000, - OMX_IndexParamPortDefinition, /**< reference: OMX_PARAM_PORTDEFINITIONTYPE */ - OMX_IndexParamCompBufferSupplier, /**< reference: OMX_PARAM_BUFFERSUPPLIERTYPE */ - OMX_IndexReservedStartUnused = 0x03000000, - - /* Audio parameters and configurations */ - OMX_IndexAudioStartUnused = 0x04000000, - OMX_IndexParamAudioPortFormat, /**< reference: OMX_AUDIO_PARAM_PORTFORMATTYPE */ - OMX_IndexParamAudioPcm, /**< reference: OMX_AUDIO_PARAM_PCMMODETYPE */ - OMX_IndexParamAudioAac, /**< reference: OMX_AUDIO_PARAM_AACPROFILETYPE */ - OMX_IndexParamAudioRa, /**< reference: OMX_AUDIO_PARAM_RATYPE */ - OMX_IndexParamAudioMp3, /**< reference: OMX_AUDIO_PARAM_MP3TYPE */ - OMX_IndexParamAudioAdpcm, /**< reference: OMX_AUDIO_PARAM_ADPCMTYPE */ - OMX_IndexParamAudioG723, /**< reference: OMX_AUDIO_PARAM_G723TYPE */ - OMX_IndexParamAudioG729, /**< reference: OMX_AUDIO_PARAM_G729TYPE */ - OMX_IndexParamAudioAmr, /**< reference: OMX_AUDIO_PARAM_AMRTYPE */ - OMX_IndexParamAudioWma, /**< reference: OMX_AUDIO_PARAM_WMATYPE */ - OMX_IndexParamAudioSbc, /**< reference: OMX_AUDIO_PARAM_SBCTYPE */ - OMX_IndexParamAudioMidi, /**< reference: OMX_AUDIO_PARAM_MIDITYPE */ - OMX_IndexParamAudioGsm_FR, /**< reference: OMX_AUDIO_PARAM_GSMFRTYPE */ - OMX_IndexParamAudioMidiLoadUserSound, /**< reference: OMX_AUDIO_PARAM_MIDILOADUSERSOUNDTYPE */ - OMX_IndexParamAudioG726, /**< reference: OMX_AUDIO_PARAM_G726TYPE */ - OMX_IndexParamAudioGsm_EFR, /**< reference: OMX_AUDIO_PARAM_GSMEFRTYPE */ - OMX_IndexParamAudioGsm_HR, /**< reference: OMX_AUDIO_PARAM_GSMHRTYPE */ - OMX_IndexParamAudioPdc_FR, /**< reference: OMX_AUDIO_PARAM_PDCFRTYPE */ - OMX_IndexParamAudioPdc_EFR, /**< reference: OMX_AUDIO_PARAM_PDCEFRTYPE */ - OMX_IndexParamAudioPdc_HR, /**< reference: OMX_AUDIO_PARAM_PDCHRTYPE */ - OMX_IndexParamAudioTdma_FR, /**< reference: OMX_AUDIO_PARAM_TDMAFRTYPE */ - OMX_IndexParamAudioTdma_EFR, /**< reference: OMX_AUDIO_PARAM_TDMAEFRTYPE */ - OMX_IndexParamAudioQcelp8, /**< reference: OMX_AUDIO_PARAM_QCELP8TYPE */ - OMX_IndexParamAudioQcelp13, /**< reference: OMX_AUDIO_PARAM_QCELP13TYPE */ - OMX_IndexParamAudioEvrc, /**< reference: OMX_AUDIO_PARAM_EVRCTYPE */ - OMX_IndexParamAudioSmv, /**< reference: OMX_AUDIO_PARAM_SMVTYPE */ - OMX_IndexParamAudioVorbis, /**< reference: OMX_AUDIO_PARAM_VORBISTYPE */ - - OMX_IndexConfigAudioMidiImmediateEvent, /**< reference: OMX_AUDIO_CONFIG_MIDIIMMEDIATEEVENTTYPE */ - OMX_IndexConfigAudioMidiControl, /**< reference: OMX_AUDIO_CONFIG_MIDICONTROLTYPE */ - OMX_IndexConfigAudioMidiSoundBankProgram, /**< reference: OMX_AUDIO_CONFIG_MIDISOUNDBANKPROGRAMTYPE */ - OMX_IndexConfigAudioMidiStatus, /**< reference: OMX_AUDIO_CONFIG_MIDISTATUSTYPE */ - OMX_IndexConfigAudioMidiMetaEvent, /**< reference: OMX_AUDIO_CONFIG_MIDIMETAEVENTTYPE */ - OMX_IndexConfigAudioMidiMetaEventData, /**< reference: OMX_AUDIO_CONFIG_MIDIMETAEVENTDATATYPE */ - OMX_IndexConfigAudioVolume, /**< reference: OMX_AUDIO_CONFIG_VOLUMETYPE */ - OMX_IndexConfigAudioBalance, /**< reference: OMX_AUDIO_CONFIG_BALANCETYPE */ - OMX_IndexConfigAudioChannelMute, /**< reference: OMX_AUDIO_CONFIG_CHANNELMUTETYPE */ - OMX_IndexConfigAudioMute, /**< reference: OMX_AUDIO_CONFIG_MUTETYPE */ - OMX_IndexConfigAudioLoudness, /**< reference: OMX_AUDIO_CONFIG_LOUDNESSTYPE */ - OMX_IndexConfigAudioEchoCancelation, /**< reference: OMX_AUDIO_CONFIG_ECHOCANCELATIONTYPE */ - OMX_IndexConfigAudioNoiseReduction, /**< reference: OMX_AUDIO_CONFIG_NOISEREDUCTIONTYPE */ - OMX_IndexConfigAudioBass, /**< reference: OMX_AUDIO_CONFIG_BASSTYPE */ - OMX_IndexConfigAudioTreble, /**< reference: OMX_AUDIO_CONFIG_TREBLETYPE */ - OMX_IndexConfigAudioStereoWidening, /**< reference: OMX_AUDIO_CONFIG_STEREOWIDENINGTYPE */ - OMX_IndexConfigAudioChorus, /**< reference: OMX_AUDIO_CONFIG_CHORUSTYPE */ - OMX_IndexConfigAudioEqualizer, /**< reference: OMX_AUDIO_CONFIG_EQUALIZERTYPE */ - OMX_IndexConfigAudioReverberation, /**< reference: OMX_AUDIO_CONFIG_REVERBERATIONTYPE */ - OMX_IndexConfigAudioChannelVolume, /**< reference: OMX_AUDIO_CONFIG_CHANNELVOLUMETYPE */ - - /* Image specific parameters and configurations */ - OMX_IndexImageStartUnused = 0x05000000, - OMX_IndexParamImagePortFormat, /**< reference: OMX_IMAGE_PARAM_PORTFORMATTYPE */ - OMX_IndexParamFlashControl, /**< reference: OMX_IMAGE_PARAM_FLASHCONTROLTYPE */ - OMX_IndexConfigFocusControl, /**< reference: OMX_IMAGE_CONFIG_FOCUSCONTROLTYPE */ - OMX_IndexParamQFactor, /**< reference: OMX_IMAGE_PARAM_QFACTORTYPE */ - OMX_IndexParamQuantizationTable, /**< reference: OMX_IMAGE_PARAM_QUANTIZATIONTABLETYPE */ - OMX_IndexParamHuffmanTable, /**< reference: OMX_IMAGE_PARAM_HUFFMANTTABLETYPE */ - OMX_IndexConfigFlashControl, /**< reference: OMX_IMAGE_PARAM_FLASHCONTROLTYPE */ - - /* Video specific parameters and configurations */ - OMX_IndexVideoStartUnused = 0x06000000, - OMX_IndexParamVideoPortFormat, /**< reference: OMX_VIDEO_PARAM_PORTFORMATTYPE */ - OMX_IndexParamVideoQuantization, /**< reference: OMX_VIDEO_PARAM_QUANTIZATIONTYPE */ - OMX_IndexParamVideoFastUpdate, /**< reference: OMX_VIDEO_PARAM_VIDEOFASTUPDATETYPE */ - OMX_IndexParamVideoBitrate, /**< reference: OMX_VIDEO_PARAM_BITRATETYPE */ - OMX_IndexParamVideoMotionVector, /**< reference: OMX_VIDEO_PARAM_MOTIONVECTORTYPE */ - OMX_IndexParamVideoIntraRefresh, /**< reference: OMX_VIDEO_PARAM_INTRAREFRESHTYPE */ - OMX_IndexParamVideoErrorCorrection, /**< reference: OMX_VIDEO_PARAM_ERRORCORRECTIONTYPE */ - OMX_IndexParamVideoVBSMC, /**< reference: OMX_VIDEO_PARAM_VBSMCTYPE */ - OMX_IndexParamVideoMpeg2, /**< reference: OMX_VIDEO_PARAM_MPEG2TYPE */ - OMX_IndexParamVideoMpeg4, /**< reference: OMX_VIDEO_PARAM_MPEG4TYPE */ - OMX_IndexParamVideoWmv, /**< reference: OMX_VIDEO_PARAM_WMVTYPE */ - OMX_IndexParamVideoRv, /**< reference: OMX_VIDEO_PARAM_RVTYPE */ - OMX_IndexParamVideoAvc, /**< reference: OMX_VIDEO_PARAM_AVCTYPE */ - OMX_IndexParamVideoH263, /**< reference: OMX_VIDEO_PARAM_H263TYPE */ - OMX_IndexParamVideoProfileLevelQuerySupported, /**< reference: OMX_VIDEO_PARAM_PROFILELEVELTYPE */ - OMX_IndexParamVideoProfileLevelCurrent, /**< reference: OMX_VIDEO_PARAM_PROFILELEVELTYPE */ - OMX_IndexConfigVideoBitrate, /**< reference: OMX_VIDEO_CONFIG_BITRATETYPE */ - OMX_IndexConfigVideoFramerate, /**< reference: OMX_CONFIG_FRAMERATETYPE */ - OMX_IndexConfigVideoIntraVOPRefresh, /**< reference: OMX_CONFIG_INTRAREFRESHVOPTYPE */ - OMX_IndexConfigVideoIntraMBRefresh, /**< reference: OMX_CONFIG_MACROBLOCKERRORMAPTYPE */ - OMX_IndexConfigVideoMBErrorReporting, /**< reference: OMX_CONFIG_MBERRORREPORTINGTYPE */ - OMX_IndexParamVideoMacroblocksPerFrame, /**< reference: OMX_PARAM_MACROBLOCKSTYPE */ - OMX_IndexConfigVideoMacroBlockErrorMap, /**< reference: OMX_CONFIG_MACROBLOCKERRORMAPTYPE */ - OMX_IndexParamVideoSliceFMO, /**< reference: OMX_VIDEO_PARAM_AVCSLICEFMO */ - OMX_IndexConfigVideoAVCIntraPeriod, /**< reference: OMX_VIDEO_CONFIG_AVCINTRAPERIOD */ - OMX_IndexConfigVideoNalSize, /**< reference: OMX_VIDEO_CONFIG_NALSIZE */ - - /* Image & Video common Configurations */ - OMX_IndexCommonStartUnused = 0x07000000, - OMX_IndexParamCommonDeblocking, /**< reference: OMX_PARAM_DEBLOCKINGTYPE */ - OMX_IndexParamCommonSensorMode, /**< reference: OMX_PARAM_SENSORMODETYPE */ - OMX_IndexParamCommonInterleave, /**< reference: OMX_PARAM_INTERLEAVETYPE */ - OMX_IndexConfigCommonColorFormatConversion, /**< reference: OMX_CONFIG_COLORCONVERSIONTYPE */ - OMX_IndexConfigCommonScale, /**< reference: OMX_CONFIG_SCALEFACTORTYPE */ - OMX_IndexConfigCommonImageFilter, /**< reference: OMX_CONFIG_IMAGEFILTERTYPE */ - OMX_IndexConfigCommonColorEnhancement, /**< reference: OMX_CONFIG_COLORENHANCEMENTTYPE */ - OMX_IndexConfigCommonColorKey, /**< reference: OMX_CONFIG_COLORKEYTYPE */ - OMX_IndexConfigCommonColorBlend, /**< reference: OMX_CONFIG_COLORBLENDTYPE */ - OMX_IndexConfigCommonFrameStabilisation,/**< reference: OMX_CONFIG_FRAMESTABTYPE */ - OMX_IndexConfigCommonRotate, /**< reference: OMX_CONFIG_ROTATIONTYPE */ - OMX_IndexConfigCommonMirror, /**< reference: OMX_CONFIG_MIRRORTYPE */ - OMX_IndexConfigCommonOutputPosition, /**< reference: OMX_CONFIG_POINTTYPE */ - OMX_IndexConfigCommonInputCrop, /**< reference: OMX_CONFIG_RECTTYPE */ - OMX_IndexConfigCommonOutputCrop, /**< reference: OMX_CONFIG_RECTTYPE */ - OMX_IndexConfigCommonDigitalZoom, /**< reference: OMX_CONFIG_SCALEFACTORTYPE */ - OMX_IndexConfigCommonOpticalZoom, /**< reference: OMX_CONFIG_SCALEFACTORTYPE*/ - OMX_IndexConfigCommonWhiteBalance, /**< reference: OMX_CONFIG_WHITEBALCONTROLTYPE */ - OMX_IndexConfigCommonExposure, /**< reference: OMX_CONFIG_EXPOSURECONTROLTYPE */ - OMX_IndexConfigCommonContrast, /**< reference: OMX_CONFIG_CONTRASTTYPE */ - OMX_IndexConfigCommonBrightness, /**< reference: OMX_CONFIG_BRIGHTNESSTYPE */ - OMX_IndexConfigCommonBacklight, /**< reference: OMX_CONFIG_BACKLIGHTTYPE */ - OMX_IndexConfigCommonGamma, /**< reference: OMX_CONFIG_GAMMATYPE */ - OMX_IndexConfigCommonSaturation, /**< reference: OMX_CONFIG_SATURATIONTYPE */ - OMX_IndexConfigCommonLightness, /**< reference: OMX_CONFIG_LIGHTNESSTYPE */ - OMX_IndexConfigCommonExclusionRect, /**< reference: OMX_CONFIG_RECTTYPE */ - OMX_IndexConfigCommonDithering, /**< reference: OMX_CONFIG_DITHERTYPE */ - OMX_IndexConfigCommonPlaneBlend, /**< reference: OMX_CONFIG_PLANEBLENDTYPE */ - OMX_IndexConfigCommonExposureValue, /**< reference: OMX_CONFIG_EXPOSUREVALUETYPE */ - OMX_IndexConfigCommonOutputSize, /**< reference: OMX_FRAMESIZETYPE */ - OMX_IndexParamCommonExtraQuantData, /**< reference: OMX_OTHER_EXTRADATATYPE */ - OMX_IndexConfigCommonFocusRegion, /**< reference: OMX_CONFIG_FOCUSREGIONTYPE */ - OMX_IndexConfigCommonFocusStatus, /**< reference: OMX_PARAM_FOCUSSTATUSTYPE */ - OMX_IndexConfigCommonTransitionEffect, /**< reference: OMX_CONFIG_TRANSITIONEFFECTTYPE */ - - /* Reserved Configuration range */ - OMX_IndexOtherStartUnused = 0x08000000, - OMX_IndexParamOtherPortFormat, /**< reference: OMX_OTHER_PARAM_PORTFORMATTYPE */ - OMX_IndexConfigOtherPower, /**< reference: OMX_OTHER_CONFIG_POWERTYPE */ - OMX_IndexConfigOtherStats, /**< reference: OMX_OTHER_CONFIG_STATSTYPE */ - - - /* Reserved Time range */ - OMX_IndexTimeStartUnused = 0x09000000, - OMX_IndexConfigTimeScale, /**< reference: OMX_TIME_CONFIG_SCALETYPE */ - OMX_IndexConfigTimeClockState, /**< reference: OMX_TIME_CONFIG_CLOCKSTATETYPE */ - OMX_IndexConfigTimeActiveRefClock, /**< reference: OMX_TIME_CONFIG_ACTIVEREFCLOCKTYPE */ - OMX_IndexConfigTimeCurrentMediaTime, /**< reference: OMX_TIME_CONFIG_TIMESTAMPTYPE (read only) */ - OMX_IndexConfigTimeCurrentWallTime, /**< reference: OMX_TIME_CONFIG_TIMESTAMPTYPE (read only) */ - OMX_IndexConfigTimeCurrentAudioReference, /**< reference: OMX_TIME_CONFIG_TIMESTAMPTYPE (write only) */ - OMX_IndexConfigTimeCurrentVideoReference, /**< reference: OMX_TIME_CONFIG_TIMESTAMPTYPE (write only) */ - OMX_IndexConfigTimeMediaTimeRequest, /**< reference: OMX_TIME_CONFIG_MEDIATIMEREQUESTTYPE (write only) */ - OMX_IndexConfigTimeClientStartTime, /**<reference: OMX_TIME_CONFIG_TIMESTAMPTYPE (write only) */ - OMX_IndexConfigTimePosition, /**< reference: OMX_TIME_CONFIG_TIMESTAMPTYPE */ - OMX_IndexConfigTimeSeekMode, /**< reference: OMX_TIME_CONFIG_SEEKMODETYPE */ - - - OMX_IndexKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - /* Vendor specific area */ - OMX_IndexVendorStartUnused = 0x7F000000, - /* Vendor specific structures should be in the range of 0x7F000000 - to 0x7FFFFFFE. This range is not broken out by vendor, so - private indexes are not guaranteed unique and therefore should - only be sent to the appropriate component. */ - - OMX_IndexMax = 0x7FFFFFFF - -} OMX_INDEXTYPE; - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif -/* File EOF */ diff --git a/third_party/openmax/il/OMX_Other.h b/third_party/openmax/il/OMX_Other.h deleted file mode 100644 index 91583a3735..0000000000 --- a/third_party/openmax/il/OMX_Other.h +++ /dev/null @@ -1,337 +0,0 @@ -/* - * Copyright (c) 2008 The Khronos Group Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject - * to the following conditions: - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - */ - -/** @file OMX_Other.h - OpenMax IL version 1.1.2 - * The structures needed by Other components to exchange - * parameters and configuration data with the components. - */ - -#ifndef OMX_Other_h -#define OMX_Other_h - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - - -/* Each OMX header must include all required header files to allow the - * header to compile without errors. The includes below are required - * for this header file to compile successfully - */ - -#include <OMX_Core.h> - - -/** - * Enumeration of possible data types which match to multiple domains or no - * domain at all. For types which are vendor specific, a value above - * OMX_OTHER_VENDORTSTART should be used. - */ -typedef enum OMX_OTHER_FORMATTYPE { - OMX_OTHER_FormatTime = 0, /**< Transmission of various timestamps, elapsed time, - time deltas, etc */ - OMX_OTHER_FormatPower, /**< Perhaps used for enabling/disabling power - management, setting clocks? */ - OMX_OTHER_FormatStats, /**< Could be things such as frame rate, frames - dropped, etc */ - OMX_OTHER_FormatBinary, /**< Arbitrary binary data */ - OMX_OTHER_FormatVendorReserved = 1000, /**< Starting value for vendor specific - formats */ - - OMX_OTHER_FormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_OTHER_FormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_OTHER_FormatMax = 0x7FFFFFFF -} OMX_OTHER_FORMATTYPE; - -/** - * Enumeration of seek modes. - */ -typedef enum OMX_TIME_SEEKMODETYPE { - OMX_TIME_SeekModeFast = 0, /**< Prefer seeking to an approximation - * of the requested seek position over - * the actual seek position if it - * results in a faster seek. */ - OMX_TIME_SeekModeAccurate, /**< Prefer seeking to the actual seek - * position over an approximation - * of the requested seek position even - * if it results in a slower seek. */ - OMX_TIME_SeekModeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_TIME_SeekModeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_TIME_SeekModeMax = 0x7FFFFFFF -} OMX_TIME_SEEKMODETYPE; - -/* Structure representing the seekmode of the component */ -typedef struct OMX_TIME_CONFIG_SEEKMODETYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_TIME_SEEKMODETYPE eType; /**< The seek mode */ -} OMX_TIME_CONFIG_SEEKMODETYPE; - -/** Structure representing a time stamp used with the following configs - * on the Clock Component (CC): - * - * OMX_IndexConfigTimeCurrentWallTime: query of the CC's current wall - * time - * OMX_IndexConfigTimeCurrentMediaTime: query of the CC's current media - * time - * OMX_IndexConfigTimeCurrentAudioReference and - * OMX_IndexConfigTimeCurrentVideoReference: audio/video reference - * clock sending SC its reference time - * OMX_IndexConfigTimeClientStartTime: a Clock Component client sends - * this structure to the Clock Component via a SetConfig on its - * client port when it receives a buffer with - * OMX_BUFFERFLAG_STARTTIME set. It must use the timestamp - * specified by that buffer for nStartTimestamp. - * - * It's also used with the following config on components in general: - * - * OMX_IndexConfigTimePosition: IL client querying component position - * (GetConfig) or commanding a component to seek to the given location - * (SetConfig) - */ -typedef struct OMX_TIME_CONFIG_TIMESTAMPTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version - * information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_TICKS nTimestamp; /**< timestamp .*/ -} OMX_TIME_CONFIG_TIMESTAMPTYPE; - -/** Enumeration of possible reference clocks to the media time. */ -typedef enum OMX_TIME_UPDATETYPE { - OMX_TIME_UpdateRequestFulfillment, /**< Update is the fulfillment of a media time request. */ - OMX_TIME_UpdateScaleChanged, /**< Update was generated because the scale chagned. */ - OMX_TIME_UpdateClockStateChanged, /**< Update was generated because the clock state changed. */ - OMX_TIME_UpdateKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_TIME_UpdateVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_TIME_UpdateMax = 0x7FFFFFFF -} OMX_TIME_UPDATETYPE; - -/** Enumeration of possible reference clocks to the media time. */ -typedef enum OMX_TIME_REFCLOCKTYPE { - OMX_TIME_RefClockNone, /**< Use no references. */ - OMX_TIME_RefClockAudio, /**< Use references sent through OMX_IndexConfigTimeCurrentAudioReference */ - OMX_TIME_RefClockVideo, /**< Use references sent through OMX_IndexConfigTimeCurrentVideoReference */ - OMX_TIME_RefClockKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_TIME_RefClockVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_TIME_RefClockMax = 0x7FFFFFFF -} OMX_TIME_REFCLOCKTYPE; - -/** Enumeration of clock states. */ -typedef enum OMX_TIME_CLOCKSTATE { - OMX_TIME_ClockStateRunning, /**< Clock running. */ - OMX_TIME_ClockStateWaitingForStartTime, /**< Clock waiting until the - * prescribed clients emit their - * start time. */ - OMX_TIME_ClockStateStopped, /**< Clock stopped. */ - OMX_TIME_ClockStateKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_TIME_ClockStateVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_TIME_ClockStateMax = 0x7FFFFFFF -} OMX_TIME_CLOCKSTATE; - -/** Structure representing a media time request to the clock component. - * - * A client component sends this structure to the Clock Component via a SetConfig - * on its client port to specify a media timestamp the Clock Component - * should emit. The Clock Component should fulfill the request by sending a - * OMX_TIME_MEDIATIMETYPE when its media clock matches the requested - * timestamp. - * - * The client may require a media time request be fulfilled slightly - * earlier than the media time specified. In this case the client specifies - * an offset which is equal to the difference between wall time corresponding - * to the requested media time and the wall time when it will be - * fulfilled. - * - * A client component may uses these requests and the OMX_TIME_MEDIATIMETYPE to - * time events according to timestamps. If a client must perform an operation O at - * a time T (e.g. deliver a video frame at its corresponding timestamp), it makes a - * media time request at T (perhaps specifying an offset to ensure the request fulfillment - * is a little early). When the clock component passes the resulting OMX_TIME_MEDIATIMETYPE - * structure back to the client component, the client may perform operation O (perhaps having - * to wait a slight amount more time itself as specified by the return values). - */ - -typedef struct OMX_TIME_CONFIG_MEDIATIMEREQUESTTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< port that this structure applies to */ - OMX_PTR pClientPrivate; /**< Client private data to disabiguate this media time - * from others (e.g. the number of the frame to deliver). - * Duplicated in the media time structure that fulfills - * this request. A value of zero is reserved for time scale - * updates. */ - OMX_TICKS nMediaTimestamp; /**< Media timestamp requested.*/ - OMX_TICKS nOffset; /**< Amount of wall clock time by which this - * request should be fulfilled early */ -} OMX_TIME_CONFIG_MEDIATIMEREQUESTTYPE; - -/**< Structure sent from the clock component client either when fulfilling - * a media time request or when the time scale has changed. - * - * In the former case the Clock Component fills this structure and times its emission - * to a client component (via the client port) according to the corresponding media - * time request sent by the client. The Clock Component should time the emission to occur - * when the requested timestamp matches the Clock Component's media time but also the - * prescribed offset early. - * - * Upon scale changes the clock component clears the nClientPrivate data, sends the current - * media time and sets the nScale to the new scale via the client port. It emits a - * OMX_TIME_MEDIATIMETYPE to all clients independent of any requests. This allows clients to - * alter processing to accomodate scaling. For instance a video component might skip inter-frames - * in the case of extreme fastforward. Likewise an audio component might add or remove samples - * from an audio frame to scale audio data. - * - * It is expected that some clock components may not be able to fulfill requests - * at exactly the prescribed time. This is acceptable so long as the request is - * fulfilled at least as early as described and not later. This structure provides - * fields the client may use to wait for the remaining time. - * - * The client may use either the nOffset or nWallTimeAtMedia fields to determine the - * wall time until the nMediaTimestamp actually occurs. In the latter case the - * client can get a more accurate value for offset by getting the current wall - * from the cloc component and subtracting it from nWallTimeAtMedia. - */ - -typedef struct OMX_TIME_MEDIATIMETYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nClientPrivate; /**< Client private data to disabiguate this media time - * from others. Copied from the media time request. - * A value of zero is reserved for time scale updates. */ - OMX_TIME_UPDATETYPE eUpdateType; /**< Reason for the update */ - OMX_TICKS nMediaTimestamp; /**< Media time requested. If no media time was - * requested then this is the current media time. */ - OMX_TICKS nOffset; /**< Amount of wall clock time by which this - * request was actually fulfilled early */ - - OMX_TICKS nWallTimeAtMediaTime; /**< Wall time corresponding to nMediaTimeStamp. - * A client may compare this value to current - * media time obtained from the Clock Component to determine - * the wall time until the media timestamp is really - * current. */ - OMX_S32 xScale; /**< Current media time scale in Q16 format. */ - OMX_TIME_CLOCKSTATE eState; /* Seeking Change. Added 7/12.*/ - /**< State of the media time. */ -} OMX_TIME_MEDIATIMETYPE; - -/** Structure representing the current media time scale factor. Applicable only to clock - * component, other components see scale changes via OMX_TIME_MEDIATIMETYPE buffers sent via - * the clock component client ports. Upon recieving this config the clock component changes - * the rate by which the media time increases or decreases effectively implementing trick modes. - */ -typedef struct OMX_TIME_CONFIG_SCALETYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_S32 xScale; /**< This is a value in Q16 format which is used for - * scaling the media time */ -} OMX_TIME_CONFIG_SCALETYPE; - -/** Bits used to identify a clock port. Used in OMX_TIME_CONFIG_CLOCKSTATETYPE's nWaitMask field */ -#define OMX_CLOCKPORT0 0x00000001 -#define OMX_CLOCKPORT1 0x00000002 -#define OMX_CLOCKPORT2 0x00000004 -#define OMX_CLOCKPORT3 0x00000008 -#define OMX_CLOCKPORT4 0x00000010 -#define OMX_CLOCKPORT5 0x00000020 -#define OMX_CLOCKPORT6 0x00000040 -#define OMX_CLOCKPORT7 0x00000080 - -/** Structure representing the current mode of the media clock. - * IL Client uses this config to change or query the mode of the - * media clock of the clock component. Applicable only to clock - * component. - * - * On a SetConfig if eState is OMX_TIME_ClockStateRunning media time - * starts immediately at the prescribed start time. If - * OMX_TIME_ClockStateWaitingForStartTime the Clock Component ignores - * the given nStartTime and waits for all clients specified in the - * nWaitMask to send starttimes (via - * OMX_IndexConfigTimeClientStartTime). The Clock Component then starts - * the media clock using the earliest start time supplied. */ -typedef struct OMX_TIME_CONFIG_CLOCKSTATETYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version - * information */ - OMX_TIME_CLOCKSTATE eState; /**< State of the media time. */ - OMX_TICKS nStartTime; /**< Start time of the media time. */ - OMX_TICKS nOffset; /**< Time to offset the media time by - * (e.g. preroll). Media time will be - * reported to be nOffset ticks earlier. - */ - OMX_U32 nWaitMask; /**< Mask of OMX_CLOCKPORT values. */ -} OMX_TIME_CONFIG_CLOCKSTATETYPE; - -/** Structure representing the reference clock currently being used to - * compute media time. IL client uses this config to change or query the - * clock component's active reference clock */ -typedef struct OMX_TIME_CONFIG_ACTIVEREFCLOCKTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_TIME_REFCLOCKTYPE eClock; /**< Reference clock used to compute media time */ -} OMX_TIME_CONFIG_ACTIVEREFCLOCKTYPE; - -/** Descriptor for setting specifics of power type. - * Note: this structure is listed for backwards compatibility. */ -typedef struct OMX_OTHER_CONFIG_POWERTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_BOOL bEnablePM; /**< Flag to enable Power Management */ -} OMX_OTHER_CONFIG_POWERTYPE; - - -/** Descriptor for setting specifics of stats type. - * Note: this structure is listed for backwards compatibility. */ -typedef struct OMX_OTHER_CONFIG_STATSTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - /* what goes here */ -} OMX_OTHER_CONFIG_STATSTYPE; - - -/** - * The PortDefinition structure is used to define all of the parameters - * necessary for the compliant component to setup an input or an output other - * path. - */ -typedef struct OMX_OTHER_PORTDEFINITIONTYPE { - OMX_OTHER_FORMATTYPE eFormat; /**< Type of data expected for this channel */ -} OMX_OTHER_PORTDEFINITIONTYPE; - -/** Port format parameter. This structure is used to enumerate - * the various data input/output format supported by the port. - */ -typedef struct OMX_OTHER_PARAM_PORTFORMATTYPE { - OMX_U32 nSize; /**< size of the structure in bytes */ - OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ - OMX_U32 nPortIndex; /**< Indicates which port to set */ - OMX_U32 nIndex; /**< Indicates the enumeration index for the format from 0x0 to N-1 */ - OMX_OTHER_FORMATTYPE eFormat; /**< Type of data expected for this channel */ -} OMX_OTHER_PARAM_PORTFORMATTYPE; - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif -/* File EOF */ diff --git a/third_party/openmax/il/OMX_Types.h b/third_party/openmax/il/OMX_Types.h deleted file mode 100644 index 31be916552..0000000000 --- a/third_party/openmax/il/OMX_Types.h +++ /dev/null @@ -1,347 +0,0 @@ -/* - * Copyright (c) 2008 The Khronos Group Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject - * to the following conditions: - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - */ - -/** OMX_Types.h - OpenMax IL version 1.1.2 - * The OMX_Types header file contains the primitive type definitions used by - * the core, the application and the component. This file may need to be - * modified to be used on systems that do not have "char" set to 8 bits, - * "short" set to 16 bits and "long" set to 32 bits. - */ - -#ifndef OMX_Types_h -#define OMX_Types_h - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -/** The OMX_API and OMX_APIENTRY are platform specific definitions used - * to declare OMX function prototypes. They are modified to meet the - * requirements for a particular platform */ -#ifdef __SYMBIAN32__ -# ifdef __OMX_EXPORTS -# define OMX_API __declspec(dllexport) -# else -# ifdef _WIN32 -# define OMX_API __declspec(dllexport) -# else -# define OMX_API __declspec(dllimport) -# endif -# endif -#else -# ifdef _WIN32 -# ifdef __OMX_EXPORTS -# define OMX_API __declspec(dllexport) -# else -# define OMX_API __declspec(dllimport) -# endif -# else -# ifdef __OMX_EXPORTS -# define OMX_API -# else -# define OMX_API extern -# endif -# endif -#endif - -#ifndef OMX_APIENTRY -#define OMX_APIENTRY -#endif - -/** OMX_IN is used to identify inputs to an OMX function. This designation - will also be used in the case of a pointer that points to a parameter - that is used as an output. */ -#ifndef OMX_IN -#define OMX_IN -#endif - -/** OMX_OUT is used to identify outputs from an OMX function. This - designation will also be used in the case of a pointer that points - to a parameter that is used as an input. */ -#ifndef OMX_OUT -#define OMX_OUT -#endif - - -/** OMX_INOUT is used to identify parameters that may be either inputs or - outputs from an OMX function at the same time. This designation will - also be used in the case of a pointer that points to a parameter that - is used both as an input and an output. */ -#ifndef OMX_INOUT -#define OMX_INOUT -#endif - -/** OMX_ALL is used to as a wildcard to select all entities of the same type - * when specifying the index, or referring to a object by an index. (i.e. - * use OMX_ALL to indicate all N channels). When used as a port index - * for a config or parameter this OMX_ALL denotes that the config or - * parameter applies to the entire component not just one port. */ -#define OMX_ALL 0xFFFFFFFF - -/** In the following we define groups that help building doxygen documentation */ - -/** @defgroup core OpenMAX IL core - * Functions and structure related to the OMX IL core - */ - - /** @defgroup comp OpenMAX IL component - * Functions and structure related to the OMX IL component - */ - -/** @defgroup rpm Resource and Policy Management - * Structures for resource and policy management of components - */ - -/** @defgroup buf Buffer Management - * Buffer handling functions and structures - */ - -/** @defgroup tun Tunneling - * @ingroup core comp - * Structures and functions to manage tunnels among component ports - */ - -/** @defgroup cp Content Pipes - * @ingroup core - */ - - /** @defgroup metadata Metadata handling - * - */ - -/** OMX_U8 is an 8 bit unsigned quantity that is byte aligned */ -typedef unsigned char OMX_U8; - -/** OMX_S8 is an 8 bit signed quantity that is byte aligned */ -typedef signed char OMX_S8; - -/** OMX_U16 is a 16 bit unsigned quantity that is 16 bit word aligned */ -typedef unsigned short OMX_U16; - -/** OMX_S16 is a 16 bit signed quantity that is 16 bit word aligned */ -typedef signed short OMX_S16; - -/** OMX_U32 is a 32 bit unsigned quantity that is 32 bit word aligned */ -typedef unsigned long OMX_U32; - -/** OMX_S32 is a 32 bit signed quantity that is 32 bit word aligned */ -typedef signed long OMX_S32; - - -/* Users with compilers that cannot accept the "long long" designation should - define the OMX_SKIP64BIT macro. It should be noted that this may cause - some components to fail to compile if the component was written to require - 64 bit integral types. However, these components would NOT compile anyway - since the compiler does not support the way the component was written. -*/ -#ifndef OMX_SKIP64BIT -#ifdef __SYMBIAN32__ -/** OMX_U64 is a 64 bit unsigned quantity that is 64 bit word aligned */ -typedef unsigned long long OMX_U64; - -/** OMX_S64 is a 64 bit signed quantity that is 64 bit word aligned */ -typedef signed long long OMX_S64; - -#elif defined(WIN32) - -/** OMX_U64 is a 64 bit unsigned quantity that is 64 bit word aligned */ -typedef unsigned __int64 OMX_U64; - -/** OMX_S64 is a 64 bit signed quantity that is 64 bit word aligned */ -typedef signed __int64 OMX_S64; - -#else /* WIN32 */ - -/** OMX_U64 is a 64 bit unsigned quantity that is 64 bit word aligned */ -typedef unsigned long long OMX_U64; - -/** OMX_S64 is a 64 bit signed quantity that is 64 bit word aligned */ -typedef signed long long OMX_S64; - -#endif /* WIN32 */ -#endif - - -/** The OMX_BOOL type is intended to be used to represent a true or a false - value when passing parameters to and from the OMX core and components. The - OMX_BOOL is a 32 bit quantity and is aligned on a 32 bit word boundary. - */ -typedef enum OMX_BOOL { - OMX_FALSE = 0, - OMX_TRUE = !OMX_FALSE, - OMX_BOOL_MAX = 0x7FFFFFFF -} OMX_BOOL; - -/** The OMX_PTR type is intended to be used to pass pointers between the OMX - applications and the OMX Core and components. This is a 32 bit pointer and - is aligned on a 32 bit boundary. - */ -typedef void* OMX_PTR; - -/** The OMX_STRING type is intended to be used to pass "C" type strings between - the application and the core and component. The OMX_STRING type is a 32 - bit pointer to a zero terminated string. The pointer is word aligned and - the string is byte aligned. - */ -typedef char* OMX_STRING; - -/** The OMX_BYTE type is intended to be used to pass arrays of bytes such as - buffers between the application and the component and core. The OMX_BYTE - type is a 32 bit pointer to a zero terminated string. The pointer is word - aligned and the string is byte aligned. - */ -typedef unsigned char* OMX_BYTE; - -/** OMX_UUIDTYPE is a very long unique identifier to uniquely identify - at runtime. This identifier should be generated by a component in a way - that guarantees that every instance of the identifier running on the system - is unique. */ -typedef unsigned char OMX_UUIDTYPE[128]; - -/** The OMX_DIRTYPE enumeration is used to indicate if a port is an input or - an output port. This enumeration is common across all component types. - */ -typedef enum OMX_DIRTYPE -{ - OMX_DirInput, /**< Port is an input port */ - OMX_DirOutput, /**< Port is an output port */ - OMX_DirMax = 0x7FFFFFFF -} OMX_DIRTYPE; - -/** The OMX_ENDIANTYPE enumeration is used to indicate the bit ordering - for numerical data (i.e. big endian, or little endian). - */ -typedef enum OMX_ENDIANTYPE -{ - OMX_EndianBig, /**< big endian */ - OMX_EndianLittle, /**< little endian */ - OMX_EndianMax = 0x7FFFFFFF -} OMX_ENDIANTYPE; - - -/** The OMX_NUMERICALDATATYPE enumeration is used to indicate if data - is signed or unsigned - */ -typedef enum OMX_NUMERICALDATATYPE -{ - OMX_NumericalDataSigned, /**< signed data */ - OMX_NumericalDataUnsigned, /**< unsigned data */ - OMX_NumercialDataMax = 0x7FFFFFFF -} OMX_NUMERICALDATATYPE; - - -/** Unsigned bounded value type */ -typedef struct OMX_BU32 { - OMX_U32 nValue; /**< actual value */ - OMX_U32 nMin; /**< minimum for value (i.e. nValue >= nMin) */ - OMX_U32 nMax; /**< maximum for value (i.e. nValue <= nMax) */ -} OMX_BU32; - - -/** Signed bounded value type */ -typedef struct OMX_BS32 { - OMX_S32 nValue; /**< actual value */ - OMX_S32 nMin; /**< minimum for value (i.e. nValue >= nMin) */ - OMX_S32 nMax; /**< maximum for value (i.e. nValue <= nMax) */ -} OMX_BS32; - - -/** Structure representing some time or duration in microseconds. This structure - * must be interpreted as a signed 64 bit value. The quantity is signed to accommodate - * negative deltas and preroll scenarios. The quantity is represented in microseconds - * to accomodate high resolution timestamps (e.g. DVD presentation timestamps based - * on a 90kHz clock) and to allow more accurate and synchronized delivery (e.g. - * individual audio samples delivered at 192 kHz). The quantity is 64 bit to - * accommodate a large dynamic range (signed 32 bit values would allow only for plus - * or minus 35 minutes). - * - * Implementations with limited precision may convert the signed 64 bit value to - * a signed 32 bit value internally but risk loss of precision. - */ -#ifndef OMX_SKIP64BIT -typedef OMX_S64 OMX_TICKS; -#else -typedef struct OMX_TICKS -{ - OMX_U32 nLowPart; /** low bits of the signed 64 bit tick value */ - OMX_U32 nHighPart; /** high bits of the signed 64 bit tick value */ -} OMX_TICKS; -#endif -#define OMX_TICKS_PER_SECOND 1000000 - -/** Define the public interface for the OMX Handle. The core will not use - this value internally, but the application should only use this value. - */ -typedef void* OMX_HANDLETYPE; - -typedef struct OMX_MARKTYPE -{ - OMX_HANDLETYPE hMarkTargetComponent; /**< The component that will - generate a mark event upon - processing the mark. */ - OMX_PTR pMarkData; /**< Application specific data associated with - the mark sent on a mark event to disambiguate - this mark from others. */ -} OMX_MARKTYPE; - - -/** OMX_NATIVE_DEVICETYPE is used to map a OMX video port to the - * platform & operating specific object used to reference the display - * or can be used by a audio port for native audio rendering */ -typedef void* OMX_NATIVE_DEVICETYPE; - -/** OMX_NATIVE_WINDOWTYPE is used to map a OMX video port to the - * platform & operating specific object used to reference the window */ -typedef void* OMX_NATIVE_WINDOWTYPE; - -/** The OMX_VERSIONTYPE union is used to specify the version for - a structure or component. For a component, the version is entirely - specified by the component vendor. Components doing the same function - from different vendors may or may not have the same version. For - structures, the version shall be set by the entity that allocates the - structure. For structures specified in the OMX 1.1 specification, the - value of the version shall be set to 1.1.0.0 in all cases. Access to the - OMX_VERSIONTYPE can be by a single 32 bit access (e.g. by nVersion) or - by accessing one of the structure elements to, for example, check only - the Major revision. - */ -typedef union OMX_VERSIONTYPE -{ - struct - { - OMX_U8 nVersionMajor; /**< Major version accessor element */ - OMX_U8 nVersionMinor; /**< Minor version accessor element */ - OMX_U8 nRevision; /**< Revision version accessor element */ - OMX_U8 nStep; /**< Step version accessor element */ - } s; - OMX_U32 nVersion; /**< 32 bit value to make accessing the - version easily done in a single word - size copy/compare operation */ -} OMX_VERSIONTYPE; - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif -/* File EOF */ diff --git a/third_party/openmax/il/OMX_Video.h b/third_party/openmax/il/OMX_Video.h deleted file mode 100644 index 163e45081f..0000000000 --- a/third_party/openmax/il/OMX_Video.h +++ /dev/null @@ -1,1060 +0,0 @@ -/** - * Copyright (c) 2008 The Khronos Group Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject - * to the following conditions: - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - */ - -/** - * @file OMX_Video.h - OpenMax IL version 1.1.2 - * The structures is needed by Video components to exchange parameters - * and configuration data with OMX components. - */ -#ifndef OMX_Video_h -#define OMX_Video_h - -/** @defgroup video OpenMAX IL Video Domain - * @ingroup iv - * Structures for OpenMAX IL Video domain - * @{ - */ - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - - -/** - * Each OMX header must include all required header files to allow the - * header to compile without errors. The includes below are required - * for this header file to compile successfully - */ - -#include <OMX_IVCommon.h> - - -/** - * Enumeration used to define the possible video compression codings. - * NOTE: This essentially refers to file extensions. If the coding is - * being used to specify the ENCODE type, then additional work - * must be done to configure the exact flavor of the compression - * to be used. For decode cases where the user application can - * not differentiate between MPEG-4 and H.264 bit streams, it is - * up to the codec to handle this. - */ -typedef enum OMX_VIDEO_CODINGTYPE { - OMX_VIDEO_CodingUnused, /**< Value when coding is N/A */ - OMX_VIDEO_CodingAutoDetect, /**< Autodetection of coding type */ - OMX_VIDEO_CodingMPEG2, /**< AKA: H.262 */ - OMX_VIDEO_CodingH263, /**< H.263 */ - OMX_VIDEO_CodingMPEG4, /**< MPEG-4 */ - OMX_VIDEO_CodingWMV, /**< all versions of Windows Media Video */ - OMX_VIDEO_CodingRV, /**< all versions of Real Video */ - OMX_VIDEO_CodingAVC, /**< H.264/AVC */ - OMX_VIDEO_CodingMJPEG, /**< Motion JPEG */ - OMX_VIDEO_CodingKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_VIDEO_CodingVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_VIDEO_CodingMax = 0x7FFFFFFF -} OMX_VIDEO_CODINGTYPE; - - -/** - * Data structure used to define a video path. The number of Video paths for - * input and output will vary by type of the Video component. - * - * Input (aka Source) : zero Inputs, one Output, - * Splitter : one Input, 2 or more Outputs, - * Processing Element : one Input, one output, - * Mixer : 2 or more inputs, one output, - * Output (aka Sink) : one Input, zero outputs. - * - * The PortDefinition structure is used to define all of the parameters - * necessary for the compliant component to setup an input or an output video - * path. If additional vendor specific data is required, it should be - * transmitted to the component using the CustomCommand function. Compliant - * components will prepopulate this structure with optimal values during the - * GetDefaultInitParams command. - * - * STRUCT MEMBERS: - * cMIMEType : MIME type of data for the port - * pNativeRender : Platform specific reference for a display if a - * sync, otherwise this field is 0 - * nFrameWidth : Width of frame to be used on channel if - * uncompressed format is used. Use 0 for unknown, - * don't care or variable - * nFrameHeight : Height of frame to be used on channel if - * uncompressed format is used. Use 0 for unknown, - * don't care or variable - * nStride : Number of bytes per span of an image - * (i.e. indicates the number of bytes to get - * from span N to span N+1, where negative stride - * indicates the image is bottom up - * nSliceHeight : Height used when encoding in slices - * nBitrate : Bit rate of frame to be used on channel if - * compressed format is used. Use 0 for unknown, - * don't care or variable - * xFramerate : Frame rate to be used on channel if uncompressed - * format is used. Use 0 for unknown, don't care or - * variable. Units are Q16 frames per second. - * bFlagErrorConcealment : Turns on error concealment if it is supported by - * the OMX component - * eCompressionFormat : Compression format used in this instance of the - * component. When OMX_VIDEO_CodingUnused is - * specified, eColorFormat is used - * eColorFormat : Decompressed format used by this component - * pNativeWindow : Platform specific reference for a window object if a - * display sink , otherwise this field is 0x0. - */ -typedef struct OMX_VIDEO_PORTDEFINITIONTYPE { - OMX_STRING cMIMEType; - OMX_NATIVE_DEVICETYPE pNativeRender; - OMX_U32 nFrameWidth; - OMX_U32 nFrameHeight; - OMX_S32 nStride; - OMX_U32 nSliceHeight; - OMX_U32 nBitrate; - OMX_U32 xFramerate; - OMX_BOOL bFlagErrorConcealment; - OMX_VIDEO_CODINGTYPE eCompressionFormat; - OMX_COLOR_FORMATTYPE eColorFormat; - OMX_NATIVE_WINDOWTYPE pNativeWindow; -} OMX_VIDEO_PORTDEFINITIONTYPE; - -/** - * Port format parameter. This structure is used to enumerate the various - * data input/output format supported by the port. - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Indicates which port to set - * nIndex : Indicates the enumeration index for the format from - * 0x0 to N-1 - * eCompressionFormat : Compression format used in this instance of the - * component. When OMX_VIDEO_CodingUnused is specified, - * eColorFormat is used - * eColorFormat : Decompressed format used by this component - * xFrameRate : Indicates the video frame rate in Q16 format - */ -typedef struct OMX_VIDEO_PARAM_PORTFORMATTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_U32 nIndex; - OMX_VIDEO_CODINGTYPE eCompressionFormat; - OMX_COLOR_FORMATTYPE eColorFormat; - OMX_U32 xFramerate; -} OMX_VIDEO_PARAM_PORTFORMATTYPE; - - -/** - * This is a structure for configuring video compression quantization - * parameter values. Codecs may support different QP values for different - * frame types. - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version info - * nPortIndex : Port that this structure applies to - * nQpI : QP value to use for index frames - * nQpP : QP value to use for P frames - * nQpB : QP values to use for bidirectional frames - */ -typedef struct OMX_VIDEO_PARAM_QUANTIZATIONTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_U32 nQpI; - OMX_U32 nQpP; - OMX_U32 nQpB; -} OMX_VIDEO_PARAM_QUANTIZATIONTYPE; - - -/** - * Structure for configuration of video fast update parameters. - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version info - * nPortIndex : Port that this structure applies to - * bEnableVFU : Enable/Disable video fast update - * nFirstGOB : Specifies the number of the first macroblock row - * nFirstMB : specifies the first MB relative to the specified first GOB - * nNumMBs : Specifies the number of MBs to be refreshed from nFirstGOB - * and nFirstMB - */ -typedef struct OMX_VIDEO_PARAM_VIDEOFASTUPDATETYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_BOOL bEnableVFU; - OMX_U32 nFirstGOB; - OMX_U32 nFirstMB; - OMX_U32 nNumMBs; -} OMX_VIDEO_PARAM_VIDEOFASTUPDATETYPE; - - -/** - * Enumeration of possible bitrate control types - */ -typedef enum OMX_VIDEO_CONTROLRATETYPE { - OMX_Video_ControlRateDisable, - OMX_Video_ControlRateVariable, - OMX_Video_ControlRateConstant, - OMX_Video_ControlRateVariableSkipFrames, - OMX_Video_ControlRateConstantSkipFrames, - OMX_Video_ControlRateKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_Video_ControlRateVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_Video_ControlRateMax = 0x7FFFFFFF -} OMX_VIDEO_CONTROLRATETYPE; - - -/** - * Structure for configuring bitrate mode of a codec. - * - * STRUCT MEMBERS: - * nSize : Size of the struct in bytes - * nVersion : OMX spec version info - * nPortIndex : Port that this struct applies to - * eControlRate : Control rate type enum - * nTargetBitrate : Target bitrate to encode with - */ -typedef struct OMX_VIDEO_PARAM_BITRATETYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_VIDEO_CONTROLRATETYPE eControlRate; - OMX_U32 nTargetBitrate; -} OMX_VIDEO_PARAM_BITRATETYPE; - - -/** - * Enumeration of possible motion vector (MV) types - */ -typedef enum OMX_VIDEO_MOTIONVECTORTYPE { - OMX_Video_MotionVectorPixel, - OMX_Video_MotionVectorHalfPel, - OMX_Video_MotionVectorQuarterPel, - OMX_Video_MotionVectorEighthPel, - OMX_Video_MotionVectorKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_Video_MotionVectorVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_Video_MotionVectorMax = 0x7FFFFFFF -} OMX_VIDEO_MOTIONVECTORTYPE; - - -/** - * Structure for configuring the number of motion vectors used as well - * as their accuracy. - * - * STRUCT MEMBERS: - * nSize : Size of the struct in bytes - * nVersion : OMX spec version info - * nPortIndex : port that this structure applies to - * eAccuracy : Enumerated MV accuracy - * bUnrestrictedMVs : Allow unrestricted MVs - * bFourMV : Allow use of 4 MVs - * sXSearchRange : Search range in horizontal direction for MVs - * sYSearchRange : Search range in vertical direction for MVs - */ -typedef struct OMX_VIDEO_PARAM_MOTIONVECTORTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_VIDEO_MOTIONVECTORTYPE eAccuracy; - OMX_BOOL bUnrestrictedMVs; - OMX_BOOL bFourMV; - OMX_S32 sXSearchRange; - OMX_S32 sYSearchRange; -} OMX_VIDEO_PARAM_MOTIONVECTORTYPE; - - -/** - * Enumeration of possible methods to use for Intra Refresh - */ -typedef enum OMX_VIDEO_INTRAREFRESHTYPE { - OMX_VIDEO_IntraRefreshCyclic, - OMX_VIDEO_IntraRefreshAdaptive, - OMX_VIDEO_IntraRefreshBoth, - OMX_VIDEO_IntraRefreshKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_VIDEO_IntraRefreshVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_VIDEO_IntraRefreshMax = 0x7FFFFFFF -} OMX_VIDEO_INTRAREFRESHTYPE; - - -/** - * Structure for configuring intra refresh mode - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * eRefreshMode : Cyclic, Adaptive, or Both - * nAirMBs : Number of intra macroblocks to refresh in a frame when - * AIR is enabled - * nAirRef : Number of times a motion marked macroblock has to be - * intra coded - * nCirMBs : Number of consecutive macroblocks to be coded as "intra" - * when CIR is enabled - */ -typedef struct OMX_VIDEO_PARAM_INTRAREFRESHTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_VIDEO_INTRAREFRESHTYPE eRefreshMode; - OMX_U32 nAirMBs; - OMX_U32 nAirRef; - OMX_U32 nCirMBs; -} OMX_VIDEO_PARAM_INTRAREFRESHTYPE; - - -/** - * Structure for enabling various error correction methods for video - * compression. - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * bEnableHEC : Enable/disable header extension codes (HEC) - * bEnableResync : Enable/disable resynchronization markers - * nResynchMarkerSpacing : Resynch markers interval (in bits) to be - * applied in the stream - * bEnableDataPartitioning : Enable/disable data partitioning - * bEnableRVLC : Enable/disable reversible variable length - * coding - */ -typedef struct OMX_VIDEO_PARAM_ERRORCORRECTIONTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_BOOL bEnableHEC; - OMX_BOOL bEnableResync; - OMX_U32 nResynchMarkerSpacing; - OMX_BOOL bEnableDataPartitioning; - OMX_BOOL bEnableRVLC; -} OMX_VIDEO_PARAM_ERRORCORRECTIONTYPE; - - -/** - * Configuration of variable block-size motion compensation (VBSMC) - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * b16x16 : Enable inter block search 16x16 - * b16x8 : Enable inter block search 16x8 - * b8x16 : Enable inter block search 8x16 - * b8x8 : Enable inter block search 8x8 - * b8x4 : Enable inter block search 8x4 - * b4x8 : Enable inter block search 4x8 - * b4x4 : Enable inter block search 4x4 - */ -typedef struct OMX_VIDEO_PARAM_VBSMCTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_BOOL b16x16; - OMX_BOOL b16x8; - OMX_BOOL b8x16; - OMX_BOOL b8x8; - OMX_BOOL b8x4; - OMX_BOOL b4x8; - OMX_BOOL b4x4; -} OMX_VIDEO_PARAM_VBSMCTYPE; - - -/** - * H.263 profile types, each profile indicates support for various - * performance bounds and different annexes. - * - * ENUMS: - * Baseline : Baseline Profile: H.263 (V1), no optional modes - * H320 Coding : H.320 Coding Efficiency Backward Compatibility - * Profile: H.263+ (V2), includes annexes I, J, L.4 - * and T - * BackwardCompatible : Backward Compatibility Profile: H.263 (V1), - * includes annex F - * ISWV2 : Interactive Streaming Wireless Profile: H.263+ - * (V2), includes annexes I, J, K and T - * ISWV3 : Interactive Streaming Wireless Profile: H.263++ - * (V3), includes profile 3 and annexes V and W.6.3.8 - * HighCompression : Conversational High Compression Profile: H.263++ - * (V3), includes profiles 1 & 2 and annexes D and U - * Internet : Conversational Internet Profile: H.263++ (V3), - * includes profile 5 and annex K - * Interlace : Conversational Interlace Profile: H.263++ (V3), - * includes profile 5 and annex W.6.3.11 - * HighLatency : High Latency Profile: H.263++ (V3), includes - * profile 6 and annexes O.1 and P.5 - */ -typedef enum OMX_VIDEO_H263PROFILETYPE { - OMX_VIDEO_H263ProfileBaseline = 0x01, - OMX_VIDEO_H263ProfileH320Coding = 0x02, - OMX_VIDEO_H263ProfileBackwardCompatible = 0x04, - OMX_VIDEO_H263ProfileISWV2 = 0x08, - OMX_VIDEO_H263ProfileISWV3 = 0x10, - OMX_VIDEO_H263ProfileHighCompression = 0x20, - OMX_VIDEO_H263ProfileInternet = 0x40, - OMX_VIDEO_H263ProfileInterlace = 0x80, - OMX_VIDEO_H263ProfileHighLatency = 0x100, - OMX_VIDEO_H263ProfileKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_VIDEO_H263ProfileVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_VIDEO_H263ProfileMax = 0x7FFFFFFF -} OMX_VIDEO_H263PROFILETYPE; - - -/** - * H.263 level types, each level indicates support for various frame sizes, - * bit rates, decoder frame rates. - */ -typedef enum OMX_VIDEO_H263LEVELTYPE { - OMX_VIDEO_H263Level10 = 0x01, - OMX_VIDEO_H263Level20 = 0x02, - OMX_VIDEO_H263Level30 = 0x04, - OMX_VIDEO_H263Level40 = 0x08, - OMX_VIDEO_H263Level45 = 0x10, - OMX_VIDEO_H263Level50 = 0x20, - OMX_VIDEO_H263Level60 = 0x40, - OMX_VIDEO_H263Level70 = 0x80, - OMX_VIDEO_H263LevelKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_VIDEO_H263LevelVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_VIDEO_H263LevelMax = 0x7FFFFFFF -} OMX_VIDEO_H263LEVELTYPE; - - -/** - * Specifies the picture type. These values should be OR'd to signal all - * pictures types which are allowed. - * - * ENUMS: - * Generic Picture Types: I, P and B - * H.263 Specific Picture Types: SI and SP - * H.264 Specific Picture Types: EI and EP - * MPEG-4 Specific Picture Types: S - */ -typedef enum OMX_VIDEO_PICTURETYPE { - OMX_VIDEO_PictureTypeI = 0x01, - OMX_VIDEO_PictureTypeP = 0x02, - OMX_VIDEO_PictureTypeB = 0x04, - OMX_VIDEO_PictureTypeSI = 0x08, - OMX_VIDEO_PictureTypeSP = 0x10, - OMX_VIDEO_PictureTypeEI = 0x11, - OMX_VIDEO_PictureTypeEP = 0x12, - OMX_VIDEO_PictureTypeS = 0x14, - OMX_VIDEO_PictureTypeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_VIDEO_PictureTypeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_VIDEO_PictureTypeMax = 0x7FFFFFFF -} OMX_VIDEO_PICTURETYPE; - - -/** - * H.263 Params - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * nPFrames : Number of P frames between each I frame - * nBFrames : Number of B frames between each I frame - * eProfile : H.263 profile(s) to use - * eLevel : H.263 level(s) to use - * bPLUSPTYPEAllowed : Indicating that it is allowed to use PLUSPTYPE - * (specified in the 1998 version of H.263) to - * indicate custom picture sizes or clock - * frequencies - * nAllowedPictureTypes : Specifies the picture types allowed in the - * bitstream - * bForceRoundingTypeToZero : value of the RTYPE bit (bit 6 of MPPTYPE) is - * not constrained. It is recommended to change - * the value of the RTYPE bit for each reference - * picture in error-free communication - * nPictureHeaderRepetition : Specifies the frequency of picture header - * repetition - * nGOBHeaderInterval : Specifies the interval of non-empty GOB - * headers in units of GOBs - */ -typedef struct OMX_VIDEO_PARAM_H263TYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_U32 nPFrames; - OMX_U32 nBFrames; - OMX_VIDEO_H263PROFILETYPE eProfile; - OMX_VIDEO_H263LEVELTYPE eLevel; - OMX_BOOL bPLUSPTYPEAllowed; - OMX_U32 nAllowedPictureTypes; - OMX_BOOL bForceRoundingTypeToZero; - OMX_U32 nPictureHeaderRepetition; - OMX_U32 nGOBHeaderInterval; -} OMX_VIDEO_PARAM_H263TYPE; - - -/** - * MPEG-2 profile types, each profile indicates support for various - * performance bounds and different annexes. - */ -typedef enum OMX_VIDEO_MPEG2PROFILETYPE { - OMX_VIDEO_MPEG2ProfileSimple = 0, /**< Simple Profile */ - OMX_VIDEO_MPEG2ProfileMain, /**< Main Profile */ - OMX_VIDEO_MPEG2Profile422, /**< 4:2:2 Profile */ - OMX_VIDEO_MPEG2ProfileSNR, /**< SNR Profile */ - OMX_VIDEO_MPEG2ProfileSpatial, /**< Spatial Profile */ - OMX_VIDEO_MPEG2ProfileHigh, /**< High Profile */ - OMX_VIDEO_MPEG2ProfileKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_VIDEO_MPEG2ProfileVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_VIDEO_MPEG2ProfileMax = 0x7FFFFFFF -} OMX_VIDEO_MPEG2PROFILETYPE; - - -/** - * MPEG-2 level types, each level indicates support for various frame - * sizes, bit rates, decoder frame rates. No need - */ -typedef enum OMX_VIDEO_MPEG2LEVELTYPE { - OMX_VIDEO_MPEG2LevelLL = 0, /**< Low Level */ - OMX_VIDEO_MPEG2LevelML, /**< Main Level */ - OMX_VIDEO_MPEG2LevelH14, /**< High 1440 */ - OMX_VIDEO_MPEG2LevelHL, /**< High Level */ - OMX_VIDEO_MPEG2LevelKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_VIDEO_MPEG2LevelVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_VIDEO_MPEG2LevelMax = 0x7FFFFFFF -} OMX_VIDEO_MPEG2LEVELTYPE; - - -/** - * MPEG-2 params - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * nPFrames : Number of P frames between each I frame - * nBFrames : Number of B frames between each I frame - * eProfile : MPEG-2 profile(s) to use - * eLevel : MPEG-2 levels(s) to use - */ -typedef struct OMX_VIDEO_PARAM_MPEG2TYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_U32 nPFrames; - OMX_U32 nBFrames; - OMX_VIDEO_MPEG2PROFILETYPE eProfile; - OMX_VIDEO_MPEG2LEVELTYPE eLevel; -} OMX_VIDEO_PARAM_MPEG2TYPE; - - -/** - * MPEG-4 profile types, each profile indicates support for various - * performance bounds and different annexes. - * - * ENUMS: - * - Simple Profile, Levels 1-3 - * - Simple Scalable Profile, Levels 1-2 - * - Core Profile, Levels 1-2 - * - Main Profile, Levels 2-4 - * - N-bit Profile, Level 2 - * - Scalable Texture Profile, Level 1 - * - Simple Face Animation Profile, Levels 1-2 - * - Simple Face and Body Animation (FBA) Profile, Levels 1-2 - * - Basic Animated Texture Profile, Levels 1-2 - * - Hybrid Profile, Levels 1-2 - * - Advanced Real Time Simple Profiles, Levels 1-4 - * - Core Scalable Profile, Levels 1-3 - * - Advanced Coding Efficiency Profile, Levels 1-4 - * - Advanced Core Profile, Levels 1-2 - * - Advanced Scalable Texture, Levels 2-3 - */ -typedef enum OMX_VIDEO_MPEG4PROFILETYPE { - OMX_VIDEO_MPEG4ProfileSimple = 0x01, - OMX_VIDEO_MPEG4ProfileSimpleScalable = 0x02, - OMX_VIDEO_MPEG4ProfileCore = 0x04, - OMX_VIDEO_MPEG4ProfileMain = 0x08, - OMX_VIDEO_MPEG4ProfileNbit = 0x10, - OMX_VIDEO_MPEG4ProfileScalableTexture = 0x20, - OMX_VIDEO_MPEG4ProfileSimpleFace = 0x40, - OMX_VIDEO_MPEG4ProfileSimpleFBA = 0x80, - OMX_VIDEO_MPEG4ProfileBasicAnimated = 0x100, - OMX_VIDEO_MPEG4ProfileHybrid = 0x200, - OMX_VIDEO_MPEG4ProfileAdvancedRealTime = 0x400, - OMX_VIDEO_MPEG4ProfileCoreScalable = 0x800, - OMX_VIDEO_MPEG4ProfileAdvancedCoding = 0x1000, - OMX_VIDEO_MPEG4ProfileAdvancedCore = 0x2000, - OMX_VIDEO_MPEG4ProfileAdvancedScalable = 0x4000, - OMX_VIDEO_MPEG4ProfileAdvancedSimple = 0x8000, - OMX_VIDEO_MPEG4ProfileKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_VIDEO_MPEG4ProfileVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_VIDEO_MPEG4ProfileMax = 0x7FFFFFFF -} OMX_VIDEO_MPEG4PROFILETYPE; - - -/** - * MPEG-4 level types, each level indicates support for various frame - * sizes, bit rates, decoder frame rates. No need - */ -typedef enum OMX_VIDEO_MPEG4LEVELTYPE { - OMX_VIDEO_MPEG4Level0 = 0x01, /**< Level 0 */ - OMX_VIDEO_MPEG4Level0b = 0x02, /**< Level 0b */ - OMX_VIDEO_MPEG4Level1 = 0x04, /**< Level 1 */ - OMX_VIDEO_MPEG4Level2 = 0x08, /**< Level 2 */ - OMX_VIDEO_MPEG4Level3 = 0x10, /**< Level 3 */ - OMX_VIDEO_MPEG4Level4 = 0x20, /**< Level 4 */ - OMX_VIDEO_MPEG4Level4a = 0x40, /**< Level 4a */ - OMX_VIDEO_MPEG4Level5 = 0x80, /**< Level 5 */ - OMX_VIDEO_MPEG4LevelKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_VIDEO_MPEG4LevelVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_VIDEO_MPEG4LevelMax = 0x7FFFFFFF -} OMX_VIDEO_MPEG4LEVELTYPE; - - -/** - * MPEG-4 configuration. This structure handles configuration options - * which are specific to MPEG4 algorithms - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * nSliceHeaderSpacing : Number of macroblocks between slice header (H263+ - * Annex K). Put zero if not used - * bSVH : Enable Short Video Header mode - * bGov : Flag to enable GOV - * nPFrames : Number of P frames between each I frame (also called - * GOV period) - * nBFrames : Number of B frames between each I frame - * nIDCVLCThreshold : Value of intra DC VLC threshold - * bACPred : Flag to use ac prediction - * nMaxPacketSize : Maximum size of packet in bytes. - * nTimeIncRes : Used to pass VOP time increment resolution for MPEG4. - * Interpreted as described in MPEG4 standard. - * eProfile : MPEG-4 profile(s) to use. - * eLevel : MPEG-4 level(s) to use. - * nAllowedPictureTypes : Specifies the picture types allowed in the bitstream - * nHeaderExtension : Specifies the number of consecutive video packet - * headers within a VOP - * bReversibleVLC : Specifies whether reversible variable length coding - * is in use - */ -typedef struct OMX_VIDEO_PARAM_MPEG4TYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_U32 nSliceHeaderSpacing; - OMX_BOOL bSVH; - OMX_BOOL bGov; - OMX_U32 nPFrames; - OMX_U32 nBFrames; - OMX_U32 nIDCVLCThreshold; - OMX_BOOL bACPred; - OMX_U32 nMaxPacketSize; - OMX_U32 nTimeIncRes; - OMX_VIDEO_MPEG4PROFILETYPE eProfile; - OMX_VIDEO_MPEG4LEVELTYPE eLevel; - OMX_U32 nAllowedPictureTypes; - OMX_U32 nHeaderExtension; - OMX_BOOL bReversibleVLC; -} OMX_VIDEO_PARAM_MPEG4TYPE; - - -/** - * WMV Versions - */ -typedef enum OMX_VIDEO_WMVFORMATTYPE { - OMX_VIDEO_WMVFormatUnused = 0x01, /**< Format unused or unknown */ - OMX_VIDEO_WMVFormat7 = 0x02, /**< Windows Media Video format 7 */ - OMX_VIDEO_WMVFormat8 = 0x04, /**< Windows Media Video format 8 */ - OMX_VIDEO_WMVFormat9 = 0x08, /**< Windows Media Video format 9 */ - OMX_VIDEO_WMFFormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_VIDEO_WMFFormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_VIDEO_WMVFormatMax = 0x7FFFFFFF -} OMX_VIDEO_WMVFORMATTYPE; - - -/** - * WMV Params - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * eFormat : Version of WMV stream / data - */ -typedef struct OMX_VIDEO_PARAM_WMVTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_VIDEO_WMVFORMATTYPE eFormat; -} OMX_VIDEO_PARAM_WMVTYPE; - - -/** - * Real Video Version - */ -typedef enum OMX_VIDEO_RVFORMATTYPE { - OMX_VIDEO_RVFormatUnused = 0, /**< Format unused or unknown */ - OMX_VIDEO_RVFormat8, /**< Real Video format 8 */ - OMX_VIDEO_RVFormat9, /**< Real Video format 9 */ - OMX_VIDEO_RVFormatG2, /**< Real Video Format G2 */ - OMX_VIDEO_RVFormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_VIDEO_RVFormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_VIDEO_RVFormatMax = 0x7FFFFFFF -} OMX_VIDEO_RVFORMATTYPE; - - -/** - * Real Video Params - * - * STUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * eFormat : Version of RV stream / data - * nBitsPerPixel : Bits per pixel coded in the frame - * nPaddedWidth : Padded width in pixel of a video frame - * nPaddedHeight : Padded Height in pixels of a video frame - * nFrameRate : Rate of video in frames per second - * nBitstreamFlags : Flags which internal information about the bitstream - * nBitstreamVersion : Bitstream version - * nMaxEncodeFrameSize: Max encoded frame size - * bEnablePostFilter : Turn on/off post filter - * bEnableTemporalInterpolation : Turn on/off temporal interpolation - * bEnableLatencyMode : When enabled, the decoder does not display a decoded - * frame until it has detected that no enhancement layer - * frames or dependent B frames will be coming. This - * detection usually occurs when a subsequent non-B - * frame is encountered - */ -typedef struct OMX_VIDEO_PARAM_RVTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_VIDEO_RVFORMATTYPE eFormat; - OMX_U16 nBitsPerPixel; - OMX_U16 nPaddedWidth; - OMX_U16 nPaddedHeight; - OMX_U32 nFrameRate; - OMX_U32 nBitstreamFlags; - OMX_U32 nBitstreamVersion; - OMX_U32 nMaxEncodeFrameSize; - OMX_BOOL bEnablePostFilter; - OMX_BOOL bEnableTemporalInterpolation; - OMX_BOOL bEnableLatencyMode; -} OMX_VIDEO_PARAM_RVTYPE; - - -/** - * AVC profile types, each profile indicates support for various - * performance bounds and different annexes. - */ -typedef enum OMX_VIDEO_AVCPROFILETYPE { - OMX_VIDEO_AVCProfileBaseline = 0x01, /**< Baseline profile */ - OMX_VIDEO_AVCProfileMain = 0x02, /**< Main profile */ - OMX_VIDEO_AVCProfileExtended = 0x04, /**< Extended profile */ - OMX_VIDEO_AVCProfileHigh = 0x08, /**< High profile */ - OMX_VIDEO_AVCProfileHigh10 = 0x10, /**< High 10 profile */ - OMX_VIDEO_AVCProfileHigh422 = 0x20, /**< High 4:2:2 profile */ - OMX_VIDEO_AVCProfileHigh444 = 0x40, /**< High 4:4:4 profile */ - OMX_VIDEO_AVCProfileKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_VIDEO_AVCProfileVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_VIDEO_AVCProfileMax = 0x7FFFFFFF -} OMX_VIDEO_AVCPROFILETYPE; - - -/** - * AVC level types, each level indicates support for various frame sizes, - * bit rates, decoder frame rates. No need - */ -typedef enum OMX_VIDEO_AVCLEVELTYPE { - OMX_VIDEO_AVCLevel1 = 0x01, /**< Level 1 */ - OMX_VIDEO_AVCLevel1b = 0x02, /**< Level 1b */ - OMX_VIDEO_AVCLevel11 = 0x04, /**< Level 1.1 */ - OMX_VIDEO_AVCLevel12 = 0x08, /**< Level 1.2 */ - OMX_VIDEO_AVCLevel13 = 0x10, /**< Level 1.3 */ - OMX_VIDEO_AVCLevel2 = 0x20, /**< Level 2 */ - OMX_VIDEO_AVCLevel21 = 0x40, /**< Level 2.1 */ - OMX_VIDEO_AVCLevel22 = 0x80, /**< Level 2.2 */ - OMX_VIDEO_AVCLevel3 = 0x100, /**< Level 3 */ - OMX_VIDEO_AVCLevel31 = 0x200, /**< Level 3.1 */ - OMX_VIDEO_AVCLevel32 = 0x400, /**< Level 3.2 */ - OMX_VIDEO_AVCLevel4 = 0x800, /**< Level 4 */ - OMX_VIDEO_AVCLevel41 = 0x1000, /**< Level 4.1 */ - OMX_VIDEO_AVCLevel42 = 0x2000, /**< Level 4.2 */ - OMX_VIDEO_AVCLevel5 = 0x4000, /**< Level 5 */ - OMX_VIDEO_AVCLevel51 = 0x8000, /**< Level 5.1 */ - OMX_VIDEO_AVCLevelKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_VIDEO_AVCLevelVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_VIDEO_AVCLevelMax = 0x7FFFFFFF -} OMX_VIDEO_AVCLEVELTYPE; - - -/** - * AVC loop filter modes - * - * OMX_VIDEO_AVCLoopFilterEnable : Enable - * OMX_VIDEO_AVCLoopFilterDisable : Disable - * OMX_VIDEO_AVCLoopFilterDisableSliceBoundary : Disabled on slice boundaries - */ -typedef enum OMX_VIDEO_AVCLOOPFILTERTYPE { - OMX_VIDEO_AVCLoopFilterEnable = 0, - OMX_VIDEO_AVCLoopFilterDisable, - OMX_VIDEO_AVCLoopFilterDisableSliceBoundary, - OMX_VIDEO_AVCLoopFilterKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_VIDEO_AVCLoopFilterVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_VIDEO_AVCLoopFilterMax = 0x7FFFFFFF -} OMX_VIDEO_AVCLOOPFILTERTYPE; - - -/** - * AVC params - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * nSliceHeaderSpacing : Number of macroblocks between slice header, put - * zero if not used - * nPFrames : Number of P frames between each I frame - * nBFrames : Number of B frames between each I frame - * bUseHadamard : Enable/disable Hadamard transform - * nRefFrames : Max number of reference frames to use for inter - * motion search (1-16) - * nRefIdxTrailing : Pic param set ref frame index (index into ref - * frame buffer of trailing frames list), B frame - * support - * nRefIdxForward : Pic param set ref frame index (index into ref - * frame buffer of forward frames list), B frame - * support - * bEnableUEP : Enable/disable unequal error protection. This - * is only valid of data partitioning is enabled. - * bEnableFMO : Enable/disable flexible macroblock ordering - * bEnableASO : Enable/disable arbitrary slice ordering - * bEnableRS : Enable/disable sending of redundant slices - * eProfile : AVC profile(s) to use - * eLevel : AVC level(s) to use - * nAllowedPictureTypes : Specifies the picture types allowed in the - * bitstream - * bFrameMBsOnly : specifies that every coded picture of the - * coded video sequence is a coded frame - * containing only frame macroblocks - * bMBAFF : Enable/disable switching between frame and - * field macroblocks within a picture - * bEntropyCodingCABAC : Entropy decoding method to be applied for the - * syntax elements for which two descriptors appear - * in the syntax tables - * bWeightedPPrediction : Enable/disable weighted prediction shall not - * be applied to P and SP slices - * nWeightedBipredicitonMode : Default weighted prediction is applied to B - * slices - * bconstIpred : Enable/disable intra prediction - * bDirect8x8Inference : Specifies the method used in the derivation - * process for luma motion vectors for B_Skip, - * B_Direct_16x16 and B_Direct_8x8 as specified - * in subclause 8.4.1.2 of the AVC spec - * bDirectSpatialTemporal : Flag indicating spatial or temporal direct - * mode used in B slice coding (related to - * bDirect8x8Inference) . Spatial direct mode is - * more common and should be the default. - * nCabacInitIdx : Index used to init CABAC contexts - * eLoopFilterMode : Enable/disable loop filter - */ -typedef struct OMX_VIDEO_PARAM_AVCTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_U32 nSliceHeaderSpacing; - OMX_U32 nPFrames; - OMX_U32 nBFrames; - OMX_BOOL bUseHadamard; - OMX_U32 nRefFrames; - OMX_U32 nRefIdx10ActiveMinus1; - OMX_U32 nRefIdx11ActiveMinus1; - OMX_BOOL bEnableUEP; - OMX_BOOL bEnableFMO; - OMX_BOOL bEnableASO; - OMX_BOOL bEnableRS; - OMX_VIDEO_AVCPROFILETYPE eProfile; - OMX_VIDEO_AVCLEVELTYPE eLevel; - OMX_U32 nAllowedPictureTypes; - OMX_BOOL bFrameMBsOnly; - OMX_BOOL bMBAFF; - OMX_BOOL bEntropyCodingCABAC; - OMX_BOOL bWeightedPPrediction; - OMX_U32 nWeightedBipredicitonMode; - OMX_BOOL bconstIpred ; - OMX_BOOL bDirect8x8Inference; - OMX_BOOL bDirectSpatialTemporal; - OMX_U32 nCabacInitIdc; - OMX_VIDEO_AVCLOOPFILTERTYPE eLoopFilterMode; -} OMX_VIDEO_PARAM_AVCTYPE; - -typedef struct OMX_VIDEO_PARAM_PROFILELEVELTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_U32 eProfile; /**< type is OMX_VIDEO_AVCPROFILETYPE, OMX_VIDEO_H263PROFILETYPE, - or OMX_VIDEO_MPEG4PROFILETYPE depending on context */ - OMX_U32 eLevel; /**< type is OMX_VIDEO_AVCLEVELTYPE, OMX_VIDEO_H263LEVELTYPE, - or OMX_VIDEO_MPEG4PROFILETYPE depending on context */ - OMX_U32 nProfileIndex; /**< Used to query for individual profile support information, - This parameter is valid only for - OMX_IndexParamVideoProfileLevelQuerySupported index, - For all other indices this parameter is to be ignored. */ -} OMX_VIDEO_PARAM_PROFILELEVELTYPE; - -/** - * Structure for dynamically configuring bitrate mode of a codec. - * - * STRUCT MEMBERS: - * nSize : Size of the struct in bytes - * nVersion : OMX spec version info - * nPortIndex : Port that this struct applies to - * nEncodeBitrate : Target average bitrate to be generated in bps - */ -typedef struct OMX_VIDEO_CONFIG_BITRATETYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_U32 nEncodeBitrate; -} OMX_VIDEO_CONFIG_BITRATETYPE; - -/** - * Defines Encoder Frame Rate setting - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * xEncodeFramerate : Encoding framerate represented in Q16 format - */ -typedef struct OMX_CONFIG_FRAMERATETYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_U32 xEncodeFramerate; /* Q16 format */ -} OMX_CONFIG_FRAMERATETYPE; - -typedef struct OMX_CONFIG_INTRAREFRESHVOPTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_BOOL IntraRefreshVOP; -} OMX_CONFIG_INTRAREFRESHVOPTYPE; - -typedef struct OMX_CONFIG_MACROBLOCKERRORMAPTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_U32 nErrMapSize; /* Size of the Error Map in bytes */ - OMX_U8 ErrMap[1]; /* Error map hint */ -} OMX_CONFIG_MACROBLOCKERRORMAPTYPE; - -typedef struct OMX_CONFIG_MBERRORREPORTINGTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_BOOL bEnabled; -} OMX_CONFIG_MBERRORREPORTINGTYPE; - -typedef struct OMX_PARAM_MACROBLOCKSTYPE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_U32 nMacroblocks; -} OMX_PARAM_MACROBLOCKSTYPE; - -/** - * AVC Slice Mode modes - * - * OMX_VIDEO_SLICEMODE_AVCDefault : Normal frame encoding, one slice per frame - * OMX_VIDEO_SLICEMODE_AVCMBSlice : NAL mode, number of MBs per frame - * OMX_VIDEO_SLICEMODE_AVCByteSlice : NAL mode, number of bytes per frame - */ -typedef enum OMX_VIDEO_AVCSLICEMODETYPE { - OMX_VIDEO_SLICEMODE_AVCDefault = 0, - OMX_VIDEO_SLICEMODE_AVCMBSlice, - OMX_VIDEO_SLICEMODE_AVCByteSlice, - OMX_VIDEO_SLICEMODE_AVCKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ - OMX_VIDEO_SLICEMODE_AVCVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ - OMX_VIDEO_SLICEMODE_AVCLevelMax = 0x7FFFFFFF -} OMX_VIDEO_AVCSLICEMODETYPE; - -/** - * AVC FMO Slice Mode Params - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * nNumSliceGroups : Specifies the number of slice groups - * nSliceGroupMapType : Specifies the type of slice groups - * eSliceMode : Specifies the type of slice - */ -typedef struct OMX_VIDEO_PARAM_AVCSLICEFMO { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_U8 nNumSliceGroups; - OMX_U8 nSliceGroupMapType; - OMX_VIDEO_AVCSLICEMODETYPE eSliceMode; -} OMX_VIDEO_PARAM_AVCSLICEFMO; - -/** - * AVC IDR Period Configs - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * nIDRPeriod : Specifies periodicity of IDR frames - * nPFrames : Specifies internal of coding Intra frames - */ -typedef struct OMX_VIDEO_CONFIG_AVCINTRAPERIOD { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_U32 nIDRPeriod; - OMX_U32 nPFrames; -} OMX_VIDEO_CONFIG_AVCINTRAPERIOD; - -/** - * AVC NAL Size Configs - * - * STRUCT MEMBERS: - * nSize : Size of the structure in bytes - * nVersion : OMX specification version information - * nPortIndex : Port that this structure applies to - * nNaluBytes : Specifies the NAL unit size - */ -typedef struct OMX_VIDEO_CONFIG_NALSIZE { - OMX_U32 nSize; - OMX_VERSIONTYPE nVersion; - OMX_U32 nPortIndex; - OMX_U32 nNaluBytes; -} OMX_VIDEO_CONFIG_NALSIZE; - -/** @} */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif -/* File EOF */ - diff --git a/third_party/openmax/il_stub_headers.fragment b/third_party/openmax/il_stub_headers.fragment deleted file mode 100644 index 222f4dc393..0000000000 --- a/third_party/openmax/il_stub_headers.fragment +++ /dev/null @@ -1,8 +0,0 @@ -// These are some extra includes needed in the generated stub file for defining -// various OpenMAX types. - -extern "C" { - -#include "third_party/openmax/il/OMX_Core.h" - -} diff --git a/third_party/usrsctp/README.chromium b/third_party/usrsctp/README.chromium index 087a03fcb5..a3224eaddb 100644 --- a/third_party/usrsctp/README.chromium +++ b/third_party/usrsctp/README.chromium @@ -2,13 +2,14 @@ Name: usrsctp URL: http://sctp-refimpl.googlecode.com/svn/trunk/KERN/usrsctp Version: 0 Date: 16 March 2013 -Revision: 8439 +Revision: 8554 License: New BSD License License File: LICENSE Security Critical: yes Description: -The usrsctplib provides implementation of SCTP protocol which fully supports RFC 2960 +The usrsctplib provides implementation of SCTP protocol which fully supports +RFC 2960 as well as updates and enhancements from the following Internet Drafts: draft-ietf-tsvwg-sctpcsum-05.txt draft-ietf-tsvwg-sctpimpguide-05.txt @@ -19,8 +20,13 @@ as well as updates and enhancements from the following Internet Drafts: draft-iyengar-sctp-cacc-00.txt Local Modifications: -usrsctplib provides its own SHA1 implementations as part of the library. Since chrome -already has the support of both NSS and OPENSSL which already has the implementation -of SHA1, Chromium will not include the SHA1 from usrsctplib. -Overrides folder has the necessary changes to strip existing SHA1 implementation in -usrsctplib and use OPENSSL or NSS implementation based on the platform type. +usrsctplib provides its own SHA1 implementations as part of the library. Since +chrome already has the support of both NSS and OPENSSL which already +implementats SHA1, Chromium will not include the SHA1 from usrsctplib. + +Overrides folder has the necessary changes to strip the existing SHA1 +implementation in usrsctplib and use OPENSSL or NSS implementation based on the +platform type. + +To re-create the patch file run: +diff -PcrB usrsctplib overrides/usrsctplib > localchanges.patch diff --git a/third_party/usrsctp/localchanges.patch b/third_party/usrsctp/localchanges.patch index b784a42814..83029a8cbe 100644 --- a/third_party/usrsctp/localchanges.patch +++ b/third_party/usrsctp/localchanges.patch @@ -1,6 +1,15 @@ -diff -NcrB usrsctplib/netinet/sctp_auth.h overrides/usrsctplib/netinet/sctp_auth.h -*** usrsctplib/netinet/sctp_auth.h 2013-06-10 17:41:59.323347517 -0700 ---- overrides/usrsctplib/netinet/sctp_auth.h 2013-06-10 17:44:55.584797436 -0700 +Binary files usrsctplib/.DS_Store and overrides/usrsctplib/.DS_Store differ +Only in usrsctplib: .cvsignore +Only in usrsctplib: .git +Only in usrsctplib: Makefile.am +Only in usrsctplib: Makefile.nmake +Only in usrsctplib/netinet: sctp.h +Only in usrsctplib/netinet: sctp_asconf.c +Only in usrsctplib/netinet: sctp_asconf.h +Only in usrsctplib/netinet: sctp_auth.c +diff -PcrB usrsctplib/netinet/sctp_auth.h overrides/usrsctplib/netinet/sctp_auth.h +*** usrsctplib/netinet/sctp_auth.h 2013-07-26 05:00:15.000000000 -0400 +--- overrides/usrsctplib/netinet/sctp_auth.h 2013-06-18 11:40:34.000000000 -0400 *************** *** 38,43 **** --- 38,44 ---- @@ -11,12 +20,30 @@ diff -NcrB usrsctplib/netinet/sctp_auth.h overrides/usrsctplib/netinet/sctp_auth /* digest lengths */ #define SCTP_AUTH_DIGEST_LEN_SHA1 20 -diff -NcrB usrsctplib/netinet/sctp_nss_sha1.c overrides/usrsctplib/netinet/sctp_nss_sha1.c -*** usrsctplib/netinet/sctp_nss_sha1.c 1969-12-31 16:00:00.000000000 -0800 ---- overrides/usrsctplib/netinet/sctp_nss_sha1.c 2013-06-10 17:41:29.603102743 -0700 +Only in usrsctplib/netinet: sctp_bsd_addr.c +Only in usrsctplib/netinet: sctp_bsd_addr.h +Only in usrsctplib/netinet: sctp_callout.c +Only in usrsctplib/netinet: sctp_callout.h +Only in usrsctplib/netinet: sctp_cc_functions.c +Only in usrsctplib/netinet: sctp_constants.h +Only in usrsctplib/netinet: sctp_crc32.c +Only in usrsctplib/netinet: sctp_crc32.h +Only in usrsctplib/netinet: sctp_dtrace_declare.h +Only in usrsctplib/netinet: sctp_dtrace_define.h +Only in usrsctplib/netinet: sctp_hashdriver.c +Only in usrsctplib/netinet: sctp_hashdriver.h +Only in usrsctplib/netinet: sctp_header.h +Only in usrsctplib/netinet: sctp_indata.c +Only in usrsctplib/netinet: sctp_indata.h +Only in usrsctplib/netinet: sctp_input.c +Only in usrsctplib/netinet: sctp_input.h +Only in usrsctplib/netinet: sctp_lock_userspace.h +diff -PcrB usrsctplib/netinet/sctp_nss_sha1.c overrides/usrsctplib/netinet/sctp_nss_sha1.c +*** usrsctplib/netinet/sctp_nss_sha1.c 1969-12-31 19:00:00.000000000 -0500 +--- overrides/usrsctplib/netinet/sctp_nss_sha1.c 2013-07-29 21:32:35.000000000 -0400 *************** *** 0 **** ---- 1,61 ---- +--- 1,64 ---- + /*- + * Copyright (c) 2001-2007, by Cisco Systems, Inc. All rights reserved. + * Copyright (c) 2008-2012, by Randall Stewart. All rights reserved. @@ -57,6 +84,9 @@ diff -NcrB usrsctplib/netinet/sctp_nss_sha1.c overrides/usrsctplib/netinet/sctp_ + #ifdef SCTP_USE_NSS_SHA1 + #include <netinet/sctp_nss_sha1.h> + ++ /* A SHA-1 Digest is 160 bits, or 20 bytes */ ++ #define SHA_DIGEST_LENGTH (20) ++ + void + SCTP_NSS_SHA1_Init(struct sha1_context *ctx) + { @@ -74,13 +104,13 @@ diff -NcrB usrsctplib/netinet/sctp_nss_sha1.c overrides/usrsctplib/netinet/sctp_ + SCTP_NSS_SHA1_Final(unsigned char *digest, struct sha1_context *ctx) + { + unsigned int output_len = 0; -+ PK11_DigestFinal(ctx->pk11_ctx, digest, &output_len, sizeof(digest)); ++ PK11_DigestFinal(ctx->pk11_ctx, digest, &output_len, SHA_DIGEST_LENGTH); + PK11_DestroyContext(ctx->pk11_ctx, PR_TRUE); + } + #endif -diff -NcrB usrsctplib/netinet/sctp_nss_sha1.h overrides/usrsctplib/netinet/sctp_nss_sha1.h -*** usrsctplib/netinet/sctp_nss_sha1.h 1969-12-31 16:00:00.000000000 -0800 ---- overrides/usrsctplib/netinet/sctp_nss_sha1.h 2013-06-10 17:41:29.603102743 -0700 +diff -PcrB usrsctplib/netinet/sctp_nss_sha1.h overrides/usrsctplib/netinet/sctp_nss_sha1.h +*** usrsctplib/netinet/sctp_nss_sha1.h 1969-12-31 19:00:00.000000000 -0500 +--- overrides/usrsctplib/netinet/sctp_nss_sha1.h 2013-07-26 03:58:48.000000000 -0400 *************** *** 0 **** --- 1,64 ---- @@ -146,11 +176,11 @@ diff -NcrB usrsctplib/netinet/sctp_nss_sha1.h overrides/usrsctplib/netinet/sctp_ + #define SHA1_Update SCTP_NSS_SHA1_Update + #define SHA1_Final SCTP_NSS_SHA1_Final + -+ #endif /* _KERNEL */ -+ #endif -diff -NcrB usrsctplib/netinet/sctp_openssl_sha1.h overrides/usrsctplib/netinet/sctp_openssl_sha1.h -*** usrsctplib/netinet/sctp_openssl_sha1.h 1969-12-31 16:00:00.000000000 -0800 ---- overrides/usrsctplib/netinet/sctp_openssl_sha1.h 2013-06-10 17:41:29.603102743 -0700 ++ #endif /* _KERNEL */ ++ #endif /* __SCTP_NSS_SHA1_h__ */ +diff -PcrB usrsctplib/netinet/sctp_openssl_sha1.h overrides/usrsctplib/netinet/sctp_openssl_sha1.h +*** usrsctplib/netinet/sctp_openssl_sha1.h 1969-12-31 19:00:00.000000000 -0500 +--- overrides/usrsctplib/netinet/sctp_openssl_sha1.h 2013-06-18 11:40:34.000000000 -0400 *************** *** 0 **** --- 1,48 ---- @@ -202,9 +232,9 @@ diff -NcrB usrsctplib/netinet/sctp_openssl_sha1.h overrides/usrsctplib/netinet/s + typedef SHA_CTX SHA1_CTX; + + #endif -diff -NcrB usrsctplib/netinet/sctp_os.h overrides/usrsctplib/netinet/sctp_os.h -*** usrsctplib/netinet/sctp_os.h 2013-06-10 17:42:10.643440747 -0700 ---- overrides/usrsctplib/netinet/sctp_os.h 2013-06-10 17:41:29.603102743 -0700 +diff -PcrB usrsctplib/netinet/sctp_os.h overrides/usrsctplib/netinet/sctp_os.h +*** usrsctplib/netinet/sctp_os.h 2013-07-26 05:00:15.000000000 -0400 +--- overrides/usrsctplib/netinet/sctp_os.h 2013-06-18 11:40:34.000000000 -0400 *************** *** 73,79 **** #endif @@ -223,34 +253,48 @@ diff -NcrB usrsctplib/netinet/sctp_os.h overrides/usrsctplib/netinet/sctp_os.h #endif #if defined(__Panda__) -diff -NcrB usrsctplib/netinet/sctp_os_userspace.h overrides/usrsctplib/netinet/sctp_os_userspace.h -*** usrsctplib/netinet/sctp_os_userspace.h 2013-06-10 17:42:23.763548800 -0700 ---- overrides/usrsctplib/netinet/sctp_os_userspace.h 2013-06-10 17:41:29.603102743 -0700 +diff -PcrB usrsctplib/netinet/sctp_os_userspace.h overrides/usrsctplib/netinet/sctp_os_userspace.h +*** usrsctplib/netinet/sctp_os_userspace.h 2013-07-26 05:03:12.000000000 -0400 +--- overrides/usrsctplib/netinet/sctp_os_userspace.h 2013-07-26 04:46:41.000000000 -0400 *************** -*** 992,1000 **** +*** 996,1012 **** #define SCTP_READ_RANDOM(buf, len) read_random(buf, len) - #ifdef USE_SCTP_SHA1 #include <netinet/sctp_sha1.h> -- #else - #if 0 /*this was old _KERNEL code... */ - #include <crypto/sha1.h> - /* map standard crypto API names */ ---- 992,998 ---- -*************** -*** 1002,1008 **** - #define SHA1_Update SHA1Update - #define SHA1_Final(x,y) SHA1Final((caddr_t)x, y) - #endif -- #endif +! #else +! #if 0 /*this was old _KERNEL code... */ +! #include <crypto/sha1.h> +! /* map standard crypto API names */ +! #define SHA1_Init SHA1Init +! #define SHA1_Update SHA1Update +! #define SHA1_Final(x,y) SHA1Final((caddr_t)x, y) +! #endif +! #endif + + #if defined(HAVE_SHA2) + #include <crypto/sha2/sha2.h> +--- 996,1003 ---- + #define SCTP_READ_RANDOM(buf, len) read_random(buf, len) + + + #include <netinet/sctp_sha1.h> +! #if defined(HAVE_SHA2) #include <crypto/sha2/sha2.h> ---- 1000,1005 ---- -diff -NcrB usrsctplib/netinet/sctp_sha1.h overrides/usrsctplib/netinet/sctp_sha1.h -*** usrsctplib/netinet/sctp_sha1.h 2013-06-10 17:42:32.483620614 -0700 ---- overrides/usrsctplib/netinet/sctp_sha1.h 2013-06-10 17:41:29.603102743 -0700 +Only in usrsctplib/netinet: sctp_output.c +Only in usrsctplib/netinet: sctp_output.h +Only in usrsctplib/netinet: sctp_pcb.c +Only in usrsctplib/netinet: sctp_pcb.h +Only in usrsctplib/netinet: sctp_peeloff.c +Only in usrsctplib/netinet: sctp_peeloff.h +Only in usrsctplib/netinet: sctp_process_lock.h +Only in usrsctplib/netinet: sctp_sha1.c +diff -PcrB usrsctplib/netinet/sctp_sha1.h overrides/usrsctplib/netinet/sctp_sha1.h +*** usrsctplib/netinet/sctp_sha1.h 2013-07-26 05:00:15.000000000 -0400 +--- overrides/usrsctplib/netinet/sctp_sha1.h 2013-07-29 23:00:51.000000000 -0400 *************** *** 36,46 **** #endif @@ -260,11 +304,11 @@ diff -NcrB usrsctplib/netinet/sctp_sha1.h overrides/usrsctplib/netinet/sctp_sha1 ! #define __SCTP_SLA1_h__ #include <sys/types.h> -! + struct sha1_context { unsigned int A; unsigned int B; ---- 36,50 ---- +--- 36,69 ---- #endif @@ -272,18 +316,73 @@ diff -NcrB usrsctplib/netinet/sctp_sha1.h overrides/usrsctplib/netinet/sctp_sha1 ! #define __SCTP_SHA1_h__ #include <sys/types.h> -! #ifdef SCTP_USE_NSS_SHA1 -! #include <netinet/sctp_nss_sha1.h> -! #elif SCTP_USE_OPENSSL_SHA1 -! #include <netinet/sctp_openssl_sha1.h> -! #else // USE_SCTP_SHA1 + ++ #if !defined(SSL_USE_OPENSSL) && !defined(SSL_USE_NSS) ++ #if defined(WIN32) ++ ++ #define SCTP_USE_SCTP_SHA1 1 ++ ++ #else // defined(WIN32) ++ ++ #if defined(HAVE_OPENSSL_SSL_H) ++ #define SSL_USE_OPENSSL 1 ++ #elif defined(HAVE_NSS_SSL_H) ++ #define SSL_USE_NSS 1 ++ #else ++ #define SCTP_USE_SCTP_SHA1 ++ #endif ++ ++ #endif // !defined(WIN32) ++ #endif ++ ++ #if defined(SSL_USE_NSS) ++ #include <netinet/sctp_nss_sha1.h> ++ #elif defined(SSL_USE_OPENSSL) ++ #include <netinet/sctp_openssl_sha1.h> ++ #else // SCTP_USE_SCTP_SHA1 struct sha1_context { unsigned int A; unsigned int B; *************** -*** 96,98 **** ---- 100,103 ---- +*** 95,98 **** + void SHA1_Final(unsigned char *, struct sha1_context *); #endif /* _KERNEL */ - #endif -+ #endif +! #endif +--- 118,122 ---- + void SHA1_Final(unsigned char *, struct sha1_context *); + + #endif /* _KERNEL */ +! #endif /* !defined(SSL_USE_OPENSSL) && !defined(SSL_USE_NSS) */ +! #endif /* __SCTP_SHA1_h__ */ +Only in usrsctplib/netinet: sctp_ss_functions.c +Only in usrsctplib/netinet: sctp_structs.h +Only in usrsctplib/netinet: sctp_sysctl.c +Only in usrsctplib/netinet: sctp_sysctl.h +Only in usrsctplib/netinet: sctp_timer.c +Only in usrsctplib/netinet: sctp_timer.h +Only in usrsctplib/netinet: sctp_uio.h +Only in usrsctplib/netinet: sctp_userspace.c +Only in usrsctplib/netinet: sctp_usrreq.c +Only in usrsctplib/netinet: sctp_var.h +Only in usrsctplib/netinet: sctputil.c +Only in usrsctplib/netinet: sctputil.h +Only in usrsctplib: netinet6 +Only in usrsctplib: user_atomic.h +Only in usrsctplib: user_environment.c +Only in usrsctplib: user_environment.h +Only in usrsctplib: user_inpcb.h +Only in usrsctplib: user_ip6_var.h +Only in usrsctplib: user_ip_icmp.h +Only in usrsctplib: user_malloc.h +Only in usrsctplib: user_mbuf.c +Only in usrsctplib: user_mbuf.h +Only in usrsctplib: user_queue.h +Only in usrsctplib: user_recv_thread.c +Only in usrsctplib: user_recv_thread.h +Only in usrsctplib: user_route.h +Only in usrsctplib: user_sctp_timer_iterate.c +Only in usrsctplib: user_socket.c +Only in usrsctplib: user_socketvar.h +Only in usrsctplib: user_uma.h +Only in usrsctplib: usrsctp.h diff --git a/third_party/usrsctp/overrides/usrsctplib/netinet/sctp_nss_sha1.c b/third_party/usrsctp/overrides/usrsctplib/netinet/sctp_nss_sha1.c index 2274f8c8ad..b87ff71844 100644 --- a/third_party/usrsctp/overrides/usrsctplib/netinet/sctp_nss_sha1.c +++ b/third_party/usrsctp/overrides/usrsctplib/netinet/sctp_nss_sha1.c @@ -38,6 +38,9 @@ __FBSDID("$FreeBSD$"); #ifdef SCTP_USE_NSS_SHA1 #include <netinet/sctp_nss_sha1.h> +/* A SHA-1 Digest is 160 bits, or 20 bytes */ +#define SHA_DIGEST_LENGTH (20) + void SCTP_NSS_SHA1_Init(struct sha1_context *ctx) { @@ -55,7 +58,7 @@ void SCTP_NSS_SHA1_Final(unsigned char *digest, struct sha1_context *ctx) { unsigned int output_len = 0; - PK11_DigestFinal(ctx->pk11_ctx, digest, &output_len, sizeof(digest)); + PK11_DigestFinal(ctx->pk11_ctx, digest, &output_len, SHA_DIGEST_LENGTH); PK11_DestroyContext(ctx->pk11_ctx, PR_TRUE); } #endif diff --git a/third_party/usrsctp/overrides/usrsctplib/netinet/sctp_nss_sha1.h b/third_party/usrsctp/overrides/usrsctplib/netinet/sctp_nss_sha1.h index 85e721d8f8..ba5844025a 100644 --- a/third_party/usrsctp/overrides/usrsctplib/netinet/sctp_nss_sha1.h +++ b/third_party/usrsctp/overrides/usrsctplib/netinet/sctp_nss_sha1.h @@ -60,5 +60,5 @@ typedef struct sha1_context SHA1_CTX; #define SHA1_Update SCTP_NSS_SHA1_Update #define SHA1_Final SCTP_NSS_SHA1_Final -#endif /* _KERNEL */ -#endif +#endif /* _KERNEL */ +#endif /* __SCTP_NSS_SHA1_h__ */ diff --git a/third_party/usrsctp/overrides/usrsctplib/netinet/sctp_os_userspace.h b/third_party/usrsctp/overrides/usrsctplib/netinet/sctp_os_userspace.h index 7e977f76e4..709e44d7b9 100644 --- a/third_party/usrsctp/overrides/usrsctplib/netinet/sctp_os_userspace.h +++ b/third_party/usrsctp/overrides/usrsctplib/netinet/sctp_os_userspace.h @@ -44,8 +44,6 @@ #if defined(__Userspace_os_Windows) #include <winsock2.h> #include <ws2tcpip.h> -#include <ws2ipdef.h> -#include <ws2def.h> #include <iphlpapi.h> #include <Mswsock.h> #include <Windows.h> @@ -63,6 +61,10 @@ typedef struct CRITICAL_SECTION waiters_count_lock; HANDLE events_[C_MAX_EVENTS]; } userland_cond_t; +void InitializeXPConditionVariable(userland_cond_t *); +void DeleteXPConditionVariable(userland_cond_t *); +int SleepXPConditionVariable(userland_cond_t *, userland_mutex_t *); +void WakeAllXPConditionVariable(userland_cond_t *); #define InitializeConditionVariable(cond) InitializeXPConditionVariable(cond) #define DeleteConditionVariable(cond) DeleteXPConditionVariable(cond) #define SleepConditionVariableCS(cond, mtx, time) SleepXPConditionVariable(cond, mtx) @@ -210,8 +212,10 @@ typedef HANDLE userland_thread_t; typedef char* caddr_t; +int Win_getifaddrs(struct ifaddrs**); #define getifaddrs(interfaces) (int)Win_getifaddrs(interfaces) -#define if_nametoindex(x) (int)win_if_nametoindex(x) +int win_if_nametoindex(const char *); +#define if_nametoindex(x) win_if_nametoindex(x) #define bzero(buf, len) memset(buf, 0, len) #define bcopy(srcKey, dstKey, len) memcpy(dstKey, srcKey, len) @@ -411,18 +415,18 @@ struct sx {int dummy;}; #else #include <sys/queue.h> #endif +#include <user_malloc.h> /* #include <sys/kernel.h> */ /* #include <sys/sysctl.h> */ /* #include <sys/protosw.h> */ /* on FreeBSD, this results in a redefintion of SOCK(BUF)_(UN)LOCK and * uknown type of struct mtx for sb_mtx in struct sockbuf */ +#include "user_socketvar.h" /* MALLOC_DECLARE's M_PCB. Replacement for sys/socketvar.h */ /* #include <sys/jail.h> */ /* #include <sys/sysctl.h> */ -#include <user_atomic.h> #include <user_environment.h> -#include <user_malloc.h> +#include <user_atomic.h> #include <user_mbuf.h> -#include "user_socketvar.h" /* MALLOC_DECLARE's M_PCB. Replacement for sys/socketvar.h */ /* #include <sys/uio.h> */ /* #include <sys/lock.h> */ #if defined(__FreeBSD__) && __FreeBSD_version > 602000 @@ -993,13 +997,7 @@ int sctp_userspace_get_mtu_from_ifn(uint32_t if_index, int af); #include <netinet/sctp_sha1.h> -#if 0 /*this was old _KERNEL code... */ -#include <crypto/sha1.h> -/* map standard crypto API names */ -#define SHA1_Init SHA1Init -#define SHA1_Update SHA1Update -#define SHA1_Final(x,y) SHA1Final((caddr_t)x, y) -#endif + #if defined(HAVE_SHA2) #include <crypto/sha2/sha2.h> diff --git a/third_party/usrsctp/overrides/usrsctplib/netinet/sctp_sha1.h b/third_party/usrsctp/overrides/usrsctplib/netinet/sctp_sha1.h index 4000e41d78..006e920900 100644 --- a/third_party/usrsctp/overrides/usrsctplib/netinet/sctp_sha1.h +++ b/third_party/usrsctp/overrides/usrsctplib/netinet/sctp_sha1.h @@ -40,11 +40,30 @@ __FBSDID("$FreeBSD$"); #define __SCTP_SHA1_h__ #include <sys/types.h> -#ifdef SCTP_USE_NSS_SHA1 + +#if !defined(SSL_USE_OPENSSL) && !defined(SSL_USE_NSS) +#if defined(WIN32) + +#define SCTP_USE_SCTP_SHA1 1 + +#else // defined(WIN32) + +#if defined(HAVE_OPENSSL_SSL_H) +#define SSL_USE_OPENSSL 1 +#elif defined(HAVE_NSS_SSL_H) +#define SSL_USE_NSS 1 +#else +#define SCTP_USE_SCTP_SHA1 +#endif + +#endif // !defined(WIN32) +#endif + +#if defined(SSL_USE_NSS) #include <netinet/sctp_nss_sha1.h> -#elif SCTP_USE_OPENSSL_SHA1 +#elif defined(SSL_USE_OPENSSL) #include <netinet/sctp_openssl_sha1.h> -#else // USE_SCTP_SHA1 +#else // SCTP_USE_SCTP_SHA1 struct sha1_context { unsigned int A; unsigned int B; @@ -99,5 +118,5 @@ void SHA1_Update(struct sha1_context *, const unsigned char *, int); void SHA1_Final(unsigned char *, struct sha1_context *); #endif /* _KERNEL */ -#endif -#endif +#endif /* !defined(SSL_USE_OPENSSL) && !defined(SSL_USE_NSS) */ +#endif /* __SCTP_SHA1_h__ */ diff --git a/third_party/usrsctp/usrsctp.gyp b/third_party/usrsctp/usrsctp.gyp index 9285e21316..d2733851eb 100644 --- a/third_party/usrsctp/usrsctp.gyp +++ b/third_party/usrsctp/usrsctp.gyp @@ -7,7 +7,6 @@ }, 'target_defaults': { 'defines': [ - 'INET', 'SCTP_PROCESS_LEVEL_LOCKS', 'SCTP_SIMPLE_ALLOCATOR', '__Userspace__', @@ -32,19 +31,27 @@ 'conditions': [ ['use_openssl==1', { 'defines': [ - 'SCTP_USE_OPENSSL_SHA1', + 'SSL_USE_OPENSSL', ], 'dependencies': [ - '../../third_party/openssl/openssl.gyp:openssl', + '<(DEPTH)/third_party/openssl/openssl.gyp:openssl', + ], + 'sources': [ + 'overrides/usrsctplib/netinet/sctp_openssl_sha1.h', ], }, { # else use_openssl==0, use NSS. 'defines' : [ + 'SSL_USE_NSS', 'SCTP_USE_NSS_SHA1', ], + 'sources': [ + 'overrides/usrsctplib/netinet/sctp_nss_sha1.c', + 'overrides/usrsctplib/netinet/sctp_nss_sha1.h', + ], 'conditions': [ ['os_posix == 1 and OS != "mac" and OS != "ios" and OS != "android"', { - 'dependencies': [ + 'dependencies': [ # The system.gyp:ssl dependency includes nss '<(DEPTH)/build/linux/system.gyp:ssl', ], }], @@ -66,9 +73,7 @@ 'overrides/usrsctplib/netinet/sctp_auth.h', 'overrides/usrsctplib/netinet/sctp_os.h', 'overrides/usrsctplib/netinet/sctp_os_userspace.h', - 'overrides/usrsctplib/netinet/sctp_nss_sha1.c', - 'overrides/usrsctplib/netinet/sctp_nss_sha1.h', - + 'overrides/usrsctplib/netinet/sctp_sha1.h', 'usrsctplib/usrsctp.h', 'usrsctplib/user_atomic.h', 'usrsctplib/user_environment.c', @@ -97,8 +102,6 @@ 'usrsctplib/netinet/sctp_constants.h', 'usrsctplib/netinet/sctp_crc32.c', 'usrsctplib/netinet/sctp_crc32.h', - 'usrsctplib/netinet/sctp_hashdriver.h', - 'usrsctplib/netinet/sctp_hashdriver.c', 'usrsctplib/netinet/sctp_header.h', 'usrsctplib/netinet/sctp_indata.c', 'usrsctplib/netinet/sctp_indata.h', @@ -123,23 +126,10 @@ 'usrsctplib/netinet/sctputil.c', 'usrsctplib/netinet/sctputil.h', 'usrsctplib/netinet/sctp_var.h', - 'usrsctplib/netinet6/sctp6_usrreq.c', - 'usrsctplib/netinet6/sctp6_var.h', ], # sources 'conditions': [ - ['use_openssl==1', { - 'sources!': [ - 'overrides/usrsctplib/netinet/sctp_nss_sha1.c', - 'overrides/usrsctplib/netinet/sctp_nss_sha1.h', - ], - 'sources': [ - 'overrides/usrsctplib/netinet/sctp_openssl_sha1.h', - ], - }], ['OS=="linux"', { 'defines': [ - 'HAVE_INET_ADDR', - 'HAVE_SOCKET', '__Userspace_os_Linux', ], 'cflags!': [ '-Werror', '-Wall' ], @@ -147,13 +137,8 @@ }], ['OS=="mac"', { 'defines': [ - 'HAVE_INET_ADDR', 'HAVE_SA_LEN', 'HAVE_SCONN_LEN', - 'HAVE_SIN6_LEN', - 'HAVE_SIN_LEN', - 'HAVE_SOCKET', - 'INET6', '__APPLE_USE_RFC_2292', '__Userspace_os_Darwin', ], @@ -165,12 +150,12 @@ }], ['OS=="win"', { 'defines': [ - 'INET6', '__Userspace_os_Windows', ], 'cflags!': [ '/W3', '/WX' ], 'cflags': [ '/w' ], - # TODO(ldixon) : Remove this disable. + # TODO(ldixon) : Remove this disabling of warnings by pushing a + # fix upstream to usrsctp 'msvs_disabled_warnings': [ 4700, 4013, 4018, 4133, 4267 ], }, { # OS != "win", 'defines': [ |