summaryrefslogtreecommitdiffstats
path: root/third_party/gles2_book/Chapter_13/EnvironmentMapping
diff options
context:
space:
mode:
authoralokp@chromium.org <alokp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-09 17:06:42 +0000
committeralokp@chromium.org <alokp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-09 17:06:42 +0000
commitefb8f2987c9b500b3af21f3498df5ac4ae091551 (patch)
tree02e102d22c835937981b20e178af38d01e366eb0 /third_party/gles2_book/Chapter_13/EnvironmentMapping
parent1fe3ec310377e2549d05344583251e9e45148553 (diff)
downloadchromium_src-efb8f2987c9b500b3af21f3498df5ac4ae091551.zip
chromium_src-efb8f2987c9b500b3af21f3498df5ac4ae091551.tar.gz
chromium_src-efb8f2987c9b500b3af21f3498df5ac4ae091551.tar.bz2
Renamed gles_book_examples to gles2_book to make it shorter and more correct. I still need to rename gles_book_examples.gyp to gles2_book.gyp. I will do it in another CL as svn does not like changes in renamed directories.
TBR=apatrick Review URL: http://codereview.chromium.org/543002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35875 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party/gles2_book/Chapter_13/EnvironmentMapping')
-rw-r--r--third_party/gles2_book/Chapter_13/EnvironmentMapping/EnvironmentMapping.rfx1204
-rw-r--r--third_party/gles2_book/Chapter_13/EnvironmentMapping/Fieldstone.tgabin0 -> 786476 bytes
-rw-r--r--third_party/gles2_book/Chapter_13/EnvironmentMapping/FieldstoneBumpDOT3.tgabin0 -> 786450 bytes
-rw-r--r--third_party/gles2_book/Chapter_13/EnvironmentMapping/Snow.ddsbin0 -> 2097440 bytes
-rw-r--r--third_party/gles2_book/Chapter_13/EnvironmentMapping/Sphere.3dsbin0 -> 23649 bytes
-rw-r--r--third_party/gles2_book/Chapter_13/EnvironmentMapping/Teapot.3dsbin0 -> 1004218 bytes
6 files changed, 1204 insertions, 0 deletions
diff --git a/third_party/gles2_book/Chapter_13/EnvironmentMapping/EnvironmentMapping.rfx b/third_party/gles2_book/Chapter_13/EnvironmentMapping/EnvironmentMapping.rfx
new file mode 100644
index 0000000..8c32adb
--- /dev/null
+++ b/third_party/gles2_book/Chapter_13/EnvironmentMapping/EnvironmentMapping.rfx
@@ -0,0 +1,1204 @@
+<?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
new file mode 100644
index 0000000..8acafae
--- /dev/null
+++ b/third_party/gles2_book/Chapter_13/EnvironmentMapping/Fieldstone.tga
Binary files differ
diff --git a/third_party/gles2_book/Chapter_13/EnvironmentMapping/FieldstoneBumpDOT3.tga b/third_party/gles2_book/Chapter_13/EnvironmentMapping/FieldstoneBumpDOT3.tga
new file mode 100644
index 0000000..6290f52
--- /dev/null
+++ b/third_party/gles2_book/Chapter_13/EnvironmentMapping/FieldstoneBumpDOT3.tga
Binary files differ
diff --git a/third_party/gles2_book/Chapter_13/EnvironmentMapping/Snow.dds b/third_party/gles2_book/Chapter_13/EnvironmentMapping/Snow.dds
new file mode 100644
index 0000000..62799c2
--- /dev/null
+++ b/third_party/gles2_book/Chapter_13/EnvironmentMapping/Snow.dds
Binary files differ
diff --git a/third_party/gles2_book/Chapter_13/EnvironmentMapping/Sphere.3ds b/third_party/gles2_book/Chapter_13/EnvironmentMapping/Sphere.3ds
new file mode 100644
index 0000000..108b93d
--- /dev/null
+++ b/third_party/gles2_book/Chapter_13/EnvironmentMapping/Sphere.3ds
Binary files differ
diff --git a/third_party/gles2_book/Chapter_13/EnvironmentMapping/Teapot.3ds b/third_party/gles2_book/Chapter_13/EnvironmentMapping/Teapot.3ds
new file mode 100644
index 0000000..78be5fb
--- /dev/null
+++ b/third_party/gles2_book/Chapter_13/EnvironmentMapping/Teapot.3ds
Binary files differ