

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 6.00.0366 */
/* at Wed May 20 19:16:38 2009
 */
/* Compiler settings for ..\..\builds\Release_Win32\_View3D.idl:
    Oicf, W1, Zp8, env=Win32 (32b run)
    protocol : dce , ms_ext, c_ext, robust
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING(  )

#pragma warning( disable: 4049 )  /* more than 64k source lines */


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef ___View3D_h__
#define ___View3D_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

#ifndef __IRsD3DResource_FWD_DEFINED__
#define __IRsD3DResource_FWD_DEFINED__
typedef interface IRsD3DResource IRsD3DResource;
#endif 	/* __IRsD3DResource_FWD_DEFINED__ */


#ifndef __IRsD3DCustomMessageReceiver_FWD_DEFINED__
#define __IRsD3DCustomMessageReceiver_FWD_DEFINED__
typedef interface IRsD3DCustomMessageReceiver IRsD3DCustomMessageReceiver;
#endif 	/* __IRsD3DCustomMessageReceiver_FWD_DEFINED__ */


#ifndef __IRnD3DRendererData_FWD_DEFINED__
#define __IRnD3DRendererData_FWD_DEFINED__
typedef interface IRnD3DRendererData IRnD3DRendererData;
#endif 	/* __IRnD3DRendererData_FWD_DEFINED__ */


#ifndef __IRsD3DRendererObj_FWD_DEFINED__
#define __IRsD3DRendererObj_FWD_DEFINED__
typedef interface IRsD3DRendererObj IRsD3DRendererObj;
#endif 	/* __IRsD3DRendererObj_FWD_DEFINED__ */


#ifndef __IRdD3DEyeCameraData_FWD_DEFINED__
#define __IRdD3DEyeCameraData_FWD_DEFINED__
typedef interface IRdD3DEyeCameraData IRdD3DEyeCameraData;
#endif 	/* __IRdD3DEyeCameraData_FWD_DEFINED__ */


#ifndef __IRsViewHelper_FWD_DEFINED__
#define __IRsViewHelper_FWD_DEFINED__
typedef interface IRsViewHelper IRsViewHelper;
#endif 	/* __IRsViewHelper_FWD_DEFINED__ */


#ifndef __IRsRenderAttributesOverride_FWD_DEFINED__
#define __IRsRenderAttributesOverride_FWD_DEFINED__
typedef interface IRsRenderAttributesOverride IRsRenderAttributesOverride;
#endif 	/* __IRsRenderAttributesOverride_FWD_DEFINED__ */


#ifndef __IRpView3D_FWD_DEFINED__
#define __IRpView3D_FWD_DEFINED__
typedef interface IRpView3D IRpView3D;
#endif 	/* __IRpView3D_FWD_DEFINED__ */


#ifndef __IRdD3DCamera_FWD_DEFINED__
#define __IRdD3DCamera_FWD_DEFINED__
typedef interface IRdD3DCamera IRdD3DCamera;
#endif 	/* __IRdD3DCamera_FWD_DEFINED__ */


#ifndef __IRnD3DMeshCache_FWD_DEFINED__
#define __IRnD3DMeshCache_FWD_DEFINED__
typedef interface IRnD3DMeshCache IRnD3DMeshCache;
#endif 	/* __IRnD3DMeshCache_FWD_DEFINED__ */


#ifndef __IRnD3DCameraCache_FWD_DEFINED__
#define __IRnD3DCameraCache_FWD_DEFINED__
typedef interface IRnD3DCameraCache IRnD3DCameraCache;
#endif 	/* __IRnD3DCameraCache_FWD_DEFINED__ */


#ifndef __IRdD3DTexture2D_FWD_DEFINED__
#define __IRdD3DTexture2D_FWD_DEFINED__
typedef interface IRdD3DTexture2D IRdD3DTexture2D;
#endif 	/* __IRdD3DTexture2D_FWD_DEFINED__ */


#ifndef __IRcCreateD3DRenderer_FWD_DEFINED__
#define __IRcCreateD3DRenderer_FWD_DEFINED__
typedef interface IRcCreateD3DRenderer IRcCreateD3DRenderer;
#endif 	/* __IRcCreateD3DRenderer_FWD_DEFINED__ */


#ifndef __IRdD3DRenderTarget_FWD_DEFINED__
#define __IRdD3DRenderTarget_FWD_DEFINED__
typedef interface IRdD3DRenderTarget IRdD3DRenderTarget;
#endif 	/* __IRdD3DRenderTarget_FWD_DEFINED__ */


#ifndef __IRcD3DApplyMaterial_FWD_DEFINED__
#define __IRcD3DApplyMaterial_FWD_DEFINED__
typedef interface IRcD3DApplyMaterial IRcD3DApplyMaterial;
#endif 	/* __IRcD3DApplyMaterial_FWD_DEFINED__ */


#ifndef __IRsD3DWindowedRT_FWD_DEFINED__
#define __IRsD3DWindowedRT_FWD_DEFINED__
typedef interface IRsD3DWindowedRT IRsD3DWindowedRT;
#endif 	/* __IRsD3DWindowedRT_FWD_DEFINED__ */


#ifndef __IRdD3DPostProcessingSetup_FWD_DEFINED__
#define __IRdD3DPostProcessingSetup_FWD_DEFINED__
typedef interface IRdD3DPostProcessingSetup IRdD3DPostProcessingSetup;
#endif 	/* __IRdD3DPostProcessingSetup_FWD_DEFINED__ */


#ifndef __IRnD3DWindowedRT_FWD_DEFINED__
#define __IRnD3DWindowedRT_FWD_DEFINED__
typedef interface IRnD3DWindowedRT IRnD3DWindowedRT;
#endif 	/* __IRnD3DWindowedRT_FWD_DEFINED__ */


#ifndef __IRdMEShaderBrick_FWD_DEFINED__
#define __IRdMEShaderBrick_FWD_DEFINED__
typedef interface IRdMEShaderBrick IRdMEShaderBrick;
#endif 	/* __IRdMEShaderBrick_FWD_DEFINED__ */


#ifndef __IRdMEShader_FWD_DEFINED__
#define __IRdMEShader_FWD_DEFINED__
typedef interface IRdMEShader IRdMEShader;
#endif 	/* __IRdMEShader_FWD_DEFINED__ */


#ifndef __IRdMEMaterial_FWD_DEFINED__
#define __IRdMEMaterial_FWD_DEFINED__
typedef interface IRdMEMaterial IRdMEMaterial;
#endif 	/* __IRdMEMaterial_FWD_DEFINED__ */


#ifndef __IRdD3DMaterial_FWD_DEFINED__
#define __IRdD3DMaterial_FWD_DEFINED__
typedef interface IRdD3DMaterial IRdD3DMaterial;
#endif 	/* __IRdD3DMaterial_FWD_DEFINED__ */


#ifndef __IRcDropObject_FWD_DEFINED__
#define __IRcDropObject_FWD_DEFINED__
typedef interface IRcDropObject IRcDropObject;
#endif 	/* __IRcDropObject_FWD_DEFINED__ */


#ifndef __IRcDXConvShBrick_FWD_DEFINED__
#define __IRcDXConvShBrick_FWD_DEFINED__
typedef interface IRcDXConvShBrick IRcDXConvShBrick;
#endif 	/* __IRcDXConvShBrick_FWD_DEFINED__ */


#ifndef __IRdME2ShaderBrick_FWD_DEFINED__
#define __IRdME2ShaderBrick_FWD_DEFINED__
typedef interface IRdME2ShaderBrick IRdME2ShaderBrick;
#endif 	/* __IRdME2ShaderBrick_FWD_DEFINED__ */


#ifndef __IRdME2ShaderBrickInputFloat_FWD_DEFINED__
#define __IRdME2ShaderBrickInputFloat_FWD_DEFINED__
typedef interface IRdME2ShaderBrickInputFloat IRdME2ShaderBrickInputFloat;
#endif 	/* __IRdME2ShaderBrickInputFloat_FWD_DEFINED__ */


#ifndef __IRnME2InputFloat_FWD_DEFINED__
#define __IRnME2InputFloat_FWD_DEFINED__
typedef interface IRnME2InputFloat IRnME2InputFloat;
#endif 	/* __IRnME2InputFloat_FWD_DEFINED__ */


#ifndef __IRdME2ShaderBrickInputFloat4_FWD_DEFINED__
#define __IRdME2ShaderBrickInputFloat4_FWD_DEFINED__
typedef interface IRdME2ShaderBrickInputFloat4 IRdME2ShaderBrickInputFloat4;
#endif 	/* __IRdME2ShaderBrickInputFloat4_FWD_DEFINED__ */


#ifndef __IRnME2InputColor_FWD_DEFINED__
#define __IRnME2InputColor_FWD_DEFINED__
typedef interface IRnME2InputColor IRnME2InputColor;
#endif 	/* __IRnME2InputColor_FWD_DEFINED__ */


#ifndef __IRdME2ShaderBrickInputMatrix_FWD_DEFINED__
#define __IRdME2ShaderBrickInputMatrix_FWD_DEFINED__
typedef interface IRdME2ShaderBrickInputMatrix IRdME2ShaderBrickInputMatrix;
#endif 	/* __IRdME2ShaderBrickInputMatrix_FWD_DEFINED__ */


#ifndef __IRnME2InputMatrix_FWD_DEFINED__
#define __IRnME2InputMatrix_FWD_DEFINED__
typedef interface IRnME2InputMatrix IRnME2InputMatrix;
#endif 	/* __IRnME2InputMatrix_FWD_DEFINED__ */


#ifndef __IRnME2InputPoint_FWD_DEFINED__
#define __IRnME2InputPoint_FWD_DEFINED__
typedef interface IRnME2InputPoint IRnME2InputPoint;
#endif 	/* __IRnME2InputPoint_FWD_DEFINED__ */


#ifndef __IRdME2ShaderBrickInputBitmap_FWD_DEFINED__
#define __IRdME2ShaderBrickInputBitmap_FWD_DEFINED__
typedef interface IRdME2ShaderBrickInputBitmap IRdME2ShaderBrickInputBitmap;
#endif 	/* __IRdME2ShaderBrickInputBitmap_FWD_DEFINED__ */


#ifndef __IRdME2ShaderBrickInputBitmap1D_FWD_DEFINED__
#define __IRdME2ShaderBrickInputBitmap1D_FWD_DEFINED__
typedef interface IRdME2ShaderBrickInputBitmap1D IRdME2ShaderBrickInputBitmap1D;
#endif 	/* __IRdME2ShaderBrickInputBitmap1D_FWD_DEFINED__ */


#ifndef __IRdME2ShaderBrickInputBitmap2D_FWD_DEFINED__
#define __IRdME2ShaderBrickInputBitmap2D_FWD_DEFINED__
typedef interface IRdME2ShaderBrickInputBitmap2D IRdME2ShaderBrickInputBitmap2D;
#endif 	/* __IRdME2ShaderBrickInputBitmap2D_FWD_DEFINED__ */


#ifndef __IRnME2InputBitmap_FWD_DEFINED__
#define __IRnME2InputBitmap_FWD_DEFINED__
typedef interface IRnME2InputBitmap IRnME2InputBitmap;
#endif 	/* __IRnME2InputBitmap_FWD_DEFINED__ */


#ifndef __IRcInsertNodeAt3D_FWD_DEFINED__
#define __IRcInsertNodeAt3D_FWD_DEFINED__
typedef interface IRcInsertNodeAt3D IRcInsertNodeAt3D;
#endif 	/* __IRcInsertNodeAt3D_FWD_DEFINED__ */


#ifndef __IRcRendererUpdateFromNode_FWD_DEFINED__
#define __IRcRendererUpdateFromNode_FWD_DEFINED__
typedef interface IRcRendererUpdateFromNode IRcRendererUpdateFromNode;
#endif 	/* __IRcRendererUpdateFromNode_FWD_DEFINED__ */


#ifndef __IRcShowD3DSettings_FWD_DEFINED__
#define __IRcShowD3DSettings_FWD_DEFINED__
typedef interface IRcShowD3DSettings IRcShowD3DSettings;
#endif 	/* __IRcShowD3DSettings_FWD_DEFINED__ */


#ifndef __IRcShowObjectRenderAttribsPanel_FWD_DEFINED__
#define __IRcShowObjectRenderAttribsPanel_FWD_DEFINED__
typedef interface IRcShowObjectRenderAttribsPanel IRcShowObjectRenderAttribsPanel;
#endif 	/* __IRcShowObjectRenderAttribsPanel_FWD_DEFINED__ */


#ifndef __IRdBoundingVolume_FWD_DEFINED__
#define __IRdBoundingVolume_FWD_DEFINED__
typedef interface IRdBoundingVolume IRdBoundingVolume;
#endif 	/* __IRdBoundingVolume_FWD_DEFINED__ */


#ifndef __IRdD3DGrid_FWD_DEFINED__
#define __IRdD3DGrid_FWD_DEFINED__
typedef interface IRdD3DGrid IRdD3DGrid;
#endif 	/* __IRdD3DGrid_FWD_DEFINED__ */


#ifndef __IRdMEShaderLight_FWD_DEFINED__
#define __IRdMEShaderLight_FWD_DEFINED__
typedef interface IRdMEShaderLight IRdMEShaderLight;
#endif 	/* __IRdMEShaderLight_FWD_DEFINED__ */


#ifndef __IRdMEShaderLightVS_FWD_DEFINED__
#define __IRdMEShaderLightVS_FWD_DEFINED__
typedef interface IRdMEShaderLightVS IRdMEShaderLightVS;
#endif 	/* __IRdMEShaderLightVS_FWD_DEFINED__ */


#ifndef __IRdME2Shader_FWD_DEFINED__
#define __IRdME2Shader_FWD_DEFINED__
typedef interface IRdME2Shader IRdME2Shader;
#endif 	/* __IRdME2Shader_FWD_DEFINED__ */


#ifndef __IRdME2ShaderLight_FWD_DEFINED__
#define __IRdME2ShaderLight_FWD_DEFINED__
typedef interface IRdME2ShaderLight IRdME2ShaderLight;
#endif 	/* __IRdME2ShaderLight_FWD_DEFINED__ */


#ifndef __IRdME2ShaderLightVertex_FWD_DEFINED__
#define __IRdME2ShaderLightVertex_FWD_DEFINED__
typedef interface IRdME2ShaderLightVertex IRdME2ShaderLightVertex;
#endif 	/* __IRdME2ShaderLightVertex_FWD_DEFINED__ */


#ifndef __IRdD3DLightProperties_FWD_DEFINED__
#define __IRdD3DLightProperties_FWD_DEFINED__
typedef interface IRdD3DLightProperties IRdD3DLightProperties;
#endif 	/* __IRdD3DLightProperties_FWD_DEFINED__ */


#ifndef __IRdD3DTexture3D_FWD_DEFINED__
#define __IRdD3DTexture3D_FWD_DEFINED__
typedef interface IRdD3DTexture3D IRdD3DTexture3D;
#endif 	/* __IRdD3DTexture3D_FWD_DEFINED__ */


#ifndef __IRdD3DTextureCUBE_FWD_DEFINED__
#define __IRdD3DTextureCUBE_FWD_DEFINED__
typedef interface IRdD3DTextureCUBE IRdD3DTextureCUBE;
#endif 	/* __IRdD3DTextureCUBE_FWD_DEFINED__ */


#ifndef __IRdTSCompatibleLight_FWD_DEFINED__
#define __IRdTSCompatibleLight_FWD_DEFINED__
typedef interface IRdTSCompatibleLight IRdTSCompatibleLight;
#endif 	/* __IRdTSCompatibleLight_FWD_DEFINED__ */


#ifndef __IRdViewProjMatrixSet_FWD_DEFINED__
#define __IRdViewProjMatrixSet_FWD_DEFINED__
typedef interface IRdViewProjMatrixSet IRdViewProjMatrixSet;
#endif 	/* __IRdViewProjMatrixSet_FWD_DEFINED__ */


#ifndef __IRnD3DBitmapToTex_FWD_DEFINED__
#define __IRnD3DBitmapToTex_FWD_DEFINED__
typedef interface IRnD3DBitmapToTex IRnD3DBitmapToTex;
#endif 	/* __IRnD3DBitmapToTex_FWD_DEFINED__ */


#ifndef __IRnD3DCamera_FWD_DEFINED__
#define __IRnD3DCamera_FWD_DEFINED__
typedef interface IRnD3DCamera IRnD3DCamera;
#endif 	/* __IRnD3DCamera_FWD_DEFINED__ */


#ifndef __IRdME2Material_FWD_DEFINED__
#define __IRdME2Material_FWD_DEFINED__
typedef interface IRdME2Material IRdME2Material;
#endif 	/* __IRdME2Material_FWD_DEFINED__ */


#ifndef __IRnD3DGrid_FWD_DEFINED__
#define __IRnD3DGrid_FWD_DEFINED__
typedef interface IRnD3DGrid IRnD3DGrid;
#endif 	/* __IRnD3DGrid_FWD_DEFINED__ */


#ifndef __IRnD3DLightProperties_FWD_DEFINED__
#define __IRnD3DLightProperties_FWD_DEFINED__
typedef interface IRnD3DLightProperties IRnD3DLightProperties;
#endif 	/* __IRnD3DLightProperties_FWD_DEFINED__ */


#ifndef __IRnD3DObjectPreview_FWD_DEFINED__
#define __IRnD3DObjectPreview_FWD_DEFINED__
typedef interface IRnD3DObjectPreview IRnD3DObjectPreview;
#endif 	/* __IRnD3DObjectPreview_FWD_DEFINED__ */


#ifndef __IRnD3DTexToBitmap_FWD_DEFINED__
#define __IRnD3DTexToBitmap_FWD_DEFINED__
typedef interface IRnD3DTexToBitmap IRnD3DTexToBitmap;
#endif 	/* __IRnD3DTexToBitmap_FWD_DEFINED__ */


#ifndef __IRnD3DTexture_FWD_DEFINED__
#define __IRnD3DTexture_FWD_DEFINED__
typedef interface IRnD3DTexture IRnD3DTexture;
#endif 	/* __IRnD3DTexture_FWD_DEFINED__ */


#ifndef __IRnD3DTextureRT_FWD_DEFINED__
#define __IRnD3DTextureRT_FWD_DEFINED__
typedef interface IRnD3DTextureRT IRnD3DTextureRT;
#endif 	/* __IRnD3DTextureRT_FWD_DEFINED__ */


#ifndef __IRdD3DLayer_FWD_DEFINED__
#define __IRdD3DLayer_FWD_DEFINED__
typedef interface IRdD3DLayer IRdD3DLayer;
#endif 	/* __IRdD3DLayer_FWD_DEFINED__ */


#ifndef __IRnD3DTextureRT2_FWD_DEFINED__
#define __IRnD3DTextureRT2_FWD_DEFINED__
typedef interface IRnD3DTextureRT2 IRnD3DTextureRT2;
#endif 	/* __IRnD3DTextureRT2_FWD_DEFINED__ */


#ifndef __IRnFrustumBoundingVolume_FWD_DEFINED__
#define __IRnFrustumBoundingVolume_FWD_DEFINED__
typedef interface IRnFrustumBoundingVolume IRnFrustumBoundingVolume;
#endif 	/* __IRnFrustumBoundingVolume_FWD_DEFINED__ */


#ifndef __IRnFullAttenuationDistance_FWD_DEFINED__
#define __IRnFullAttenuationDistance_FWD_DEFINED__
typedef interface IRnFullAttenuationDistance IRnFullAttenuationDistance;
#endif 	/* __IRnFullAttenuationDistance_FWD_DEFINED__ */


#ifndef __IRnHDRColor_FWD_DEFINED__
#define __IRnHDRColor_FWD_DEFINED__
typedef interface IRnHDRColor IRnHDRColor;
#endif 	/* __IRnHDRColor_FWD_DEFINED__ */


#ifndef __IRnMEDirectionalLightMatrix_FWD_DEFINED__
#define __IRnMEDirectionalLightMatrix_FWD_DEFINED__
typedef interface IRnMEDirectionalLightMatrix IRnMEDirectionalLightMatrix;
#endif 	/* __IRnMEDirectionalLightMatrix_FWD_DEFINED__ */


#ifndef __IRnMESpotlightMatrix_FWD_DEFINED__
#define __IRnMESpotlightMatrix_FWD_DEFINED__
typedef interface IRnMESpotlightMatrix IRnMESpotlightMatrix;
#endif 	/* __IRnMESpotlightMatrix_FWD_DEFINED__ */


#ifndef __IRnSphericalBoundingVolume_FWD_DEFINED__
#define __IRnSphericalBoundingVolume_FWD_DEFINED__
typedef interface IRnSphericalBoundingVolume IRnSphericalBoundingVolume;
#endif 	/* __IRnSphericalBoundingVolume_FWD_DEFINED__ */


#ifndef __IRnTSCompatibleLight_FWD_DEFINED__
#define __IRnTSCompatibleLight_FWD_DEFINED__
typedef interface IRnTSCompatibleLight IRnTSCompatibleLight;
#endif 	/* __IRnTSCompatibleLight_FWD_DEFINED__ */


#ifndef __IRcRescan_FWD_DEFINED__
#define __IRcRescan_FWD_DEFINED__
typedef interface IRcRescan IRcRescan;
#endif 	/* __IRcRescan_FWD_DEFINED__ */


#ifndef __IRcRefresh_FWD_DEFINED__
#define __IRcRefresh_FWD_DEFINED__
typedef interface IRcRefresh IRcRefresh;
#endif 	/* __IRcRefresh_FWD_DEFINED__ */


#ifndef __IRdMEShaderBrickStatic_FWD_DEFINED__
#define __IRdMEShaderBrickStatic_FWD_DEFINED__
typedef interface IRdMEShaderBrickStatic IRdMEShaderBrickStatic;
#endif 	/* __IRdMEShaderBrickStatic_FWD_DEFINED__ */


#ifndef __IRnMELightShader_FWD_DEFINED__
#define __IRnMELightShader_FWD_DEFINED__
typedef interface IRnMELightShader IRnMELightShader;
#endif 	/* __IRnMELightShader_FWD_DEFINED__ */


#ifndef __IRsView3DObjectPreview_FWD_DEFINED__
#define __IRsView3DObjectPreview_FWD_DEFINED__
typedef interface IRsView3DObjectPreview IRsView3DObjectPreview;
#endif 	/* __IRsView3DObjectPreview_FWD_DEFINED__ */


#ifndef __IRdME2ShaderColor_FWD_DEFINED__
#define __IRdME2ShaderColor_FWD_DEFINED__
typedef interface IRdME2ShaderColor IRdME2ShaderColor;
#endif 	/* __IRdME2ShaderColor_FWD_DEFINED__ */


#ifndef __IRdMEShaderBrickMethodDef_FWD_DEFINED__
#define __IRdMEShaderBrickMethodDef_FWD_DEFINED__
typedef interface IRdMEShaderBrickMethodDef IRdMEShaderBrickMethodDef;
#endif 	/* __IRdMEShaderBrickMethodDef_FWD_DEFINED__ */


#ifndef __IRnMEFunctionBrick_FWD_DEFINED__
#define __IRnMEFunctionBrick_FWD_DEFINED__
typedef interface IRnMEFunctionBrick IRnMEFunctionBrick;
#endif 	/* __IRnMEFunctionBrick_FWD_DEFINED__ */


#ifndef __IRcMEImportBrick_FWD_DEFINED__
#define __IRcMEImportBrick_FWD_DEFINED__
typedef interface IRcMEImportBrick IRcMEImportBrick;
#endif 	/* __IRcMEImportBrick_FWD_DEFINED__ */


#ifndef __IRcMETBBricks_FWD_DEFINED__
#define __IRcMETBBricks_FWD_DEFINED__
typedef interface IRcMETBBricks IRcMETBBricks;
#endif 	/* __IRcMETBBricks_FWD_DEFINED__ */


#ifndef __IRnMECustomBrick_FWD_DEFINED__
#define __IRnMECustomBrick_FWD_DEFINED__
typedef interface IRnMECustomBrick IRnMECustomBrick;
#endif 	/* __IRnMECustomBrick_FWD_DEFINED__ */


#ifndef __IRnMEAlphaShader_FWD_DEFINED__
#define __IRnMEAlphaShader_FWD_DEFINED__
typedef interface IRnMEAlphaShader IRnMEAlphaShader;
#endif 	/* __IRnMEAlphaShader_FWD_DEFINED__ */


#ifndef __IRnMEColorShader_FWD_DEFINED__
#define __IRnMEColorShader_FWD_DEFINED__
typedef interface IRnMEColorShader IRnMEColorShader;
#endif 	/* __IRnMEColorShader_FWD_DEFINED__ */


#ifndef __IRnMETexCoordShader_FWD_DEFINED__
#define __IRnMETexCoordShader_FWD_DEFINED__
typedef interface IRnMETexCoordShader IRnMETexCoordShader;
#endif 	/* __IRnMETexCoordShader_FWD_DEFINED__ */


#ifndef __IRnMENormalShader_FWD_DEFINED__
#define __IRnMENormalShader_FWD_DEFINED__
typedef interface IRnMENormalShader IRnMENormalShader;
#endif 	/* __IRnMENormalShader_FWD_DEFINED__ */


#ifndef __IRnMEModelShader_FWD_DEFINED__
#define __IRnMEModelShader_FWD_DEFINED__
typedef interface IRnMEModelShader IRnMEModelShader;
#endif 	/* __IRnMEModelShader_FWD_DEFINED__ */


#ifndef __IRnMEVertexLightShader_FWD_DEFINED__
#define __IRnMEVertexLightShader_FWD_DEFINED__
typedef interface IRnMEVertexLightShader IRnMEVertexLightShader;
#endif 	/* __IRnMEVertexLightShader_FWD_DEFINED__ */


#ifndef __IRnMEMaterial_FWD_DEFINED__
#define __IRnMEMaterial_FWD_DEFINED__
typedef interface IRnMEMaterial IRnMEMaterial;
#endif 	/* __IRnMEMaterial_FWD_DEFINED__ */


#ifndef __IRnD3DMaterialFromME_FWD_DEFINED__
#define __IRnD3DMaterialFromME_FWD_DEFINED__
typedef interface IRnD3DMaterialFromME IRnD3DMaterialFromME;
#endif 	/* __IRnD3DMaterialFromME_FWD_DEFINED__ */


#ifndef __IRnMEFShaderInput_FWD_DEFINED__
#define __IRnMEFShaderInput_FWD_DEFINED__
typedef interface IRnMEFShaderInput IRnMEFShaderInput;
#endif 	/* __IRnMEFShaderInput_FWD_DEFINED__ */


#ifndef __IRnMEInputBitmap_FWD_DEFINED__
#define __IRnMEInputBitmap_FWD_DEFINED__
typedef interface IRnMEInputBitmap IRnMEInputBitmap;
#endif 	/* __IRnMEInputBitmap_FWD_DEFINED__ */


#ifndef __IRnMEInputBitmap1D_FWD_DEFINED__
#define __IRnMEInputBitmap1D_FWD_DEFINED__
typedef interface IRnMEInputBitmap1D IRnMEInputBitmap1D;
#endif 	/* __IRnMEInputBitmap1D_FWD_DEFINED__ */


#ifndef __IRnMEInputColor_FWD_DEFINED__
#define __IRnMEInputColor_FWD_DEFINED__
typedef interface IRnMEInputColor IRnMEInputColor;
#endif 	/* __IRnMEInputColor_FWD_DEFINED__ */


#ifndef __IRnMEInputFloat_FWD_DEFINED__
#define __IRnMEInputFloat_FWD_DEFINED__
typedef interface IRnMEInputFloat IRnMEInputFloat;
#endif 	/* __IRnMEInputFloat_FWD_DEFINED__ */


#ifndef __IRnMEInputMatrix_FWD_DEFINED__
#define __IRnMEInputMatrix_FWD_DEFINED__
typedef interface IRnMEInputMatrix IRnMEInputMatrix;
#endif 	/* __IRnMEInputMatrix_FWD_DEFINED__ */


#ifndef __IRnMEInputPoint_FWD_DEFINED__
#define __IRnMEInputPoint_FWD_DEFINED__
typedef interface IRnMEInputPoint IRnMEInputPoint;
#endif 	/* __IRnMEInputPoint_FWD_DEFINED__ */


#ifndef __IRnMEShadowMap_FWD_DEFINED__
#define __IRnMEShadowMap_FWD_DEFINED__
typedef interface IRnMEShadowMap IRnMEShadowMap;
#endif 	/* __IRnMEShadowMap_FWD_DEFINED__ */


#ifndef __IRdMEShaderAlpha_FWD_DEFINED__
#define __IRdMEShaderAlpha_FWD_DEFINED__
typedef interface IRdMEShaderAlpha IRdMEShaderAlpha;
#endif 	/* __IRdMEShaderAlpha_FWD_DEFINED__ */


#ifndef __IRdMEShaderBrickStaticInput_FWD_DEFINED__
#define __IRdMEShaderBrickStaticInput_FWD_DEFINED__
typedef interface IRdMEShaderBrickStaticInput IRdMEShaderBrickStaticInput;
#endif 	/* __IRdMEShaderBrickStaticInput_FWD_DEFINED__ */


#ifndef __IRdMEShaderBrickStaticSampler1D_FWD_DEFINED__
#define __IRdMEShaderBrickStaticSampler1D_FWD_DEFINED__
typedef interface IRdMEShaderBrickStaticSampler1D IRdMEShaderBrickStaticSampler1D;
#endif 	/* __IRdMEShaderBrickStaticSampler1D_FWD_DEFINED__ */


#ifndef __IRdMEShaderBrickStaticSampler2D_FWD_DEFINED__
#define __IRdMEShaderBrickStaticSampler2D_FWD_DEFINED__
typedef interface IRdMEShaderBrickStaticSampler2D IRdMEShaderBrickStaticSampler2D;
#endif 	/* __IRdMEShaderBrickStaticSampler2D_FWD_DEFINED__ */


#ifndef __IRdMEShaderColor_FWD_DEFINED__
#define __IRdMEShaderColor_FWD_DEFINED__
typedef interface IRdMEShaderColor IRdMEShaderColor;
#endif 	/* __IRdMEShaderColor_FWD_DEFINED__ */


#ifndef __IRdMEShaderModel_FWD_DEFINED__
#define __IRdMEShaderModel_FWD_DEFINED__
typedef interface IRdMEShaderModel IRdMEShaderModel;
#endif 	/* __IRdMEShaderModel_FWD_DEFINED__ */


#ifndef __IRdMEShaderNormal_FWD_DEFINED__
#define __IRdMEShaderNormal_FWD_DEFINED__
typedef interface IRdMEShaderNormal IRdMEShaderNormal;
#endif 	/* __IRdMEShaderNormal_FWD_DEFINED__ */


#ifndef __IRdMEShaderTexCoord_FWD_DEFINED__
#define __IRdMEShaderTexCoord_FWD_DEFINED__
typedef interface IRdMEShaderTexCoord IRdMEShaderTexCoord;
#endif 	/* __IRdMEShaderTexCoord_FWD_DEFINED__ */


#ifndef __IRcME2MaterialPickTool_FWD_DEFINED__
#define __IRcME2MaterialPickTool_FWD_DEFINED__
typedef interface IRcME2MaterialPickTool IRcME2MaterialPickTool;
#endif 	/* __IRcME2MaterialPickTool_FWD_DEFINED__ */


#ifndef __IRnME2MaterialPickToolData_FWD_DEFINED__
#define __IRnME2MaterialPickToolData_FWD_DEFINED__
typedef interface IRnME2MaterialPickToolData IRnME2MaterialPickToolData;
#endif 	/* __IRnME2MaterialPickToolData_FWD_DEFINED__ */


#ifndef __IRcME2MaterialPickToolOpenEdit_FWD_DEFINED__
#define __IRcME2MaterialPickToolOpenEdit_FWD_DEFINED__
typedef interface IRcME2MaterialPickToolOpenEdit IRcME2MaterialPickToolOpenEdit;
#endif 	/* __IRcME2MaterialPickToolOpenEdit_FWD_DEFINED__ */


#ifndef __IRsME2MaterialPickToolState_FWD_DEFINED__
#define __IRsME2MaterialPickToolState_FWD_DEFINED__
typedef interface IRsME2MaterialPickToolState IRsME2MaterialPickToolState;
#endif 	/* __IRsME2MaterialPickToolState_FWD_DEFINED__ */


#ifndef __IRcME2MaterialPickToolToggle_FWD_DEFINED__
#define __IRcME2MaterialPickToolToggle_FWD_DEFINED__
typedef interface IRcME2MaterialPickToolToggle IRcME2MaterialPickToolToggle;
#endif 	/* __IRcME2MaterialPickToolToggle_FWD_DEFINED__ */


#ifndef __IRcLowFrequencyTask_FWD_DEFINED__
#define __IRcLowFrequencyTask_FWD_DEFINED__
typedef interface IRcLowFrequencyTask IRcLowFrequencyTask;
#endif 	/* __IRcLowFrequencyTask_FWD_DEFINED__ */


#ifndef __IRnD3DLightCache2_FWD_DEFINED__
#define __IRnD3DLightCache2_FWD_DEFINED__
typedef interface IRnD3DLightCache2 IRnD3DLightCache2;
#endif 	/* __IRnD3DLightCache2_FWD_DEFINED__ */


#ifndef __IRnD3DWidgetCache_FWD_DEFINED__
#define __IRnD3DWidgetCache_FWD_DEFINED__
typedef interface IRnD3DWidgetCache IRnD3DWidgetCache;
#endif 	/* __IRnD3DWidgetCache_FWD_DEFINED__ */


#ifndef __IRnME2LightProperties_FWD_DEFINED__
#define __IRnME2LightProperties_FWD_DEFINED__
typedef interface IRnME2LightProperties IRnME2LightProperties;
#endif 	/* __IRnME2LightProperties_FWD_DEFINED__ */


#ifndef __IRcCreateView3DNavigationToolbar_FWD_DEFINED__
#define __IRcCreateView3DNavigationToolbar_FWD_DEFINED__
typedef interface IRcCreateView3DNavigationToolbar IRcCreateView3DNavigationToolbar;
#endif 	/* __IRcCreateView3DNavigationToolbar_FWD_DEFINED__ */


#ifndef __IRsME2MaterialsState_FWD_DEFINED__
#define __IRsME2MaterialsState_FWD_DEFINED__
typedef interface IRsME2MaterialsState IRsME2MaterialsState;
#endif 	/* __IRsME2MaterialsState_FWD_DEFINED__ */


#ifndef __IRcHideNAVToolbar_FWD_DEFINED__
#define __IRcHideNAVToolbar_FWD_DEFINED__
typedef interface IRcHideNAVToolbar IRcHideNAVToolbar;
#endif 	/* __IRcHideNAVToolbar_FWD_DEFINED__ */


#ifndef __IRcLoadRAPreset_FWD_DEFINED__
#define __IRcLoadRAPreset_FWD_DEFINED__
typedef interface IRcLoadRAPreset IRcLoadRAPreset;
#endif 	/* __IRcLoadRAPreset_FWD_DEFINED__ */


#ifndef __IRnD3DSceneLayer_FWD_DEFINED__
#define __IRnD3DSceneLayer_FWD_DEFINED__
typedef interface IRnD3DSceneLayer IRnD3DSceneLayer;
#endif 	/* __IRnD3DSceneLayer_FWD_DEFINED__ */


#ifndef __IRcSaveScreenShot_FWD_DEFINED__
#define __IRcSaveScreenShot_FWD_DEFINED__
typedef interface IRcSaveScreenShot IRcSaveScreenShot;
#endif 	/* __IRcSaveScreenShot_FWD_DEFINED__ */


#ifndef __IRcSendCustomMessage_FWD_DEFINED__
#define __IRcSendCustomMessage_FWD_DEFINED__
typedef interface IRcSendCustomMessage IRcSendCustomMessage;
#endif 	/* __IRcSendCustomMessage_FWD_DEFINED__ */


#ifndef __IRcShowLayerRenderAttribsPanel_FWD_DEFINED__
#define __IRcShowLayerRenderAttribsPanel_FWD_DEFINED__
typedef interface IRcShowLayerRenderAttribsPanel IRcShowLayerRenderAttribsPanel;
#endif 	/* __IRcShowLayerRenderAttribsPanel_FWD_DEFINED__ */


#ifndef __IRcShowPostProcess_FWD_DEFINED__
#define __IRcShowPostProcess_FWD_DEFINED__
typedef interface IRcShowPostProcess IRcShowPostProcess;
#endif 	/* __IRcShowPostProcess_FWD_DEFINED__ */


#ifndef __IRnD3DViewPostProcessingSetup_FWD_DEFINED__
#define __IRnD3DViewPostProcessingSetup_FWD_DEFINED__
typedef interface IRnD3DViewPostProcessingSetup IRnD3DViewPostProcessingSetup;
#endif 	/* __IRnD3DViewPostProcessingSetup_FWD_DEFINED__ */


#ifndef __IRsShowGridPanel_FWD_DEFINED__
#define __IRsShowGridPanel_FWD_DEFINED__
typedef interface IRsShowGridPanel IRsShowGridPanel;
#endif 	/* __IRsShowGridPanel_FWD_DEFINED__ */


#ifndef __IRcSetActiveCamera_FWD_DEFINED__
#define __IRcSetActiveCamera_FWD_DEFINED__
typedef interface IRcSetActiveCamera IRcSetActiveCamera;
#endif 	/* __IRcSetActiveCamera_FWD_DEFINED__ */


#ifndef __IRcSwitchEyeCamera_FWD_DEFINED__
#define __IRcSwitchEyeCamera_FWD_DEFINED__
typedef interface IRcSwitchEyeCamera IRcSwitchEyeCamera;
#endif 	/* __IRcSwitchEyeCamera_FWD_DEFINED__ */


#ifndef __IRfD3DSerialization_FWD_DEFINED__
#define __IRfD3DSerialization_FWD_DEFINED__
typedef interface IRfD3DSerialization IRfD3DSerialization;
#endif 	/* __IRfD3DSerialization_FWD_DEFINED__ */


#ifndef __IRcLoadSceneLights_FWD_DEFINED__
#define __IRcLoadSceneLights_FWD_DEFINED__
typedef interface IRcLoadSceneLights IRcLoadSceneLights;
#endif 	/* __IRcLoadSceneLights_FWD_DEFINED__ */


#ifndef __IRiView3D_FWD_DEFINED__
#define __IRiView3D_FWD_DEFINED__
typedef interface IRiView3D IRiView3D;
#endif 	/* __IRiView3D_FWD_DEFINED__ */


#ifndef __IRcME2TBBricks_FWD_DEFINED__
#define __IRcME2TBBricks_FWD_DEFINED__
typedef interface IRcME2TBBricks IRcME2TBBricks;
#endif 	/* __IRcME2TBBricks_FWD_DEFINED__ */


#ifndef __IRcME2OpenMaterials_FWD_DEFINED__
#define __IRcME2OpenMaterials_FWD_DEFINED__
typedef interface IRcME2OpenMaterials IRcME2OpenMaterials;
#endif 	/* __IRcME2OpenMaterials_FWD_DEFINED__ */


#ifndef __IRlHLSL_FWD_DEFINED__
#define __IRlHLSL_FWD_DEFINED__
typedef interface IRlHLSL IRlHLSL;
#endif 	/* __IRlHLSL_FWD_DEFINED__ */


#ifndef __IRsV3DNodeFactory_FWD_DEFINED__
#define __IRsV3DNodeFactory_FWD_DEFINED__
typedef interface IRsV3DNodeFactory IRsV3DNodeFactory;
#endif 	/* __IRsV3DNodeFactory_FWD_DEFINED__ */


#ifndef __IRsV3DCmdFactory_FWD_DEFINED__
#define __IRsV3DCmdFactory_FWD_DEFINED__
typedef interface IRsV3DCmdFactory IRsV3DCmdFactory;
#endif 	/* __IRsV3DCmdFactory_FWD_DEFINED__ */


#ifndef __IRsV3DDataObjFactory_FWD_DEFINED__
#define __IRsV3DDataObjFactory_FWD_DEFINED__
typedef interface IRsV3DDataObjFactory IRsV3DDataObjFactory;
#endif 	/* __IRsV3DDataObjFactory_FWD_DEFINED__ */


#ifndef __IRsV3DLangObjFactory_FWD_DEFINED__
#define __IRsV3DLangObjFactory_FWD_DEFINED__
typedef interface IRsV3DLangObjFactory IRsV3DLangObjFactory;
#endif 	/* __IRsV3DLangObjFactory_FWD_DEFINED__ */


#ifndef __IRsD3DUIControlFactory_FWD_DEFINED__
#define __IRsD3DUIControlFactory_FWD_DEFINED__
typedef interface IRsD3DUIControlFactory IRsD3DUIControlFactory;
#endif 	/* __IRsD3DUIControlFactory_FWD_DEFINED__ */


#ifndef __IRsD3DFileTypeMaterial_FWD_DEFINED__
#define __IRsD3DFileTypeMaterial_FWD_DEFINED__
typedef interface IRsD3DFileTypeMaterial IRsD3DFileTypeMaterial;
#endif 	/* __IRsD3DFileTypeMaterial_FWD_DEFINED__ */


#ifndef __IRsFileTypeScnD3DLights_FWD_DEFINED__
#define __IRsFileTypeScnD3DLights_FWD_DEFINED__
typedef interface IRsFileTypeScnD3DLights IRsFileTypeScnD3DLights;
#endif 	/* __IRsFileTypeScnD3DLights_FWD_DEFINED__ */


#ifndef __IRsME2UIMaterialCtrl_FWD_DEFINED__
#define __IRsME2UIMaterialCtrl_FWD_DEFINED__
typedef interface IRsME2UIMaterialCtrl IRsME2UIMaterialCtrl;
#endif 	/* __IRsME2UIMaterialCtrl_FWD_DEFINED__ */


#ifndef __IRiD3dMaterialEditor_FWD_DEFINED__
#define __IRiD3dMaterialEditor_FWD_DEFINED__
typedef interface IRiD3dMaterialEditor IRiD3dMaterialEditor;
#endif 	/* __IRiD3dMaterialEditor_FWD_DEFINED__ */


#ifndef __IRdME2ShaderBrickInputFloat3_FWD_DEFINED__
#define __IRdME2ShaderBrickInputFloat3_FWD_DEFINED__
typedef interface IRdME2ShaderBrickInputFloat3 IRdME2ShaderBrickInputFloat3;
#endif 	/* __IRdME2ShaderBrickInputFloat3_FWD_DEFINED__ */


#ifndef __IRdME2ShaderBrickFShaderInput_FWD_DEFINED__
#define __IRdME2ShaderBrickFShaderInput_FWD_DEFINED__
typedef interface IRdME2ShaderBrickFShaderInput IRdME2ShaderBrickFShaderInput;
#endif 	/* __IRdME2ShaderBrickFShaderInput_FWD_DEFINED__ */


#ifndef __IRdME2ShaderBrickMethodDef_FWD_DEFINED__
#define __IRdME2ShaderBrickMethodDef_FWD_DEFINED__
typedef interface IRdME2ShaderBrickMethodDef IRdME2ShaderBrickMethodDef;
#endif 	/* __IRdME2ShaderBrickMethodDef_FWD_DEFINED__ */


#ifndef __IRdME2ShaderBrickFunction_FWD_DEFINED__
#define __IRdME2ShaderBrickFunction_FWD_DEFINED__
typedef interface IRdME2ShaderBrickFunction IRdME2ShaderBrickFunction;
#endif 	/* __IRdME2ShaderBrickFunction_FWD_DEFINED__ */


#ifndef __IRdME2ShaderAlpha_FWD_DEFINED__
#define __IRdME2ShaderAlpha_FWD_DEFINED__
typedef interface IRdME2ShaderAlpha IRdME2ShaderAlpha;
#endif 	/* __IRdME2ShaderAlpha_FWD_DEFINED__ */


#ifndef __IRdME2ShaderConstant_FWD_DEFINED__
#define __IRdME2ShaderConstant_FWD_DEFINED__
typedef interface IRdME2ShaderConstant IRdME2ShaderConstant;
#endif 	/* __IRdME2ShaderConstant_FWD_DEFINED__ */


#ifndef __IRdME2ShaderModel_FWD_DEFINED__
#define __IRdME2ShaderModel_FWD_DEFINED__
typedef interface IRdME2ShaderModel IRdME2ShaderModel;
#endif 	/* __IRdME2ShaderModel_FWD_DEFINED__ */


#ifndef __IRdME2ShaderNormal_FWD_DEFINED__
#define __IRdME2ShaderNormal_FWD_DEFINED__
typedef interface IRdME2ShaderNormal IRdME2ShaderNormal;
#endif 	/* __IRdME2ShaderNormal_FWD_DEFINED__ */


#ifndef __IRdME2ShaderTexcoord_FWD_DEFINED__
#define __IRdME2ShaderTexcoord_FWD_DEFINED__
typedef interface IRdME2ShaderTexcoord IRdME2ShaderTexcoord;
#endif 	/* __IRdME2ShaderTexcoord_FWD_DEFINED__ */


#ifndef __IRdME2ShaderVertex_FWD_DEFINED__
#define __IRdME2ShaderVertex_FWD_DEFINED__
typedef interface IRdME2ShaderVertex IRdME2ShaderVertex;
#endif 	/* __IRdME2ShaderVertex_FWD_DEFINED__ */


#ifndef __IRdME2MaterialExplicit_FWD_DEFINED__
#define __IRdME2MaterialExplicit_FWD_DEFINED__
typedef interface IRdME2MaterialExplicit IRdME2MaterialExplicit;
#endif 	/* __IRdME2MaterialExplicit_FWD_DEFINED__ */


#ifndef __IRdME2MixedBrick_FWD_DEFINED__
#define __IRdME2MixedBrick_FWD_DEFINED__
typedef interface IRdME2MixedBrick IRdME2MixedBrick;
#endif 	/* __IRdME2MixedBrick_FWD_DEFINED__ */


#ifndef __IRnD3DMaterialSimple_FWD_DEFINED__
#define __IRnD3DMaterialSimple_FWD_DEFINED__
typedef interface IRnD3DMaterialSimple IRnD3DMaterialSimple;
#endif 	/* __IRnD3DMaterialSimple_FWD_DEFINED__ */


#ifndef __IRnME2InputBitmap1D_FWD_DEFINED__
#define __IRnME2InputBitmap1D_FWD_DEFINED__
typedef interface IRnME2InputBitmap1D IRnME2InputBitmap1D;
#endif 	/* __IRnME2InputBitmap1D_FWD_DEFINED__ */


#ifndef __IRnME2FShaderInput_FWD_DEFINED__
#define __IRnME2FShaderInput_FWD_DEFINED__
typedef interface IRnME2FShaderInput IRnME2FShaderInput;
#endif 	/* __IRnME2FShaderInput_FWD_DEFINED__ */


#ifndef __IRnME2FunctionBrick_FWD_DEFINED__
#define __IRnME2FunctionBrick_FWD_DEFINED__
typedef interface IRnME2FunctionBrick IRnME2FunctionBrick;
#endif 	/* __IRnME2FunctionBrick_FWD_DEFINED__ */


#ifndef __IRnME2CustomBrick_FWD_DEFINED__
#define __IRnME2CustomBrick_FWD_DEFINED__
typedef interface IRnME2CustomBrick IRnME2CustomBrick;
#endif 	/* __IRnME2CustomBrick_FWD_DEFINED__ */


#ifndef __IRnME2ShaderAlpha_FWD_DEFINED__
#define __IRnME2ShaderAlpha_FWD_DEFINED__
typedef interface IRnME2ShaderAlpha IRnME2ShaderAlpha;
#endif 	/* __IRnME2ShaderAlpha_FWD_DEFINED__ */


#ifndef __IRnME2ShaderColor_FWD_DEFINED__
#define __IRnME2ShaderColor_FWD_DEFINED__
typedef interface IRnME2ShaderColor IRnME2ShaderColor;
#endif 	/* __IRnME2ShaderColor_FWD_DEFINED__ */


#ifndef __IRnME2ShaderConstant_FWD_DEFINED__
#define __IRnME2ShaderConstant_FWD_DEFINED__
typedef interface IRnME2ShaderConstant IRnME2ShaderConstant;
#endif 	/* __IRnME2ShaderConstant_FWD_DEFINED__ */


#ifndef __IRnME2ShaderNormal_FWD_DEFINED__
#define __IRnME2ShaderNormal_FWD_DEFINED__
typedef interface IRnME2ShaderNormal IRnME2ShaderNormal;
#endif 	/* __IRnME2ShaderNormal_FWD_DEFINED__ */


#ifndef __IRnME2ShaderTexcoord_FWD_DEFINED__
#define __IRnME2ShaderTexcoord_FWD_DEFINED__
typedef interface IRnME2ShaderTexcoord IRnME2ShaderTexcoord;
#endif 	/* __IRnME2ShaderTexcoord_FWD_DEFINED__ */


#ifndef __IRnME2ShaderModel_FWD_DEFINED__
#define __IRnME2ShaderModel_FWD_DEFINED__
typedef interface IRnME2ShaderModel IRnME2ShaderModel;
#endif 	/* __IRnME2ShaderModel_FWD_DEFINED__ */


#ifndef __IRnME2ShaderLight_FWD_DEFINED__
#define __IRnME2ShaderLight_FWD_DEFINED__
typedef interface IRnME2ShaderLight IRnME2ShaderLight;
#endif 	/* __IRnME2ShaderLight_FWD_DEFINED__ */


#ifndef __IRnME2ShaderLightVertex_FWD_DEFINED__
#define __IRnME2ShaderLightVertex_FWD_DEFINED__
typedef interface IRnME2ShaderLightVertex IRnME2ShaderLightVertex;
#endif 	/* __IRnME2ShaderLightVertex_FWD_DEFINED__ */


#ifndef __IRnME2ShaderVertex_FWD_DEFINED__
#define __IRnME2ShaderVertex_FWD_DEFINED__
typedef interface IRnME2ShaderVertex IRnME2ShaderVertex;
#endif 	/* __IRnME2ShaderVertex_FWD_DEFINED__ */


#ifndef __IRnME2Material_FWD_DEFINED__
#define __IRnME2Material_FWD_DEFINED__
typedef interface IRnME2Material IRnME2Material;
#endif 	/* __IRnME2Material_FWD_DEFINED__ */


#ifndef __IRnME2ShadowMap_FWD_DEFINED__
#define __IRnME2ShadowMap_FWD_DEFINED__
typedef interface IRnME2ShadowMap IRnME2ShadowMap;
#endif 	/* __IRnME2ShadowMap_FWD_DEFINED__ */


#ifndef __IRnME2Material_TS_SPOS_FWD_DEFINED__
#define __IRnME2Material_TS_SPOS_FWD_DEFINED__
typedef interface IRnME2Material_TS_SPOS IRnME2Material_TS_SPOS;
#endif 	/* __IRnME2Material_TS_SPOS_FWD_DEFINED__ */


#ifndef __IRnME2Material_TS_SPTS_FWD_DEFINED__
#define __IRnME2Material_TS_SPTS_FWD_DEFINED__
typedef interface IRnME2Material_TS_SPTS IRnME2Material_TS_SPTS;
#endif 	/* __IRnME2Material_TS_SPTS_FWD_DEFINED__ */


#ifndef __IRnME2Material_TS_TNAS_FWD_DEFINED__
#define __IRnME2Material_TS_TNAS_FWD_DEFINED__
typedef interface IRnME2Material_TS_TNAS IRnME2Material_TS_TNAS;
#endif 	/* __IRnME2Material_TS_TNAS_FWD_DEFINED__ */


#ifndef __IRnME2Material_TS_TNOS_FWD_DEFINED__
#define __IRnME2Material_TS_TNOS_FWD_DEFINED__
typedef interface IRnME2Material_TS_TNOS IRnME2Material_TS_TNOS;
#endif 	/* __IRnME2Material_TS_TNOS_FWD_DEFINED__ */


#ifndef __IRnME2Material_TS_TNTS_FWD_DEFINED__
#define __IRnME2Material_TS_TNTS_FWD_DEFINED__
typedef interface IRnME2Material_TS_TNTS IRnME2Material_TS_TNTS;
#endif 	/* __IRnME2Material_TS_TNTS_FWD_DEFINED__ */


#ifndef __IRnME2Material_TS_TPOS_FWD_DEFINED__
#define __IRnME2Material_TS_TPOS_FWD_DEFINED__
typedef interface IRnME2Material_TS_TPOS IRnME2Material_TS_TPOS;
#endif 	/* __IRnME2Material_TS_TPOS_FWD_DEFINED__ */


#ifndef __IRnME2Material_TS_SPOM_FWD_DEFINED__
#define __IRnME2Material_TS_SPOM_FWD_DEFINED__
typedef interface IRnME2Material_TS_SPOM IRnME2Material_TS_SPOM;
#endif 	/* __IRnME2Material_TS_SPOM_FWD_DEFINED__ */


#ifndef __IRnME2Material_TS_SPTM_FWD_DEFINED__
#define __IRnME2Material_TS_SPTM_FWD_DEFINED__
typedef interface IRnME2Material_TS_SPTM IRnME2Material_TS_SPTM;
#endif 	/* __IRnME2Material_TS_SPTM_FWD_DEFINED__ */


#ifndef __IRnME2Material_TS_TNAM_FWD_DEFINED__
#define __IRnME2Material_TS_TNAM_FWD_DEFINED__
typedef interface IRnME2Material_TS_TNAM IRnME2Material_TS_TNAM;
#endif 	/* __IRnME2Material_TS_TNAM_FWD_DEFINED__ */


#ifndef __IRnME2Material_TS_TNOM_FWD_DEFINED__
#define __IRnME2Material_TS_TNOM_FWD_DEFINED__
typedef interface IRnME2Material_TS_TNOM IRnME2Material_TS_TNOM;
#endif 	/* __IRnME2Material_TS_TNOM_FWD_DEFINED__ */


#ifndef __IRnME2Material_TS_TNTM_FWD_DEFINED__
#define __IRnME2Material_TS_TNTM_FWD_DEFINED__
typedef interface IRnME2Material_TS_TNTM IRnME2Material_TS_TNTM;
#endif 	/* __IRnME2Material_TS_TNTM_FWD_DEFINED__ */


#ifndef __IRnME2Material_TS_TPOM_FWD_DEFINED__
#define __IRnME2Material_TS_TPOM_FWD_DEFINED__
typedef interface IRnME2Material_TS_TPOM IRnME2Material_TS_TPOM;
#endif 	/* __IRnME2Material_TS_TPOM_FWD_DEFINED__ */


#ifndef __IRnMaterialEditToolHooker_FWD_DEFINED__
#define __IRnMaterialEditToolHooker_FWD_DEFINED__
typedef interface IRnMaterialEditToolHooker IRnMaterialEditToolHooker;
#endif 	/* __IRnMaterialEditToolHooker_FWD_DEFINED__ */


#ifndef __IRnD3dMaterialEditor_FWD_DEFINED__
#define __IRnD3dMaterialEditor_FWD_DEFINED__
typedef interface IRnD3dMaterialEditor IRnD3dMaterialEditor;
#endif 	/* __IRnD3dMaterialEditor_FWD_DEFINED__ */


#ifndef __CRpView3D_FWD_DEFINED__
#define __CRpView3D_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRpView3D CRpView3D;
#else
typedef struct CRpView3D CRpView3D;
#endif /* __cplusplus */

#endif 	/* __CRpView3D_FWD_DEFINED__ */


#ifndef __CRdD3DCamera_FWD_DEFINED__
#define __CRdD3DCamera_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdD3DCamera CRdD3DCamera;
#else
typedef struct CRdD3DCamera CRdD3DCamera;
#endif /* __cplusplus */

#endif 	/* __CRdD3DCamera_FWD_DEFINED__ */


#ifndef __CRsD3DWindowedRT_FWD_DEFINED__
#define __CRsD3DWindowedRT_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRsD3DWindowedRT CRsD3DWindowedRT;
#else
typedef struct CRsD3DWindowedRT CRsD3DWindowedRT;
#endif /* __cplusplus */

#endif 	/* __CRsD3DWindowedRT_FWD_DEFINED__ */


#ifndef __CRdMEShader_FWD_DEFINED__
#define __CRdMEShader_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdMEShader CRdMEShader;
#else
typedef struct CRdMEShader CRdMEShader;
#endif /* __cplusplus */

#endif 	/* __CRdMEShader_FWD_DEFINED__ */


#ifndef __CRdME2ShaderBrickInputFloat_FWD_DEFINED__
#define __CRdME2ShaderBrickInputFloat_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdME2ShaderBrickInputFloat CRdME2ShaderBrickInputFloat;
#else
typedef struct CRdME2ShaderBrickInputFloat CRdME2ShaderBrickInputFloat;
#endif /* __cplusplus */

#endif 	/* __CRdME2ShaderBrickInputFloat_FWD_DEFINED__ */


#ifndef __CRdME2ShaderBrickInputFloat4_FWD_DEFINED__
#define __CRdME2ShaderBrickInputFloat4_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdME2ShaderBrickInputFloat4 CRdME2ShaderBrickInputFloat4;
#else
typedef struct CRdME2ShaderBrickInputFloat4 CRdME2ShaderBrickInputFloat4;
#endif /* __cplusplus */

#endif 	/* __CRdME2ShaderBrickInputFloat4_FWD_DEFINED__ */


#ifndef __CRdME2ShaderBrickInputMatrix_FWD_DEFINED__
#define __CRdME2ShaderBrickInputMatrix_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdME2ShaderBrickInputMatrix CRdME2ShaderBrickInputMatrix;
#else
typedef struct CRdME2ShaderBrickInputMatrix CRdME2ShaderBrickInputMatrix;
#endif /* __cplusplus */

#endif 	/* __CRdME2ShaderBrickInputMatrix_FWD_DEFINED__ */


#ifndef __CRdME2ShaderBrickInputBitmap_FWD_DEFINED__
#define __CRdME2ShaderBrickInputBitmap_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdME2ShaderBrickInputBitmap CRdME2ShaderBrickInputBitmap;
#else
typedef struct CRdME2ShaderBrickInputBitmap CRdME2ShaderBrickInputBitmap;
#endif /* __cplusplus */

#endif 	/* __CRdME2ShaderBrickInputBitmap_FWD_DEFINED__ */


#ifndef __CRdMEShaderLight_FWD_DEFINED__
#define __CRdMEShaderLight_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdMEShaderLight CRdMEShaderLight;
#else
typedef struct CRdMEShaderLight CRdMEShaderLight;
#endif /* __cplusplus */

#endif 	/* __CRdMEShaderLight_FWD_DEFINED__ */


#ifndef __CRdMEShaderLightVS_FWD_DEFINED__
#define __CRdMEShaderLightVS_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdMEShaderLightVS CRdMEShaderLightVS;
#else
typedef struct CRdMEShaderLightVS CRdMEShaderLightVS;
#endif /* __cplusplus */

#endif 	/* __CRdMEShaderLightVS_FWD_DEFINED__ */


#ifndef __CRdME2ShaderLight_FWD_DEFINED__
#define __CRdME2ShaderLight_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdME2ShaderLight CRdME2ShaderLight;
#else
typedef struct CRdME2ShaderLight CRdME2ShaderLight;
#endif /* __cplusplus */

#endif 	/* __CRdME2ShaderLight_FWD_DEFINED__ */


#ifndef __CRdME2ShaderLightVertex_FWD_DEFINED__
#define __CRdME2ShaderLightVertex_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdME2ShaderLightVertex CRdME2ShaderLightVertex;
#else
typedef struct CRdME2ShaderLightVertex CRdME2ShaderLightVertex;
#endif /* __cplusplus */

#endif 	/* __CRdME2ShaderLightVertex_FWD_DEFINED__ */


#ifndef __CRdME2Material_FWD_DEFINED__
#define __CRdME2Material_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdME2Material CRdME2Material;
#else
typedef struct CRdME2Material CRdME2Material;
#endif /* __cplusplus */

#endif 	/* __CRdME2Material_FWD_DEFINED__ */


#ifndef __CRdMEShaderBrickStatic_FWD_DEFINED__
#define __CRdMEShaderBrickStatic_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdMEShaderBrickStatic CRdMEShaderBrickStatic;
#else
typedef struct CRdMEShaderBrickStatic CRdMEShaderBrickStatic;
#endif /* __cplusplus */

#endif 	/* __CRdMEShaderBrickStatic_FWD_DEFINED__ */


#ifndef __CRdME2ShaderColor_FWD_DEFINED__
#define __CRdME2ShaderColor_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdME2ShaderColor CRdME2ShaderColor;
#else
typedef struct CRdME2ShaderColor CRdME2ShaderColor;
#endif /* __cplusplus */

#endif 	/* __CRdME2ShaderColor_FWD_DEFINED__ */


#ifndef __CRdMEShaderAlpha_FWD_DEFINED__
#define __CRdMEShaderAlpha_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdMEShaderAlpha CRdMEShaderAlpha;
#else
typedef struct CRdMEShaderAlpha CRdMEShaderAlpha;
#endif /* __cplusplus */

#endif 	/* __CRdMEShaderAlpha_FWD_DEFINED__ */


#ifndef __CRdMEShaderBrickStaticInput_FWD_DEFINED__
#define __CRdMEShaderBrickStaticInput_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdMEShaderBrickStaticInput CRdMEShaderBrickStaticInput;
#else
typedef struct CRdMEShaderBrickStaticInput CRdMEShaderBrickStaticInput;
#endif /* __cplusplus */

#endif 	/* __CRdMEShaderBrickStaticInput_FWD_DEFINED__ */


#ifndef __CRdMEShaderBrickStaticSampler1D_FWD_DEFINED__
#define __CRdMEShaderBrickStaticSampler1D_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdMEShaderBrickStaticSampler1D CRdMEShaderBrickStaticSampler1D;
#else
typedef struct CRdMEShaderBrickStaticSampler1D CRdMEShaderBrickStaticSampler1D;
#endif /* __cplusplus */

#endif 	/* __CRdMEShaderBrickStaticSampler1D_FWD_DEFINED__ */


#ifndef __CRdMEShaderBrickStaticSampler2D_FWD_DEFINED__
#define __CRdMEShaderBrickStaticSampler2D_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdMEShaderBrickStaticSampler2D CRdMEShaderBrickStaticSampler2D;
#else
typedef struct CRdMEShaderBrickStaticSampler2D CRdMEShaderBrickStaticSampler2D;
#endif /* __cplusplus */

#endif 	/* __CRdMEShaderBrickStaticSampler2D_FWD_DEFINED__ */


#ifndef __CRdMEShaderColor_FWD_DEFINED__
#define __CRdMEShaderColor_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdMEShaderColor CRdMEShaderColor;
#else
typedef struct CRdMEShaderColor CRdMEShaderColor;
#endif /* __cplusplus */

#endif 	/* __CRdMEShaderColor_FWD_DEFINED__ */


#ifndef __CRdMEShaderModel_FWD_DEFINED__
#define __CRdMEShaderModel_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdMEShaderModel CRdMEShaderModel;
#else
typedef struct CRdMEShaderModel CRdMEShaderModel;
#endif /* __cplusplus */

#endif 	/* __CRdMEShaderModel_FWD_DEFINED__ */


#ifndef __CRdMEShaderNormal_FWD_DEFINED__
#define __CRdMEShaderNormal_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdMEShaderNormal CRdMEShaderNormal;
#else
typedef struct CRdMEShaderNormal CRdMEShaderNormal;
#endif /* __cplusplus */

#endif 	/* __CRdMEShaderNormal_FWD_DEFINED__ */


#ifndef __CRdMEShaderTexCoord_FWD_DEFINED__
#define __CRdMEShaderTexCoord_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdMEShaderTexCoord CRdMEShaderTexCoord;
#else
typedef struct CRdMEShaderTexCoord CRdMEShaderTexCoord;
#endif /* __cplusplus */

#endif 	/* __CRdMEShaderTexCoord_FWD_DEFINED__ */


#ifndef __CRfD3DSerialization_FWD_DEFINED__
#define __CRfD3DSerialization_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRfD3DSerialization CRfD3DSerialization;
#else
typedef struct CRfD3DSerialization CRfD3DSerialization;
#endif /* __cplusplus */

#endif 	/* __CRfD3DSerialization_FWD_DEFINED__ */


#ifndef __CRiView3D_FWD_DEFINED__
#define __CRiView3D_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRiView3D CRiView3D;
#else
typedef struct CRiView3D CRiView3D;
#endif /* __cplusplus */

#endif 	/* __CRiView3D_FWD_DEFINED__ */


#ifndef __CRiD3dMaterialEditor_FWD_DEFINED__
#define __CRiD3dMaterialEditor_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRiD3dMaterialEditor CRiD3dMaterialEditor;
#else
typedef struct CRiD3dMaterialEditor CRiD3dMaterialEditor;
#endif /* __cplusplus */

#endif 	/* __CRiD3dMaterialEditor_FWD_DEFINED__ */


#ifndef __CRdME2ShaderBrickInputFloat3_FWD_DEFINED__
#define __CRdME2ShaderBrickInputFloat3_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdME2ShaderBrickInputFloat3 CRdME2ShaderBrickInputFloat3;
#else
typedef struct CRdME2ShaderBrickInputFloat3 CRdME2ShaderBrickInputFloat3;
#endif /* __cplusplus */

#endif 	/* __CRdME2ShaderBrickInputFloat3_FWD_DEFINED__ */


#ifndef __CRdME2ShaderBrickFShaderInput_FWD_DEFINED__
#define __CRdME2ShaderBrickFShaderInput_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdME2ShaderBrickFShaderInput CRdME2ShaderBrickFShaderInput;
#else
typedef struct CRdME2ShaderBrickFShaderInput CRdME2ShaderBrickFShaderInput;
#endif /* __cplusplus */

#endif 	/* __CRdME2ShaderBrickFShaderInput_FWD_DEFINED__ */


#ifndef __CRdME2ShaderBrickFunction_FWD_DEFINED__
#define __CRdME2ShaderBrickFunction_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdME2ShaderBrickFunction CRdME2ShaderBrickFunction;
#else
typedef struct CRdME2ShaderBrickFunction CRdME2ShaderBrickFunction;
#endif /* __cplusplus */

#endif 	/* __CRdME2ShaderBrickFunction_FWD_DEFINED__ */


#ifndef __CRdME2ShaderAlpha_FWD_DEFINED__
#define __CRdME2ShaderAlpha_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdME2ShaderAlpha CRdME2ShaderAlpha;
#else
typedef struct CRdME2ShaderAlpha CRdME2ShaderAlpha;
#endif /* __cplusplus */

#endif 	/* __CRdME2ShaderAlpha_FWD_DEFINED__ */


#ifndef __CRdME2ShaderConstant_FWD_DEFINED__
#define __CRdME2ShaderConstant_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdME2ShaderConstant CRdME2ShaderConstant;
#else
typedef struct CRdME2ShaderConstant CRdME2ShaderConstant;
#endif /* __cplusplus */

#endif 	/* __CRdME2ShaderConstant_FWD_DEFINED__ */


#ifndef __CRdME2ShaderModel_FWD_DEFINED__
#define __CRdME2ShaderModel_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdME2ShaderModel CRdME2ShaderModel;
#else
typedef struct CRdME2ShaderModel CRdME2ShaderModel;
#endif /* __cplusplus */

#endif 	/* __CRdME2ShaderModel_FWD_DEFINED__ */


#ifndef __CRdME2ShaderNormal_FWD_DEFINED__
#define __CRdME2ShaderNormal_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdME2ShaderNormal CRdME2ShaderNormal;
#else
typedef struct CRdME2ShaderNormal CRdME2ShaderNormal;
#endif /* __cplusplus */

#endif 	/* __CRdME2ShaderNormal_FWD_DEFINED__ */


#ifndef __CRdME2ShaderTexcoord_FWD_DEFINED__
#define __CRdME2ShaderTexcoord_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdME2ShaderTexcoord CRdME2ShaderTexcoord;
#else
typedef struct CRdME2ShaderTexcoord CRdME2ShaderTexcoord;
#endif /* __cplusplus */

#endif 	/* __CRdME2ShaderTexcoord_FWD_DEFINED__ */


#ifndef __CRdME2ShaderVertex_FWD_DEFINED__
#define __CRdME2ShaderVertex_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdME2ShaderVertex CRdME2ShaderVertex;
#else
typedef struct CRdME2ShaderVertex CRdME2ShaderVertex;
#endif /* __cplusplus */

#endif 	/* __CRdME2ShaderVertex_FWD_DEFINED__ */


#ifndef __CRdME2MaterialExplicit_FWD_DEFINED__
#define __CRdME2MaterialExplicit_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdME2MaterialExplicit CRdME2MaterialExplicit;
#else
typedef struct CRdME2MaterialExplicit CRdME2MaterialExplicit;
#endif /* __cplusplus */

#endif 	/* __CRdME2MaterialExplicit_FWD_DEFINED__ */


#ifndef __CRdME2MixedBrick_FWD_DEFINED__
#define __CRdME2MixedBrick_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdME2MixedBrick CRdME2MixedBrick;
#else
typedef struct CRdME2MixedBrick CRdME2MixedBrick;
#endif /* __cplusplus */

#endif 	/* __CRdME2MixedBrick_FWD_DEFINED__ */


/* header files for imported files */
#include "prsht.h"
#include "mshtml.h"
#include "mshtmhst.h"
#include "exdisp.h"
#include "objsafe.h"
#include "_kernel.h"
#include "_commonData.h"
#include "_space3d.h"
#include "_UserInterface.h"
#include "_Anim.h"

#ifdef __cplusplus
extern "C"{
#endif 

void * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void * ); 

/* interface __MIDL_itf__View3D_0000 */
/* [local] */ 

typedef 
enum _tagRtD3DResourceUpdate
    {	D3DRES_UPDATE_LIGHT	= 1,
	D3DRES_UPDATE_MEDIUM	= 2,
	D3DRES_UPDATE_HEAVY	= 4,
	D3DRES_UPDATE_RESTORE	= 8,
	D3DRES_FORCE_DWORD	= -1
    } 	RtD3DResourceUpdate;

typedef 
enum _tagRtD3DResourceDetach
    {	D3DDETACH_OWN_REQUEST	= 1,
	D3DDETACH_BY_RENDERER	= 2,
	D3DDETACH_BY_SHUTDOWN	= 4,
	D3DDETACH_FORCE_DWORD	= -1
    } 	RtD3DResourceDetach;

typedef 
enum _tagRtD3DRendererEvent
    {	D3DREVT_PERFORMEDRESCAN	= 1,
	D3DREVT_PERFORMEDREFRESH	= 2,
	D3DREVT_FORCE_DWORD	= -1
    } 	RtD3DRendererEvent;



extern RPC_IF_HANDLE __MIDL_itf__View3D_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__View3D_0000_v0_0_s_ifspec;

#ifndef __IRsD3DResource_INTERFACE_DEFINED__
#define __IRsD3DResource_INTERFACE_DEFINED__

/* interface IRsD3DResource */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsD3DResource;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4D07A77A-BAFD-4e15-BD90-E822D291D799")
    IRsD3DResource : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AttachToD3DRenderer( 
            /* [in] */ IUnknown *pRenderer) = 0;
        
        virtual /* [helpstring][local] */ HRESULT STDMETHODCALLTYPE CreateInternalData( 
            /* [in] */ ULONG dwInternalID) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetInternalID( 
            /* [retval][out] */ ULONG *pInternalID) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Update( 
            /* [in] */ ULONG dwUpdateFlags) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DeviceLost( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Detach( 
            /* [in] */ ULONG dwDetachFlags) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE D3DRendererEvent( 
            /* [in] */ RtD3DRendererEvent Event) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAutomaticRegisterStatus( 
            /* [out] */ RtBOOL *bAutoRegister) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsD3DResourceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsD3DResource * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsD3DResource * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsD3DResource * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AttachToD3DRenderer )( 
            IRsD3DResource * This,
            /* [in] */ IUnknown *pRenderer);
        
        /* [helpstring][local] */ HRESULT ( STDMETHODCALLTYPE *CreateInternalData )( 
            IRsD3DResource * This,
            /* [in] */ ULONG dwInternalID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInternalID )( 
            IRsD3DResource * This,
            /* [retval][out] */ ULONG *pInternalID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IRsD3DResource * This,
            /* [in] */ ULONG dwUpdateFlags);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DeviceLost )( 
            IRsD3DResource * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Detach )( 
            IRsD3DResource * This,
            /* [in] */ ULONG dwDetachFlags);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *D3DRendererEvent )( 
            IRsD3DResource * This,
            /* [in] */ RtD3DRendererEvent Event);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAutomaticRegisterStatus )( 
            IRsD3DResource * This,
            /* [out] */ RtBOOL *bAutoRegister);
        
        END_INTERFACE
    } IRsD3DResourceVtbl;

    interface IRsD3DResource
    {
        CONST_VTBL struct IRsD3DResourceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsD3DResource_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsD3DResource_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsD3DResource_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsD3DResource_AttachToD3DRenderer(This,pRenderer)	\
    (This)->lpVtbl -> AttachToD3DRenderer(This,pRenderer)

#define IRsD3DResource_CreateInternalData(This,dwInternalID)	\
    (This)->lpVtbl -> CreateInternalData(This,dwInternalID)

#define IRsD3DResource_GetInternalID(This,pInternalID)	\
    (This)->lpVtbl -> GetInternalID(This,pInternalID)

#define IRsD3DResource_Update(This,dwUpdateFlags)	\
    (This)->lpVtbl -> Update(This,dwUpdateFlags)

#define IRsD3DResource_DeviceLost(This)	\
    (This)->lpVtbl -> DeviceLost(This)

#define IRsD3DResource_Detach(This,dwDetachFlags)	\
    (This)->lpVtbl -> Detach(This,dwDetachFlags)

#define IRsD3DResource_D3DRendererEvent(This,Event)	\
    (This)->lpVtbl -> D3DRendererEvent(This,Event)

#define IRsD3DResource_GetAutomaticRegisterStatus(This,bAutoRegister)	\
    (This)->lpVtbl -> GetAutomaticRegisterStatus(This,bAutoRegister)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsD3DResource_AttachToD3DRenderer_Proxy( 
    IRsD3DResource * This,
    /* [in] */ IUnknown *pRenderer);


void __RPC_STUB IRsD3DResource_AttachToD3DRenderer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][local] */ HRESULT STDMETHODCALLTYPE IRsD3DResource_CreateInternalData_Proxy( 
    IRsD3DResource * This,
    /* [in] */ ULONG dwInternalID);


void __RPC_STUB IRsD3DResource_CreateInternalData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsD3DResource_GetInternalID_Proxy( 
    IRsD3DResource * This,
    /* [retval][out] */ ULONG *pInternalID);


void __RPC_STUB IRsD3DResource_GetInternalID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsD3DResource_Update_Proxy( 
    IRsD3DResource * This,
    /* [in] */ ULONG dwUpdateFlags);


void __RPC_STUB IRsD3DResource_Update_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsD3DResource_DeviceLost_Proxy( 
    IRsD3DResource * This);


void __RPC_STUB IRsD3DResource_DeviceLost_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsD3DResource_Detach_Proxy( 
    IRsD3DResource * This,
    /* [in] */ ULONG dwDetachFlags);


void __RPC_STUB IRsD3DResource_Detach_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsD3DResource_D3DRendererEvent_Proxy( 
    IRsD3DResource * This,
    /* [in] */ RtD3DRendererEvent Event);


void __RPC_STUB IRsD3DResource_D3DRendererEvent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsD3DResource_GetAutomaticRegisterStatus_Proxy( 
    IRsD3DResource * This,
    /* [out] */ RtBOOL *bAutoRegister);


void __RPC_STUB IRsD3DResource_GetAutomaticRegisterStatus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsD3DResource_INTERFACE_DEFINED__ */


#ifndef __IRsD3DCustomMessageReceiver_INTERFACE_DEFINED__
#define __IRsD3DCustomMessageReceiver_INTERFACE_DEFINED__

/* interface IRsD3DCustomMessageReceiver */
/* [unique][helpstring][uuid][object][local] */ 


EXTERN_C const IID IID_IRsD3DCustomMessageReceiver;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9F23BD2B-D5C4-41f6-8122-5A9AACE10118")
    IRsD3DCustomMessageReceiver : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CustomMessage( 
            /* [in] */ GUID *MessageUUID,
            /* [in] */ VARIANT MessageData) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsD3DCustomMessageReceiverVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsD3DCustomMessageReceiver * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsD3DCustomMessageReceiver * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsD3DCustomMessageReceiver * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CustomMessage )( 
            IRsD3DCustomMessageReceiver * This,
            /* [in] */ GUID *MessageUUID,
            /* [in] */ VARIANT MessageData);
        
        END_INTERFACE
    } IRsD3DCustomMessageReceiverVtbl;

    interface IRsD3DCustomMessageReceiver
    {
        CONST_VTBL struct IRsD3DCustomMessageReceiverVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsD3DCustomMessageReceiver_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsD3DCustomMessageReceiver_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsD3DCustomMessageReceiver_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsD3DCustomMessageReceiver_CustomMessage(This,MessageUUID,MessageData)	\
    (This)->lpVtbl -> CustomMessage(This,MessageUUID,MessageData)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsD3DCustomMessageReceiver_CustomMessage_Proxy( 
    IRsD3DCustomMessageReceiver * This,
    /* [in] */ GUID *MessageUUID,
    /* [in] */ VARIANT MessageData);


void __RPC_STUB IRsD3DCustomMessageReceiver_CustomMessage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsD3DCustomMessageReceiver_INTERFACE_DEFINED__ */


#ifndef __IRnD3DRendererData_INTERFACE_DEFINED__
#define __IRnD3DRendererData_INTERFACE_DEFINED__

/* interface IRnD3DRendererData */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnD3DRendererData;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("168C166D-528A-48cc-A53D-0626E499E1E9")
    IRnD3DRendererData : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE HookNode( 
            /* [in] */ IRsBaseNode *pNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnhookNode( 
            /* [in] */ IRsBaseNode *pNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnD3DRendererDataVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnD3DRendererData * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnD3DRendererData * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnD3DRendererData * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HookNode )( 
            IRnD3DRendererData * This,
            /* [in] */ IRsBaseNode *pNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnhookNode )( 
            IRnD3DRendererData * This,
            /* [in] */ IRsBaseNode *pNode);
        
        END_INTERFACE
    } IRnD3DRendererDataVtbl;

    interface IRnD3DRendererData
    {
        CONST_VTBL struct IRnD3DRendererDataVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnD3DRendererData_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnD3DRendererData_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnD3DRendererData_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnD3DRendererData_HookNode(This,pNode)	\
    (This)->lpVtbl -> HookNode(This,pNode)

#define IRnD3DRendererData_UnhookNode(This,pNode)	\
    (This)->lpVtbl -> UnhookNode(This,pNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnD3DRendererData_HookNode_Proxy( 
    IRnD3DRendererData * This,
    /* [in] */ IRsBaseNode *pNode);


void __RPC_STUB IRnD3DRendererData_HookNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnD3DRendererData_UnhookNode_Proxy( 
    IRnD3DRendererData * This,
    /* [in] */ IRsBaseNode *pNode);


void __RPC_STUB IRnD3DRendererData_UnhookNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnD3DRendererData_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__View3D_1994 */
/* [local] */ 


enum ReD3DRenderAttributesCombineFlags
    {	D3DRACF_POINTCOLOR	= 1,
	D3DRACF_POINTSIZE	= 2,
	D3DRACF_POINTOPACITY	= 4,
	D3DRACF_WIRECOLOR	= 8,
	D3DRACF_WIREOPACITY	= 16,
	D3DRACF_FACEOPACITY	= 64,
	D3DRACF_HIGHLIGHTCOLOR	= 128,
	D3DRACF_HIGHLIGHTOPACITY	= 256,
	D3DRACF_OVERLAY	= 512,
	D3DRACF_TWOSIDED	= 1024,
	D3DRACF_HIDDENFACES	= 2048,
	D3DRACF_HIDDENLINES	= 4096,
	D3DRACF_INVISIBLE	= 8192,
	D3DRACF_CASTSHADOWS	= 16384,
	D3DRACF_LAYER	= 32768,
	D3DRACF_TRANSPARENCYMODE	= 65536,
	D3DRACF_FORCEFLAGS	= 131072
    } ;

enum ReD3DExtraRenderAttributesSettingsMode
    {	D3DERA_SET_EXTRA	= 0,
	D3DERA_SET_EXTRA_BY_FLAGS	= 1,
	D3DERA_RESET_EXTRA	= 2
    } ;


extern RPC_IF_HANDLE __MIDL_itf__View3D_1994_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__View3D_1994_v0_0_s_ifspec;

#ifndef __IRsD3DRendererObj_INTERFACE_DEFINED__
#define __IRsD3DRendererObj_INTERFACE_DEFINED__

/* interface IRsD3DRendererObj */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsD3DRendererObj;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3FE94BA2-975B-411c-B770-83B1DDD6CF38")
    IRsD3DRendererObj : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AttachD3DResource( 
            /* [in] */ IRsD3DResource *pResource) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateD3DResource( 
            /* [in] */ IRsD3DResource *pResource,
            /* [in] */ ULONG dwUpdateType) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DetachD3DResource( 
            /* [in] */ IRsD3DResource *pResource) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE HookToRendererEvents( 
            /* [in] */ IRsD3DResource *pResource) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnhookFromRendererEvents( 
            /* [in] */ IRsD3DResource *pResource) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SendRendererEvents( 
            /* [in] */ RtD3DRendererEvent Event) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddScanRoot( 
            /* [in] */ BSTR bsScanRoot,
            /* [in] */ DWORD dwRootType) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveScanRoot( 
            /* [in] */ BSTR bsScanRoot) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ForceEngineUpdateByPost( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ForceEngineUpdateByRun( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ForceEngineUpdateByCall( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnSystemMessage( 
            /* [in] */ MSGID msgId,
            /* [in] */ IRsUnknownMsg *pMsg) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetExtraRenderingAttributes( 
            /* [in] */ enum ReD3DExtraRenderAttributesSettingsMode inMode,
            /* [in] */ DWORD dwReplaceFlags,
            /* [in] */ DWORD dwCombineFlags,
            /* [in] */ IRsBaseNode *pObject,
            /* [in] */ IRdRenderAttributes *pAttributes) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsRenderableObject( 
            /* [in] */ IRsBaseNode *pObject) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsLight( 
            /* [in] */ IRsBaseNode *pObject) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsCamera( 
            /* [in] */ IRsBaseNode *pObject) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsD3DRendererObjVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsD3DRendererObj * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsD3DRendererObj * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsD3DRendererObj * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AttachD3DResource )( 
            IRsD3DRendererObj * This,
            /* [in] */ IRsD3DResource *pResource);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateD3DResource )( 
            IRsD3DRendererObj * This,
            /* [in] */ IRsD3DResource *pResource,
            /* [in] */ ULONG dwUpdateType);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DetachD3DResource )( 
            IRsD3DRendererObj * This,
            /* [in] */ IRsD3DResource *pResource);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HookToRendererEvents )( 
            IRsD3DRendererObj * This,
            /* [in] */ IRsD3DResource *pResource);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnhookFromRendererEvents )( 
            IRsD3DRendererObj * This,
            /* [in] */ IRsD3DResource *pResource);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SendRendererEvents )( 
            IRsD3DRendererObj * This,
            /* [in] */ RtD3DRendererEvent Event);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddScanRoot )( 
            IRsD3DRendererObj * This,
            /* [in] */ BSTR bsScanRoot,
            /* [in] */ DWORD dwRootType);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveScanRoot )( 
            IRsD3DRendererObj * This,
            /* [in] */ BSTR bsScanRoot);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ForceEngineUpdateByPost )( 
            IRsD3DRendererObj * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ForceEngineUpdateByRun )( 
            IRsD3DRendererObj * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ForceEngineUpdateByCall )( 
            IRsD3DRendererObj * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnSystemMessage )( 
            IRsD3DRendererObj * This,
            /* [in] */ MSGID msgId,
            /* [in] */ IRsUnknownMsg *pMsg);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetExtraRenderingAttributes )( 
            IRsD3DRendererObj * This,
            /* [in] */ enum ReD3DExtraRenderAttributesSettingsMode inMode,
            /* [in] */ DWORD dwReplaceFlags,
            /* [in] */ DWORD dwCombineFlags,
            /* [in] */ IRsBaseNode *pObject,
            /* [in] */ IRdRenderAttributes *pAttributes);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsRenderableObject )( 
            IRsD3DRendererObj * This,
            /* [in] */ IRsBaseNode *pObject);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsLight )( 
            IRsD3DRendererObj * This,
            /* [in] */ IRsBaseNode *pObject);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsCamera )( 
            IRsD3DRendererObj * This,
            /* [in] */ IRsBaseNode *pObject);
        
        END_INTERFACE
    } IRsD3DRendererObjVtbl;

    interface IRsD3DRendererObj
    {
        CONST_VTBL struct IRsD3DRendererObjVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsD3DRendererObj_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsD3DRendererObj_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsD3DRendererObj_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsD3DRendererObj_AttachD3DResource(This,pResource)	\
    (This)->lpVtbl -> AttachD3DResource(This,pResource)

#define IRsD3DRendererObj_UpdateD3DResource(This,pResource,dwUpdateType)	\
    (This)->lpVtbl -> UpdateD3DResource(This,pResource,dwUpdateType)

#define IRsD3DRendererObj_DetachD3DResource(This,pResource)	\
    (This)->lpVtbl -> DetachD3DResource(This,pResource)

#define IRsD3DRendererObj_HookToRendererEvents(This,pResource)	\
    (This)->lpVtbl -> HookToRendererEvents(This,pResource)

#define IRsD3DRendererObj_UnhookFromRendererEvents(This,pResource)	\
    (This)->lpVtbl -> UnhookFromRendererEvents(This,pResource)

#define IRsD3DRendererObj_SendRendererEvents(This,Event)	\
    (This)->lpVtbl -> SendRendererEvents(This,Event)

#define IRsD3DRendererObj_AddScanRoot(This,bsScanRoot,dwRootType)	\
    (This)->lpVtbl -> AddScanRoot(This,bsScanRoot,dwRootType)

#define IRsD3DRendererObj_RemoveScanRoot(This,bsScanRoot)	\
    (This)->lpVtbl -> RemoveScanRoot(This,bsScanRoot)

#define IRsD3DRendererObj_ForceEngineUpdateByPost(This)	\
    (This)->lpVtbl -> ForceEngineUpdateByPost(This)

#define IRsD3DRendererObj_ForceEngineUpdateByRun(This)	\
    (This)->lpVtbl -> ForceEngineUpdateByRun(This)

#define IRsD3DRendererObj_ForceEngineUpdateByCall(This)	\
    (This)->lpVtbl -> ForceEngineUpdateByCall(This)

#define IRsD3DRendererObj_OnSystemMessage(This,msgId,pMsg)	\
    (This)->lpVtbl -> OnSystemMessage(This,msgId,pMsg)

#define IRsD3DRendererObj_SetExtraRenderingAttributes(This,inMode,dwReplaceFlags,dwCombineFlags,pObject,pAttributes)	\
    (This)->lpVtbl -> SetExtraRenderingAttributes(This,inMode,dwReplaceFlags,dwCombineFlags,pObject,pAttributes)

#define IRsD3DRendererObj_IsRenderableObject(This,pObject)	\
    (This)->lpVtbl -> IsRenderableObject(This,pObject)

#define IRsD3DRendererObj_IsLight(This,pObject)	\
    (This)->lpVtbl -> IsLight(This,pObject)

#define IRsD3DRendererObj_IsCamera(This,pObject)	\
    (This)->lpVtbl -> IsCamera(This,pObject)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsD3DRendererObj_AttachD3DResource_Proxy( 
    IRsD3DRendererObj * This,
    /* [in] */ IRsD3DResource *pResource);


void __RPC_STUB IRsD3DRendererObj_AttachD3DResource_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsD3DRendererObj_UpdateD3DResource_Proxy( 
    IRsD3DRendererObj * This,
    /* [in] */ IRsD3DResource *pResource,
    /* [in] */ ULONG dwUpdateType);


void __RPC_STUB IRsD3DRendererObj_UpdateD3DResource_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsD3DRendererObj_DetachD3DResource_Proxy( 
    IRsD3DRendererObj * This,
    /* [in] */ IRsD3DResource *pResource);


void __RPC_STUB IRsD3DRendererObj_DetachD3DResource_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsD3DRendererObj_HookToRendererEvents_Proxy( 
    IRsD3DRendererObj * This,
    /* [in] */ IRsD3DResource *pResource);


void __RPC_STUB IRsD3DRendererObj_HookToRendererEvents_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsD3DRendererObj_UnhookFromRendererEvents_Proxy( 
    IRsD3DRendererObj * This,
    /* [in] */ IRsD3DResource *pResource);


void __RPC_STUB IRsD3DRendererObj_UnhookFromRendererEvents_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsD3DRendererObj_SendRendererEvents_Proxy( 
    IRsD3DRendererObj * This,
    /* [in] */ RtD3DRendererEvent Event);


void __RPC_STUB IRsD3DRendererObj_SendRendererEvents_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsD3DRendererObj_AddScanRoot_Proxy( 
    IRsD3DRendererObj * This,
    /* [in] */ BSTR bsScanRoot,
    /* [in] */ DWORD dwRootType);


void __RPC_STUB IRsD3DRendererObj_AddScanRoot_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsD3DRendererObj_RemoveScanRoot_Proxy( 
    IRsD3DRendererObj * This,
    /* [in] */ BSTR bsScanRoot);


void __RPC_STUB IRsD3DRendererObj_RemoveScanRoot_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsD3DRendererObj_ForceEngineUpdateByPost_Proxy( 
    IRsD3DRendererObj * This);


void __RPC_STUB IRsD3DRendererObj_ForceEngineUpdateByPost_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsD3DRendererObj_ForceEngineUpdateByRun_Proxy( 
    IRsD3DRendererObj * This);


void __RPC_STUB IRsD3DRendererObj_ForceEngineUpdateByRun_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsD3DRendererObj_ForceEngineUpdateByCall_Proxy( 
    IRsD3DRendererObj * This);


void __RPC_STUB IRsD3DRendererObj_ForceEngineUpdateByCall_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsD3DRendererObj_OnSystemMessage_Proxy( 
    IRsD3DRendererObj * This,
    /* [in] */ MSGID msgId,
    /* [in] */ IRsUnknownMsg *pMsg);


void __RPC_STUB IRsD3DRendererObj_OnSystemMessage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsD3DRendererObj_SetExtraRenderingAttributes_Proxy( 
    IRsD3DRendererObj * This,
    /* [in] */ enum ReD3DExtraRenderAttributesSettingsMode inMode,
    /* [in] */ DWORD dwReplaceFlags,
    /* [in] */ DWORD dwCombineFlags,
    /* [in] */ IRsBaseNode *pObject,
    /* [in] */ IRdRenderAttributes *pAttributes);


void __RPC_STUB IRsD3DRendererObj_SetExtraRenderingAttributes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsD3DRendererObj_IsRenderableObject_Proxy( 
    IRsD3DRendererObj * This,
    /* [in] */ IRsBaseNode *pObject);


void __RPC_STUB IRsD3DRendererObj_IsRenderableObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsD3DRendererObj_IsLight_Proxy( 
    IRsD3DRendererObj * This,
    /* [in] */ IRsBaseNode *pObject);


void __RPC_STUB IRsD3DRendererObj_IsLight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsD3DRendererObj_IsCamera_Proxy( 
    IRsD3DRendererObj * This,
    /* [in] */ IRsBaseNode *pObject);


void __RPC_STUB IRsD3DRendererObj_IsCamera_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsD3DRendererObj_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__View3D_1995 */
/* [local] */ 


enum ReD3DEyeCameraType
    {	D3D_EYETYPE_DEFAULT	= 0,
	D3D_EYETYPE_ZPLUS	= 1,
	D3D_EYETYPE_ZMINUS	= 2,
	D3D_EYETYPE_XPLUS	= 3,
	D3D_EYETYPE_XMINUS	= 4,
	D3D_EYETYPE_YPLUS	= 5,
	D3D_EYETYPE_YMINUS	= 6,
	D3D_EYETYPE_CUSTOM	= 7
    } ;
struct RtD3DEyeCamera2
    {
    DWORD m_dwSize;
    float m_fFOV;
    float m_fTX;
    float m_fTY;
    float m_fTZ;
    float m_fYaw;
    float m_fPitch;
    float m_fRoll;
    enum ReD3DEyeCameraType m_eType;
    } ;


extern RPC_IF_HANDLE __MIDL_itf__View3D_1995_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__View3D_1995_v0_0_s_ifspec;

#ifndef __IRdD3DEyeCameraData_INTERFACE_DEFINED__
#define __IRdD3DEyeCameraData_INTERFACE_DEFINED__

/* interface IRdD3DEyeCameraData */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdD3DEyeCameraData;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3DB40A96-7892-4ecb-A854-B0B2129B7B14")
    IRdD3DEyeCameraData : public IRsDataObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCount( 
            /* [in] */ DWORD *dwItemCount) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CopyData( 
            /* [out] */ struct RtD3DEyeCamera2 *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetData( 
            /* [in] */ DWORD dwCount,
            /* [in] */ struct RtD3DEyeCamera2 *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdD3DEyeCameraDataVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdD3DEyeCameraData * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdD3DEyeCameraData * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdD3DEyeCameraData * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdD3DEyeCameraData * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdD3DEyeCameraData * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdD3DEyeCameraData * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdD3DEyeCameraData * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCount )( 
            IRdD3DEyeCameraData * This,
            /* [in] */ DWORD *dwItemCount);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CopyData )( 
            IRdD3DEyeCameraData * This,
            /* [out] */ struct RtD3DEyeCamera2 *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetData )( 
            IRdD3DEyeCameraData * This,
            /* [in] */ DWORD dwCount,
            /* [in] */ struct RtD3DEyeCamera2 *pVal);
        
        END_INTERFACE
    } IRdD3DEyeCameraDataVtbl;

    interface IRdD3DEyeCameraData
    {
        CONST_VTBL struct IRdD3DEyeCameraDataVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdD3DEyeCameraData_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdD3DEyeCameraData_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdD3DEyeCameraData_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdD3DEyeCameraData_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdD3DEyeCameraData_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdD3DEyeCameraData_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdD3DEyeCameraData_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdD3DEyeCameraData_GetCount(This,dwItemCount)	\
    (This)->lpVtbl -> GetCount(This,dwItemCount)

#define IRdD3DEyeCameraData_CopyData(This,pVal)	\
    (This)->lpVtbl -> CopyData(This,pVal)

#define IRdD3DEyeCameraData_SetData(This,dwCount,pVal)	\
    (This)->lpVtbl -> SetData(This,dwCount,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DEyeCameraData_Clear_Proxy( 
    IRdD3DEyeCameraData * This);


void __RPC_STUB IRdD3DEyeCameraData_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DEyeCameraData_GetCount_Proxy( 
    IRdD3DEyeCameraData * This,
    /* [in] */ DWORD *dwItemCount);


void __RPC_STUB IRdD3DEyeCameraData_GetCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DEyeCameraData_CopyData_Proxy( 
    IRdD3DEyeCameraData * This,
    /* [out] */ struct RtD3DEyeCamera2 *pVal);


void __RPC_STUB IRdD3DEyeCameraData_CopyData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DEyeCameraData_SetData_Proxy( 
    IRdD3DEyeCameraData * This,
    /* [in] */ DWORD dwCount,
    /* [in] */ struct RtD3DEyeCamera2 *pVal);


void __RPC_STUB IRdD3DEyeCameraData_SetData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdD3DEyeCameraData_INTERFACE_DEFINED__ */


#ifndef __IRsViewHelper_INTERFACE_DEFINED__
#define __IRsViewHelper_INTERFACE_DEFINED__

/* interface IRsViewHelper */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsViewHelper;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("49BA583E-1C1D-45BA-A754-A179F1FFC9E6")
    IRsViewHelper : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetActiveCamera( 
            /* [in] */ IRsNode *pViewNode,
            /* [retval][out] */ IRsNode **ppCameraNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetActiveCamera( 
            /* [in] */ IRsNode *pViewNode,
            /* [in] */ IRsNode *pNewCamera) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PickObject( 
            /* [in] */ IRsNode *pViewNode,
            /* [in] */ RtPoint *screenPoint,
            /* [retval][out] */ IRsNode **ppPickedNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PickSubObject( 
            /* [in] */ IRsNode *pViewNode,
            /* [in] */ RtPoint *screenPoint,
            /* [out] */ IRsNode **ppPickedNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PickNearestObject( 
            /* [in] */ IRsNode *pViewNode,
            /* [in] */ RtPoint *screenPoint,
            /* [out] */ IRsNode **ppPickedNode,
            /* [out] */ RtUlong *pdwFaceHitIndex,
            /* [out] */ RtPoint *pPosition) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PickNearestObjectTranslated( 
            /* [in] */ IRsNode *pViewNode,
            /* [in] */ RtPoint *screenPoint,
            /* [out] */ IRsNode **ppPickedNode,
            /* [in] */ RtPoint *pIntersection) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRenderRoot( 
            /* [in] */ IRsNode *pViewNode,
            /* [retval][out] */ IRsNode **ppRootNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetOCTreeNode( 
            /* [in] */ IRsNode *pViewNode,
            /* [retval][out] */ IRsNode **ppTreeNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRay( 
            /* [in] */ IRsNode *pViewNode,
            /* [in] */ RtPoint *pPoint,
            /* [out] */ RtPoint *pPosition,
            /* [out] */ RtPoint *pDirection) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetVolumeTree( 
            /* [in] */ IRsNode *pViewNode,
            /* [in] */ IRnVolumeTree **pVolumeTree) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DisableInSceneOctree( 
            /* [in] */ IRsNode *pNode,
            /* [in] */ RtBool bDisable) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsViewHelperVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsViewHelper * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsViewHelper * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsViewHelper * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsViewHelper * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsViewHelper * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetActiveCamera )( 
            IRsViewHelper * This,
            /* [in] */ IRsNode *pViewNode,
            /* [retval][out] */ IRsNode **ppCameraNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetActiveCamera )( 
            IRsViewHelper * This,
            /* [in] */ IRsNode *pViewNode,
            /* [in] */ IRsNode *pNewCamera);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PickObject )( 
            IRsViewHelper * This,
            /* [in] */ IRsNode *pViewNode,
            /* [in] */ RtPoint *screenPoint,
            /* [retval][out] */ IRsNode **ppPickedNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PickSubObject )( 
            IRsViewHelper * This,
            /* [in] */ IRsNode *pViewNode,
            /* [in] */ RtPoint *screenPoint,
            /* [out] */ IRsNode **ppPickedNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PickNearestObject )( 
            IRsViewHelper * This,
            /* [in] */ IRsNode *pViewNode,
            /* [in] */ RtPoint *screenPoint,
            /* [out] */ IRsNode **ppPickedNode,
            /* [out] */ RtUlong *pdwFaceHitIndex,
            /* [out] */ RtPoint *pPosition);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PickNearestObjectTranslated )( 
            IRsViewHelper * This,
            /* [in] */ IRsNode *pViewNode,
            /* [in] */ RtPoint *screenPoint,
            /* [out] */ IRsNode **ppPickedNode,
            /* [in] */ RtPoint *pIntersection);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRenderRoot )( 
            IRsViewHelper * This,
            /* [in] */ IRsNode *pViewNode,
            /* [retval][out] */ IRsNode **ppRootNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetOCTreeNode )( 
            IRsViewHelper * This,
            /* [in] */ IRsNode *pViewNode,
            /* [retval][out] */ IRsNode **ppTreeNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRay )( 
            IRsViewHelper * This,
            /* [in] */ IRsNode *pViewNode,
            /* [in] */ RtPoint *pPoint,
            /* [out] */ RtPoint *pPosition,
            /* [out] */ RtPoint *pDirection);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetVolumeTree )( 
            IRsViewHelper * This,
            /* [in] */ IRsNode *pViewNode,
            /* [in] */ IRnVolumeTree **pVolumeTree);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DisableInSceneOctree )( 
            IRsViewHelper * This,
            /* [in] */ IRsNode *pNode,
            /* [in] */ RtBool bDisable);
        
        END_INTERFACE
    } IRsViewHelperVtbl;

    interface IRsViewHelper
    {
        CONST_VTBL struct IRsViewHelperVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsViewHelper_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsViewHelper_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsViewHelper_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsViewHelper_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsViewHelper_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsViewHelper_GetActiveCamera(This,pViewNode,ppCameraNode)	\
    (This)->lpVtbl -> GetActiveCamera(This,pViewNode,ppCameraNode)

#define IRsViewHelper_SetActiveCamera(This,pViewNode,pNewCamera)	\
    (This)->lpVtbl -> SetActiveCamera(This,pViewNode,pNewCamera)

#define IRsViewHelper_PickObject(This,pViewNode,screenPoint,ppPickedNode)	\
    (This)->lpVtbl -> PickObject(This,pViewNode,screenPoint,ppPickedNode)

#define IRsViewHelper_PickSubObject(This,pViewNode,screenPoint,ppPickedNode)	\
    (This)->lpVtbl -> PickSubObject(This,pViewNode,screenPoint,ppPickedNode)

#define IRsViewHelper_PickNearestObject(This,pViewNode,screenPoint,ppPickedNode,pdwFaceHitIndex,pPosition)	\
    (This)->lpVtbl -> PickNearestObject(This,pViewNode,screenPoint,ppPickedNode,pdwFaceHitIndex,pPosition)

#define IRsViewHelper_PickNearestObjectTranslated(This,pViewNode,screenPoint,ppPickedNode,pIntersection)	\
    (This)->lpVtbl -> PickNearestObjectTranslated(This,pViewNode,screenPoint,ppPickedNode,pIntersection)

#define IRsViewHelper_GetRenderRoot(This,pViewNode,ppRootNode)	\
    (This)->lpVtbl -> GetRenderRoot(This,pViewNode,ppRootNode)

#define IRsViewHelper_GetOCTreeNode(This,pViewNode,ppTreeNode)	\
    (This)->lpVtbl -> GetOCTreeNode(This,pViewNode,ppTreeNode)

#define IRsViewHelper_GetRay(This,pViewNode,pPoint,pPosition,pDirection)	\
    (This)->lpVtbl -> GetRay(This,pViewNode,pPoint,pPosition,pDirection)

#define IRsViewHelper_GetVolumeTree(This,pViewNode,pVolumeTree)	\
    (This)->lpVtbl -> GetVolumeTree(This,pViewNode,pVolumeTree)

#define IRsViewHelper_DisableInSceneOctree(This,pNode,bDisable)	\
    (This)->lpVtbl -> DisableInSceneOctree(This,pNode,bDisable)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsViewHelper_GetActiveCamera_Proxy( 
    IRsViewHelper * This,
    /* [in] */ IRsNode *pViewNode,
    /* [retval][out] */ IRsNode **ppCameraNode);


void __RPC_STUB IRsViewHelper_GetActiveCamera_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsViewHelper_SetActiveCamera_Proxy( 
    IRsViewHelper * This,
    /* [in] */ IRsNode *pViewNode,
    /* [in] */ IRsNode *pNewCamera);


void __RPC_STUB IRsViewHelper_SetActiveCamera_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsViewHelper_PickObject_Proxy( 
    IRsViewHelper * This,
    /* [in] */ IRsNode *pViewNode,
    /* [in] */ RtPoint *screenPoint,
    /* [retval][out] */ IRsNode **ppPickedNode);


void __RPC_STUB IRsViewHelper_PickObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsViewHelper_PickSubObject_Proxy( 
    IRsViewHelper * This,
    /* [in] */ IRsNode *pViewNode,
    /* [in] */ RtPoint *screenPoint,
    /* [out] */ IRsNode **ppPickedNode);


void __RPC_STUB IRsViewHelper_PickSubObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsViewHelper_PickNearestObject_Proxy( 
    IRsViewHelper * This,
    /* [in] */ IRsNode *pViewNode,
    /* [in] */ RtPoint *screenPoint,
    /* [out] */ IRsNode **ppPickedNode,
    /* [out] */ RtUlong *pdwFaceHitIndex,
    /* [out] */ RtPoint *pPosition);


void __RPC_STUB IRsViewHelper_PickNearestObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsViewHelper_PickNearestObjectTranslated_Proxy( 
    IRsViewHelper * This,
    /* [in] */ IRsNode *pViewNode,
    /* [in] */ RtPoint *screenPoint,
    /* [out] */ IRsNode **ppPickedNode,
    /* [in] */ RtPoint *pIntersection);


void __RPC_STUB IRsViewHelper_PickNearestObjectTranslated_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsViewHelper_GetRenderRoot_Proxy( 
    IRsViewHelper * This,
    /* [in] */ IRsNode *pViewNode,
    /* [retval][out] */ IRsNode **ppRootNode);


void __RPC_STUB IRsViewHelper_GetRenderRoot_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsViewHelper_GetOCTreeNode_Proxy( 
    IRsViewHelper * This,
    /* [in] */ IRsNode *pViewNode,
    /* [retval][out] */ IRsNode **ppTreeNode);


void __RPC_STUB IRsViewHelper_GetOCTreeNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsViewHelper_GetRay_Proxy( 
    IRsViewHelper * This,
    /* [in] */ IRsNode *pViewNode,
    /* [in] */ RtPoint *pPoint,
    /* [out] */ RtPoint *pPosition,
    /* [out] */ RtPoint *pDirection);


void __RPC_STUB IRsViewHelper_GetRay_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsViewHelper_GetVolumeTree_Proxy( 
    IRsViewHelper * This,
    /* [in] */ IRsNode *pViewNode,
    /* [in] */ IRnVolumeTree **pVolumeTree);


void __RPC_STUB IRsViewHelper_GetVolumeTree_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsViewHelper_DisableInSceneOctree_Proxy( 
    IRsViewHelper * This,
    /* [in] */ IRsNode *pNode,
    /* [in] */ RtBool bDisable);


void __RPC_STUB IRsViewHelper_DisableInSceneOctree_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsViewHelper_INTERFACE_DEFINED__ */


#ifndef __IRsRenderAttributesOverride_INTERFACE_DEFINED__
#define __IRsRenderAttributesOverride_INTERFACE_DEFINED__

/* interface IRsRenderAttributesOverride */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsRenderAttributesOverride;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D08D0784-EAF8-4e13-BA9D-6B2C1A80B556")
    IRsRenderAttributesOverride : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveRenderingAttributesOverride( 
            /* [in] */ GUID pId,
            /* [in] */ IRsNode *pObject) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveRenderingAttributesOverrideAll( 
            /* [in] */ GUID pId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InsertRenderingAttributesOverride( 
            /* [in] */ GUID Id,
            /* [in] */ enum ReD3DExtraRenderAttributesSettingsMode inMode,
            /* [in] */ DWORD dwReplaceFlags,
            /* [in] */ DWORD dwCombineFlags,
            /* [in] */ IRsNode *pObject,
            /* [in] */ IRdRenderAttributes *pAttributes) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsRenderAttributesOverrideVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsRenderAttributesOverride * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsRenderAttributesOverride * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsRenderAttributesOverride * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsRenderAttributesOverride * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsRenderAttributesOverride * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveRenderingAttributesOverride )( 
            IRsRenderAttributesOverride * This,
            /* [in] */ GUID pId,
            /* [in] */ IRsNode *pObject);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveRenderingAttributesOverrideAll )( 
            IRsRenderAttributesOverride * This,
            /* [in] */ GUID pId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InsertRenderingAttributesOverride )( 
            IRsRenderAttributesOverride * This,
            /* [in] */ GUID Id,
            /* [in] */ enum ReD3DExtraRenderAttributesSettingsMode inMode,
            /* [in] */ DWORD dwReplaceFlags,
            /* [in] */ DWORD dwCombineFlags,
            /* [in] */ IRsNode *pObject,
            /* [in] */ IRdRenderAttributes *pAttributes);
        
        END_INTERFACE
    } IRsRenderAttributesOverrideVtbl;

    interface IRsRenderAttributesOverride
    {
        CONST_VTBL struct IRsRenderAttributesOverrideVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsRenderAttributesOverride_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsRenderAttributesOverride_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsRenderAttributesOverride_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsRenderAttributesOverride_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsRenderAttributesOverride_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsRenderAttributesOverride_RemoveRenderingAttributesOverride(This,pId,pObject)	\
    (This)->lpVtbl -> RemoveRenderingAttributesOverride(This,pId,pObject)

#define IRsRenderAttributesOverride_RemoveRenderingAttributesOverrideAll(This,pId)	\
    (This)->lpVtbl -> RemoveRenderingAttributesOverrideAll(This,pId)

#define IRsRenderAttributesOverride_InsertRenderingAttributesOverride(This,Id,inMode,dwReplaceFlags,dwCombineFlags,pObject,pAttributes)	\
    (This)->lpVtbl -> InsertRenderingAttributesOverride(This,Id,inMode,dwReplaceFlags,dwCombineFlags,pObject,pAttributes)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRenderAttributesOverride_RemoveRenderingAttributesOverride_Proxy( 
    IRsRenderAttributesOverride * This,
    /* [in] */ GUID pId,
    /* [in] */ IRsNode *pObject);


void __RPC_STUB IRsRenderAttributesOverride_RemoveRenderingAttributesOverride_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRenderAttributesOverride_RemoveRenderingAttributesOverrideAll_Proxy( 
    IRsRenderAttributesOverride * This,
    /* [in] */ GUID pId);


void __RPC_STUB IRsRenderAttributesOverride_RemoveRenderingAttributesOverrideAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRenderAttributesOverride_InsertRenderingAttributesOverride_Proxy( 
    IRsRenderAttributesOverride * This,
    /* [in] */ GUID Id,
    /* [in] */ enum ReD3DExtraRenderAttributesSettingsMode inMode,
    /* [in] */ DWORD dwReplaceFlags,
    /* [in] */ DWORD dwCombineFlags,
    /* [in] */ IRsNode *pObject,
    /* [in] */ IRdRenderAttributes *pAttributes);


void __RPC_STUB IRsRenderAttributesOverride_InsertRenderingAttributesOverride_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsRenderAttributesOverride_INTERFACE_DEFINED__ */


#ifndef __IRpView3D_INTERFACE_DEFINED__
#define __IRpView3D_INTERFACE_DEFINED__

/* interface IRpView3D */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRpView3D;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("778FDAB9-17F7-4D41-8835-65466BA9407E")
    IRpView3D : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateViewHelper( 
            /* [retval][out] */ IRsViewHelper **spHelper) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Render3DObject( 
            /* [in] */ IRsNode *pObjectRoot,
            /* [in] */ RtBool bUseAsSingleObject,
            /* [in] */ IRsNode *pCameraNode,
            /* [in] */ RtBool bUseOnlyCameraDirection,
            /* [in] */ IRsNode *pLightRoot,
            /* [in] */ RtBool bUseLightAsSingleObject,
            /* [in] */ RtDWORD dwWidth,
            /* [in] */ RtDWORD dwHeight,
            /* [in] */ RtBool bSuperSample,
            /* [in] */ COLORREF dwBackgroundColor,
            /* [retval][out] */ IRdBitmap **pImage) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsRenderableObject( 
            /* [in] */ IRsBaseNode *pObject) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsLight( 
            /* [in] */ IRsBaseNode *pObject) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsCamera( 
            /* [in] */ IRsBaseNode *pObject) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRenderAttributesOverrideManager( 
            /* [retval][out] */ IRsRenderAttributesOverride **spHelper) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRpView3DVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRpView3D * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRpView3D * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRpView3D * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRpView3D * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRpView3D * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateViewHelper )( 
            IRpView3D * This,
            /* [retval][out] */ IRsViewHelper **spHelper);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Render3DObject )( 
            IRpView3D * This,
            /* [in] */ IRsNode *pObjectRoot,
            /* [in] */ RtBool bUseAsSingleObject,
            /* [in] */ IRsNode *pCameraNode,
            /* [in] */ RtBool bUseOnlyCameraDirection,
            /* [in] */ IRsNode *pLightRoot,
            /* [in] */ RtBool bUseLightAsSingleObject,
            /* [in] */ RtDWORD dwWidth,
            /* [in] */ RtDWORD dwHeight,
            /* [in] */ RtBool bSuperSample,
            /* [in] */ COLORREF dwBackgroundColor,
            /* [retval][out] */ IRdBitmap **pImage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsRenderableObject )( 
            IRpView3D * This,
            /* [in] */ IRsBaseNode *pObject);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsLight )( 
            IRpView3D * This,
            /* [in] */ IRsBaseNode *pObject);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsCamera )( 
            IRpView3D * This,
            /* [in] */ IRsBaseNode *pObject);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRenderAttributesOverrideManager )( 
            IRpView3D * This,
            /* [retval][out] */ IRsRenderAttributesOverride **spHelper);
        
        END_INTERFACE
    } IRpView3DVtbl;

    interface IRpView3D
    {
        CONST_VTBL struct IRpView3DVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRpView3D_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRpView3D_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRpView3D_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRpView3D_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRpView3D_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRpView3D_CreateViewHelper(This,spHelper)	\
    (This)->lpVtbl -> CreateViewHelper(This,spHelper)

#define IRpView3D_Render3DObject(This,pObjectRoot,bUseAsSingleObject,pCameraNode,bUseOnlyCameraDirection,pLightRoot,bUseLightAsSingleObject,dwWidth,dwHeight,bSuperSample,dwBackgroundColor,pImage)	\
    (This)->lpVtbl -> Render3DObject(This,pObjectRoot,bUseAsSingleObject,pCameraNode,bUseOnlyCameraDirection,pLightRoot,bUseLightAsSingleObject,dwWidth,dwHeight,bSuperSample,dwBackgroundColor,pImage)

#define IRpView3D_IsRenderableObject(This,pObject)	\
    (This)->lpVtbl -> IsRenderableObject(This,pObject)

#define IRpView3D_IsLight(This,pObject)	\
    (This)->lpVtbl -> IsLight(This,pObject)

#define IRpView3D_IsCamera(This,pObject)	\
    (This)->lpVtbl -> IsCamera(This,pObject)

#define IRpView3D_GetRenderAttributesOverrideManager(This,spHelper)	\
    (This)->lpVtbl -> GetRenderAttributesOverrideManager(This,spHelper)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpView3D_CreateViewHelper_Proxy( 
    IRpView3D * This,
    /* [retval][out] */ IRsViewHelper **spHelper);


void __RPC_STUB IRpView3D_CreateViewHelper_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpView3D_Render3DObject_Proxy( 
    IRpView3D * This,
    /* [in] */ IRsNode *pObjectRoot,
    /* [in] */ RtBool bUseAsSingleObject,
    /* [in] */ IRsNode *pCameraNode,
    /* [in] */ RtBool bUseOnlyCameraDirection,
    /* [in] */ IRsNode *pLightRoot,
    /* [in] */ RtBool bUseLightAsSingleObject,
    /* [in] */ RtDWORD dwWidth,
    /* [in] */ RtDWORD dwHeight,
    /* [in] */ RtBool bSuperSample,
    /* [in] */ COLORREF dwBackgroundColor,
    /* [retval][out] */ IRdBitmap **pImage);


void __RPC_STUB IRpView3D_Render3DObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpView3D_IsRenderableObject_Proxy( 
    IRpView3D * This,
    /* [in] */ IRsBaseNode *pObject);


void __RPC_STUB IRpView3D_IsRenderableObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpView3D_IsLight_Proxy( 
    IRpView3D * This,
    /* [in] */ IRsBaseNode *pObject);


void __RPC_STUB IRpView3D_IsLight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpView3D_IsCamera_Proxy( 
    IRpView3D * This,
    /* [in] */ IRsBaseNode *pObject);


void __RPC_STUB IRpView3D_IsCamera_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpView3D_GetRenderAttributesOverrideManager_Proxy( 
    IRpView3D * This,
    /* [retval][out] */ IRsRenderAttributesOverride **spHelper);


void __RPC_STUB IRpView3D_GetRenderAttributesOverrideManager_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRpView3D_INTERFACE_DEFINED__ */


#ifndef __IRdD3DCamera_INTERFACE_DEFINED__
#define __IRdD3DCamera_INTERFACE_DEFINED__

/* interface IRdD3DCamera */
/* [object][unique][helpstring][uuid][dual] */ 


EXTERN_C const IID IID_IRdD3DCamera;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9C489D32-DBD7-46F8-A3FC-022E4CFEA00C")
    IRdD3DCamera : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CameraType( 
            /* [retval][out] */ RtUlong *Type) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_CameraType( 
            /* [in] */ RtUlong Type) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_FOV( 
            /* [retval][out] */ RtFloat *Fov) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_FOV( 
            /* [in] */ RtFloat Fov) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ClippingNear( 
            /* [retval][out] */ RtFloat *ClippingNear) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ClippingNear( 
            /* [in] */ RtFloat ClippingNear) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ClippingFar( 
            /* [retval][out] */ RtFloat *ClippingFar) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ClippingFar( 
            /* [in] */ RtFloat ClippingFar) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_FocusDistance( 
            /* [retval][out] */ RtFloat *FocusDistance) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_FocusDistance( 
            /* [in] */ RtFloat FocusDistance) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AspectRatio( 
            /* [retval][out] */ RtFloat *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_AspectRatio( 
            /* [in] */ RtFloat newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdD3DCameraVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdD3DCamera * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdD3DCamera * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdD3DCamera * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRdD3DCamera * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRdD3DCamera * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRdD3DCamera * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRdD3DCamera * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdD3DCamera * This);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CameraType )( 
            IRdD3DCamera * This,
            /* [retval][out] */ RtUlong *Type);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CameraType )( 
            IRdD3DCamera * This,
            /* [in] */ RtUlong Type);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FOV )( 
            IRdD3DCamera * This,
            /* [retval][out] */ RtFloat *Fov);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FOV )( 
            IRdD3DCamera * This,
            /* [in] */ RtFloat Fov);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClippingNear )( 
            IRdD3DCamera * This,
            /* [retval][out] */ RtFloat *ClippingNear);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClippingNear )( 
            IRdD3DCamera * This,
            /* [in] */ RtFloat ClippingNear);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClippingFar )( 
            IRdD3DCamera * This,
            /* [retval][out] */ RtFloat *ClippingFar);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClippingFar )( 
            IRdD3DCamera * This,
            /* [in] */ RtFloat ClippingFar);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FocusDistance )( 
            IRdD3DCamera * This,
            /* [retval][out] */ RtFloat *FocusDistance);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FocusDistance )( 
            IRdD3DCamera * This,
            /* [in] */ RtFloat FocusDistance);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AspectRatio )( 
            IRdD3DCamera * This,
            /* [retval][out] */ RtFloat *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AspectRatio )( 
            IRdD3DCamera * This,
            /* [in] */ RtFloat newVal);
        
        END_INTERFACE
    } IRdD3DCameraVtbl;

    interface IRdD3DCamera
    {
        CONST_VTBL struct IRdD3DCameraVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdD3DCamera_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdD3DCamera_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdD3DCamera_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdD3DCamera_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IRdD3DCamera_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IRdD3DCamera_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IRdD3DCamera_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IRdD3DCamera_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdD3DCamera_get_CameraType(This,Type)	\
    (This)->lpVtbl -> get_CameraType(This,Type)

#define IRdD3DCamera_put_CameraType(This,Type)	\
    (This)->lpVtbl -> put_CameraType(This,Type)

#define IRdD3DCamera_get_FOV(This,Fov)	\
    (This)->lpVtbl -> get_FOV(This,Fov)

#define IRdD3DCamera_put_FOV(This,Fov)	\
    (This)->lpVtbl -> put_FOV(This,Fov)

#define IRdD3DCamera_get_ClippingNear(This,ClippingNear)	\
    (This)->lpVtbl -> get_ClippingNear(This,ClippingNear)

#define IRdD3DCamera_put_ClippingNear(This,ClippingNear)	\
    (This)->lpVtbl -> put_ClippingNear(This,ClippingNear)

#define IRdD3DCamera_get_ClippingFar(This,ClippingFar)	\
    (This)->lpVtbl -> get_ClippingFar(This,ClippingFar)

#define IRdD3DCamera_put_ClippingFar(This,ClippingFar)	\
    (This)->lpVtbl -> put_ClippingFar(This,ClippingFar)

#define IRdD3DCamera_get_FocusDistance(This,FocusDistance)	\
    (This)->lpVtbl -> get_FocusDistance(This,FocusDistance)

#define IRdD3DCamera_put_FocusDistance(This,FocusDistance)	\
    (This)->lpVtbl -> put_FocusDistance(This,FocusDistance)

#define IRdD3DCamera_get_AspectRatio(This,pVal)	\
    (This)->lpVtbl -> get_AspectRatio(This,pVal)

#define IRdD3DCamera_put_AspectRatio(This,newVal)	\
    (This)->lpVtbl -> put_AspectRatio(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRdD3DCamera_Clear_Proxy( 
    IRdD3DCamera * This);


void __RPC_STUB IRdD3DCamera_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRdD3DCamera_get_CameraType_Proxy( 
    IRdD3DCamera * This,
    /* [retval][out] */ RtUlong *Type);


void __RPC_STUB IRdD3DCamera_get_CameraType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IRdD3DCamera_put_CameraType_Proxy( 
    IRdD3DCamera * This,
    /* [in] */ RtUlong Type);


void __RPC_STUB IRdD3DCamera_put_CameraType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRdD3DCamera_get_FOV_Proxy( 
    IRdD3DCamera * This,
    /* [retval][out] */ RtFloat *Fov);


void __RPC_STUB IRdD3DCamera_get_FOV_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IRdD3DCamera_put_FOV_Proxy( 
    IRdD3DCamera * This,
    /* [in] */ RtFloat Fov);


void __RPC_STUB IRdD3DCamera_put_FOV_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRdD3DCamera_get_ClippingNear_Proxy( 
    IRdD3DCamera * This,
    /* [retval][out] */ RtFloat *ClippingNear);


void __RPC_STUB IRdD3DCamera_get_ClippingNear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IRdD3DCamera_put_ClippingNear_Proxy( 
    IRdD3DCamera * This,
    /* [in] */ RtFloat ClippingNear);


void __RPC_STUB IRdD3DCamera_put_ClippingNear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRdD3DCamera_get_ClippingFar_Proxy( 
    IRdD3DCamera * This,
    /* [retval][out] */ RtFloat *ClippingFar);


void __RPC_STUB IRdD3DCamera_get_ClippingFar_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IRdD3DCamera_put_ClippingFar_Proxy( 
    IRdD3DCamera * This,
    /* [in] */ RtFloat ClippingFar);


void __RPC_STUB IRdD3DCamera_put_ClippingFar_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRdD3DCamera_get_FocusDistance_Proxy( 
    IRdD3DCamera * This,
    /* [retval][out] */ RtFloat *FocusDistance);


void __RPC_STUB IRdD3DCamera_get_FocusDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IRdD3DCamera_put_FocusDistance_Proxy( 
    IRdD3DCamera * This,
    /* [in] */ RtFloat FocusDistance);


void __RPC_STUB IRdD3DCamera_put_FocusDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRdD3DCamera_get_AspectRatio_Proxy( 
    IRdD3DCamera * This,
    /* [retval][out] */ RtFloat *pVal);


void __RPC_STUB IRdD3DCamera_get_AspectRatio_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IRdD3DCamera_put_AspectRatio_Proxy( 
    IRdD3DCamera * This,
    /* [in] */ RtFloat newVal);


void __RPC_STUB IRdD3DCamera_put_AspectRatio_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdD3DCamera_INTERFACE_DEFINED__ */


#ifndef __IRnD3DMeshCache_INTERFACE_DEFINED__
#define __IRnD3DMeshCache_INTERFACE_DEFINED__

/* interface IRnD3DMeshCache */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnD3DMeshCache;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("41F533AD-FC6C-4CA3-9E4C-408111C50628")
    IRnD3DMeshCache : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnD3DMeshCacheVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnD3DMeshCache * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnD3DMeshCache * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnD3DMeshCache * This);
        
        END_INTERFACE
    } IRnD3DMeshCacheVtbl;

    interface IRnD3DMeshCache
    {
        CONST_VTBL struct IRnD3DMeshCacheVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnD3DMeshCache_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnD3DMeshCache_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnD3DMeshCache_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnD3DMeshCache_INTERFACE_DEFINED__ */


#ifndef __IRnD3DCameraCache_INTERFACE_DEFINED__
#define __IRnD3DCameraCache_INTERFACE_DEFINED__

/* interface IRnD3DCameraCache */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnD3DCameraCache;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CBACE562-BE18-4745-80A5-66246A1BF79C")
    IRnD3DCameraCache : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnD3DCameraCacheVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnD3DCameraCache * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnD3DCameraCache * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnD3DCameraCache * This);
        
        END_INTERFACE
    } IRnD3DCameraCacheVtbl;

    interface IRnD3DCameraCache
    {
        CONST_VTBL struct IRnD3DCameraCacheVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnD3DCameraCache_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnD3DCameraCache_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnD3DCameraCache_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnD3DCameraCache_INTERFACE_DEFINED__ */


#ifndef __IRdD3DTexture2D_INTERFACE_DEFINED__
#define __IRdD3DTexture2D_INTERFACE_DEFINED__

/* interface IRdD3DTexture2D */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdD3DTexture2D;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("648272E9-880E-4df4-BD4F-E005F56B07AA")
    IRdD3DTexture2D : public IRsDataObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetID( 
            /* [out] */ RtDWORD *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetID( 
            /* [in] */ RtDWORD pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdD3DTexture2DVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdD3DTexture2D * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdD3DTexture2D * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdD3DTexture2D * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdD3DTexture2D * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdD3DTexture2D * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdD3DTexture2D * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdD3DTexture2D * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetID )( 
            IRdD3DTexture2D * This,
            /* [out] */ RtDWORD *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetID )( 
            IRdD3DTexture2D * This,
            /* [in] */ RtDWORD pVal);
        
        END_INTERFACE
    } IRdD3DTexture2DVtbl;

    interface IRdD3DTexture2D
    {
        CONST_VTBL struct IRdD3DTexture2DVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdD3DTexture2D_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdD3DTexture2D_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdD3DTexture2D_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdD3DTexture2D_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdD3DTexture2D_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdD3DTexture2D_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdD3DTexture2D_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdD3DTexture2D_GetID(This,pVal)	\
    (This)->lpVtbl -> GetID(This,pVal)

#define IRdD3DTexture2D_SetID(This,pVal)	\
    (This)->lpVtbl -> SetID(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DTexture2D_Clear_Proxy( 
    IRdD3DTexture2D * This);


void __RPC_STUB IRdD3DTexture2D_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DTexture2D_GetID_Proxy( 
    IRdD3DTexture2D * This,
    /* [out] */ RtDWORD *pVal);


void __RPC_STUB IRdD3DTexture2D_GetID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DTexture2D_SetID_Proxy( 
    IRdD3DTexture2D * This,
    /* [in] */ RtDWORD pVal);


void __RPC_STUB IRdD3DTexture2D_SetID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdD3DTexture2D_INTERFACE_DEFINED__ */


#ifndef __IRcCreateD3DRenderer_INTERFACE_DEFINED__
#define __IRcCreateD3DRenderer_INTERFACE_DEFINED__

/* interface IRcCreateD3DRenderer */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcCreateD3DRenderer;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("637047CD-B2DE-4B79-A4A4-7A28D0706BA9")
    IRcCreateD3DRenderer : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcCreateD3DRendererVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcCreateD3DRenderer * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcCreateD3DRenderer * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcCreateD3DRenderer * This);
        
        END_INTERFACE
    } IRcCreateD3DRendererVtbl;

    interface IRcCreateD3DRenderer
    {
        CONST_VTBL struct IRcCreateD3DRendererVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcCreateD3DRenderer_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcCreateD3DRenderer_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcCreateD3DRenderer_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcCreateD3DRenderer_INTERFACE_DEFINED__ */


#ifndef __IRdD3DRenderTarget_INTERFACE_DEFINED__
#define __IRdD3DRenderTarget_INTERFACE_DEFINED__

/* interface IRdD3DRenderTarget */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdD3DRenderTarget;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30681305-4896-44ed-9B1F-C77EF06CD020")
    IRdD3DRenderTarget : public IRdRenderTarget
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTargetID( 
            /* [out] */ RtDWORD *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetTargetID( 
            /* [in] */ RtDWORD pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTextureID( 
            /* [out] */ RtDWORD *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetTextureID( 
            /* [in] */ RtDWORD pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdD3DRenderTargetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdD3DRenderTarget * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdD3DRenderTarget * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdD3DRenderTarget * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdD3DRenderTarget * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdD3DRenderTarget * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdD3DRenderTarget * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdD3DRenderTarget * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GatherInfo )( 
            IRdD3DRenderTarget * This,
            /* [in] */ struct RtRenderTargetInfo *pOutInfo);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLayerInfo )( 
            IRdD3DRenderTarget * This,
            /* [in] */ RtDWORD dwLayer,
            /* [in] */ struct RtLayerInfo *pOutInfo);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTargetID )( 
            IRdD3DRenderTarget * This,
            /* [out] */ RtDWORD *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetTargetID )( 
            IRdD3DRenderTarget * This,
            /* [in] */ RtDWORD pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTextureID )( 
            IRdD3DRenderTarget * This,
            /* [out] */ RtDWORD *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetTextureID )( 
            IRdD3DRenderTarget * This,
            /* [in] */ RtDWORD pVal);
        
        END_INTERFACE
    } IRdD3DRenderTargetVtbl;

    interface IRdD3DRenderTarget
    {
        CONST_VTBL struct IRdD3DRenderTargetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdD3DRenderTarget_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdD3DRenderTarget_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdD3DRenderTarget_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdD3DRenderTarget_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdD3DRenderTarget_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdD3DRenderTarget_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdD3DRenderTarget_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdD3DRenderTarget_GatherInfo(This,pOutInfo)	\
    (This)->lpVtbl -> GatherInfo(This,pOutInfo)

#define IRdD3DRenderTarget_GetLayerInfo(This,dwLayer,pOutInfo)	\
    (This)->lpVtbl -> GetLayerInfo(This,dwLayer,pOutInfo)


#define IRdD3DRenderTarget_GetTargetID(This,pVal)	\
    (This)->lpVtbl -> GetTargetID(This,pVal)

#define IRdD3DRenderTarget_SetTargetID(This,pVal)	\
    (This)->lpVtbl -> SetTargetID(This,pVal)

#define IRdD3DRenderTarget_GetTextureID(This,pVal)	\
    (This)->lpVtbl -> GetTextureID(This,pVal)

#define IRdD3DRenderTarget_SetTextureID(This,pVal)	\
    (This)->lpVtbl -> SetTextureID(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DRenderTarget_GetTargetID_Proxy( 
    IRdD3DRenderTarget * This,
    /* [out] */ RtDWORD *pVal);


void __RPC_STUB IRdD3DRenderTarget_GetTargetID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DRenderTarget_SetTargetID_Proxy( 
    IRdD3DRenderTarget * This,
    /* [in] */ RtDWORD pVal);


void __RPC_STUB IRdD3DRenderTarget_SetTargetID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DRenderTarget_GetTextureID_Proxy( 
    IRdD3DRenderTarget * This,
    /* [out] */ RtDWORD *pVal);


void __RPC_STUB IRdD3DRenderTarget_GetTextureID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DRenderTarget_SetTextureID_Proxy( 
    IRdD3DRenderTarget * This,
    /* [in] */ RtDWORD pVal);


void __RPC_STUB IRdD3DRenderTarget_SetTextureID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdD3DRenderTarget_INTERFACE_DEFINED__ */


#ifndef __IRcD3DApplyMaterial_INTERFACE_DEFINED__
#define __IRcD3DApplyMaterial_INTERFACE_DEFINED__

/* interface IRcD3DApplyMaterial */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcD3DApplyMaterial;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3AE3CBE6-35B5-44b5-A376-AADFF7132268")
    IRcD3DApplyMaterial : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDirectNode( 
            /* [in] */ IRsNode *pNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRcD3DApplyMaterialVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcD3DApplyMaterial * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcD3DApplyMaterial * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcD3DApplyMaterial * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDirectNode )( 
            IRcD3DApplyMaterial * This,
            /* [in] */ IRsNode *pNode);
        
        END_INTERFACE
    } IRcD3DApplyMaterialVtbl;

    interface IRcD3DApplyMaterial
    {
        CONST_VTBL struct IRcD3DApplyMaterialVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcD3DApplyMaterial_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcD3DApplyMaterial_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcD3DApplyMaterial_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRcD3DApplyMaterial_SetDirectNode(This,pNode)	\
    (This)->lpVtbl -> SetDirectNode(This,pNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRcD3DApplyMaterial_SetDirectNode_Proxy( 
    IRcD3DApplyMaterial * This,
    /* [in] */ IRsNode *pNode);


void __RPC_STUB IRcD3DApplyMaterial_SetDirectNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRcD3DApplyMaterial_INTERFACE_DEFINED__ */


#ifndef __IRsD3DWindowedRT_INTERFACE_DEFINED__
#define __IRsD3DWindowedRT_INTERFACE_DEFINED__

/* interface IRsD3DWindowedRT */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsD3DWindowedRT;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9F9C2E7D-26A6-400E-8B8D-0D64AF95401B")
    IRsD3DWindowedRT : public IUnknown
    {
    public:
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ViewNode( 
            /* [in] */ IRsViewNode *newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDisabledText( 
            /* [in] */ BSTR Text) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetCursorForClass( 
            /* [in] */ HCURSOR Cursor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetCursor( 
            /* [in] */ HCURSOR Cursor) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsD3DWindowedRTVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsD3DWindowedRT * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsD3DWindowedRT * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsD3DWindowedRT * This);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ViewNode )( 
            IRsD3DWindowedRT * This,
            /* [in] */ IRsViewNode *newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDisabledText )( 
            IRsD3DWindowedRT * This,
            /* [in] */ BSTR Text);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetCursorForClass )( 
            IRsD3DWindowedRT * This,
            /* [in] */ HCURSOR Cursor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetCursor )( 
            IRsD3DWindowedRT * This,
            /* [in] */ HCURSOR Cursor);
        
        END_INTERFACE
    } IRsD3DWindowedRTVtbl;

    interface IRsD3DWindowedRT
    {
        CONST_VTBL struct IRsD3DWindowedRTVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsD3DWindowedRT_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsD3DWindowedRT_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsD3DWindowedRT_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsD3DWindowedRT_put_ViewNode(This,newVal)	\
    (This)->lpVtbl -> put_ViewNode(This,newVal)

#define IRsD3DWindowedRT_SetDisabledText(This,Text)	\
    (This)->lpVtbl -> SetDisabledText(This,Text)

#define IRsD3DWindowedRT_SetCursorForClass(This,Cursor)	\
    (This)->lpVtbl -> SetCursorForClass(This,Cursor)

#define IRsD3DWindowedRT_SetCursor(This,Cursor)	\
    (This)->lpVtbl -> SetCursor(This,Cursor)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsD3DWindowedRT_put_ViewNode_Proxy( 
    IRsD3DWindowedRT * This,
    /* [in] */ IRsViewNode *newVal);


void __RPC_STUB IRsD3DWindowedRT_put_ViewNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsD3DWindowedRT_SetDisabledText_Proxy( 
    IRsD3DWindowedRT * This,
    /* [in] */ BSTR Text);


void __RPC_STUB IRsD3DWindowedRT_SetDisabledText_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsD3DWindowedRT_SetCursorForClass_Proxy( 
    IRsD3DWindowedRT * This,
    /* [in] */ HCURSOR Cursor);


void __RPC_STUB IRsD3DWindowedRT_SetCursorForClass_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsD3DWindowedRT_SetCursor_Proxy( 
    IRsD3DWindowedRT * This,
    /* [in] */ HCURSOR Cursor);


void __RPC_STUB IRsD3DWindowedRT_SetCursor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsD3DWindowedRT_INTERFACE_DEFINED__ */


#ifndef __IRdD3DPostProcessingSetup_INTERFACE_DEFINED__
#define __IRdD3DPostProcessingSetup_INTERFACE_DEFINED__

/* interface IRdD3DPostProcessingSetup */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdD3DPostProcessingSetup;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D8481BA0-21B9-4938-999A-241520870050")
    IRdD3DPostProcessingSetup : public IRsDataObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetEnableSuperSample( 
            /* [in] */ BOOL Val) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetEnableSuperSample( 
            /* [out] */ BOOL *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetEnableGlow( 
            /* [in] */ BOOL Val) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetEnableGlow( 
            /* [out] */ BOOL *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetHighlightThreshold( 
            /* [in] */ float Val) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetHighlightThreshold( 
            /* [out] */ float *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetSceneIntensity( 
            /* [in] */ float Val) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSceneIntensity( 
            /* [out] */ float *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetBloomIntensity( 
            /* [in] */ float Val) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBloomIntensity( 
            /* [out] */ float *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetHighlightIntensity( 
            /* [in] */ float Val) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetHighlightIntensity( 
            /* [out] */ float *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetGlowQuality( 
            /* [in] */ DWORD Val) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetGlowQuality( 
            /* [out] */ DWORD *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetGlowDownsample( 
            /* [in] */ DWORD Val) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetGlowDownsample( 
            /* [out] */ DWORD *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdD3DPostProcessingSetupVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdD3DPostProcessingSetup * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdD3DPostProcessingSetup * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdD3DPostProcessingSetup * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdD3DPostProcessingSetup * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdD3DPostProcessingSetup * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdD3DPostProcessingSetup * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetEnableSuperSample )( 
            IRdD3DPostProcessingSetup * This,
            /* [in] */ BOOL Val);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetEnableSuperSample )( 
            IRdD3DPostProcessingSetup * This,
            /* [out] */ BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetEnableGlow )( 
            IRdD3DPostProcessingSetup * This,
            /* [in] */ BOOL Val);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetEnableGlow )( 
            IRdD3DPostProcessingSetup * This,
            /* [out] */ BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetHighlightThreshold )( 
            IRdD3DPostProcessingSetup * This,
            /* [in] */ float Val);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetHighlightThreshold )( 
            IRdD3DPostProcessingSetup * This,
            /* [out] */ float *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetSceneIntensity )( 
            IRdD3DPostProcessingSetup * This,
            /* [in] */ float Val);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSceneIntensity )( 
            IRdD3DPostProcessingSetup * This,
            /* [out] */ float *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetBloomIntensity )( 
            IRdD3DPostProcessingSetup * This,
            /* [in] */ float Val);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBloomIntensity )( 
            IRdD3DPostProcessingSetup * This,
            /* [out] */ float *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetHighlightIntensity )( 
            IRdD3DPostProcessingSetup * This,
            /* [in] */ float Val);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetHighlightIntensity )( 
            IRdD3DPostProcessingSetup * This,
            /* [out] */ float *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetGlowQuality )( 
            IRdD3DPostProcessingSetup * This,
            /* [in] */ DWORD Val);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetGlowQuality )( 
            IRdD3DPostProcessingSetup * This,
            /* [out] */ DWORD *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetGlowDownsample )( 
            IRdD3DPostProcessingSetup * This,
            /* [in] */ DWORD Val);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetGlowDownsample )( 
            IRdD3DPostProcessingSetup * This,
            /* [out] */ DWORD *pVal);
        
        END_INTERFACE
    } IRdD3DPostProcessingSetupVtbl;

    interface IRdD3DPostProcessingSetup
    {
        CONST_VTBL struct IRdD3DPostProcessingSetupVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdD3DPostProcessingSetup_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdD3DPostProcessingSetup_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdD3DPostProcessingSetup_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdD3DPostProcessingSetup_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdD3DPostProcessingSetup_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdD3DPostProcessingSetup_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdD3DPostProcessingSetup_SetEnableSuperSample(This,Val)	\
    (This)->lpVtbl -> SetEnableSuperSample(This,Val)

#define IRdD3DPostProcessingSetup_GetEnableSuperSample(This,pVal)	\
    (This)->lpVtbl -> GetEnableSuperSample(This,pVal)

#define IRdD3DPostProcessingSetup_SetEnableGlow(This,Val)	\
    (This)->lpVtbl -> SetEnableGlow(This,Val)

#define IRdD3DPostProcessingSetup_GetEnableGlow(This,pVal)	\
    (This)->lpVtbl -> GetEnableGlow(This,pVal)

#define IRdD3DPostProcessingSetup_SetHighlightThreshold(This,Val)	\
    (This)->lpVtbl -> SetHighlightThreshold(This,Val)

#define IRdD3DPostProcessingSetup_GetHighlightThreshold(This,pVal)	\
    (This)->lpVtbl -> GetHighlightThreshold(This,pVal)

#define IRdD3DPostProcessingSetup_SetSceneIntensity(This,Val)	\
    (This)->lpVtbl -> SetSceneIntensity(This,Val)

#define IRdD3DPostProcessingSetup_GetSceneIntensity(This,pVal)	\
    (This)->lpVtbl -> GetSceneIntensity(This,pVal)

#define IRdD3DPostProcessingSetup_SetBloomIntensity(This,Val)	\
    (This)->lpVtbl -> SetBloomIntensity(This,Val)

#define IRdD3DPostProcessingSetup_GetBloomIntensity(This,pVal)	\
    (This)->lpVtbl -> GetBloomIntensity(This,pVal)

#define IRdD3DPostProcessingSetup_SetHighlightIntensity(This,Val)	\
    (This)->lpVtbl -> SetHighlightIntensity(This,Val)

#define IRdD3DPostProcessingSetup_GetHighlightIntensity(This,pVal)	\
    (This)->lpVtbl -> GetHighlightIntensity(This,pVal)

#define IRdD3DPostProcessingSetup_SetGlowQuality(This,Val)	\
    (This)->lpVtbl -> SetGlowQuality(This,Val)

#define IRdD3DPostProcessingSetup_GetGlowQuality(This,pVal)	\
    (This)->lpVtbl -> GetGlowQuality(This,pVal)

#define IRdD3DPostProcessingSetup_SetGlowDownsample(This,Val)	\
    (This)->lpVtbl -> SetGlowDownsample(This,Val)

#define IRdD3DPostProcessingSetup_GetGlowDownsample(This,pVal)	\
    (This)->lpVtbl -> GetGlowDownsample(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DPostProcessingSetup_SetEnableSuperSample_Proxy( 
    IRdD3DPostProcessingSetup * This,
    /* [in] */ BOOL Val);


void __RPC_STUB IRdD3DPostProcessingSetup_SetEnableSuperSample_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DPostProcessingSetup_GetEnableSuperSample_Proxy( 
    IRdD3DPostProcessingSetup * This,
    /* [out] */ BOOL *pVal);


void __RPC_STUB IRdD3DPostProcessingSetup_GetEnableSuperSample_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DPostProcessingSetup_SetEnableGlow_Proxy( 
    IRdD3DPostProcessingSetup * This,
    /* [in] */ BOOL Val);


void __RPC_STUB IRdD3DPostProcessingSetup_SetEnableGlow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DPostProcessingSetup_GetEnableGlow_Proxy( 
    IRdD3DPostProcessingSetup * This,
    /* [out] */ BOOL *pVal);


void __RPC_STUB IRdD3DPostProcessingSetup_GetEnableGlow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DPostProcessingSetup_SetHighlightThreshold_Proxy( 
    IRdD3DPostProcessingSetup * This,
    /* [in] */ float Val);


void __RPC_STUB IRdD3DPostProcessingSetup_SetHighlightThreshold_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DPostProcessingSetup_GetHighlightThreshold_Proxy( 
    IRdD3DPostProcessingSetup * This,
    /* [out] */ float *pVal);


void __RPC_STUB IRdD3DPostProcessingSetup_GetHighlightThreshold_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DPostProcessingSetup_SetSceneIntensity_Proxy( 
    IRdD3DPostProcessingSetup * This,
    /* [in] */ float Val);


void __RPC_STUB IRdD3DPostProcessingSetup_SetSceneIntensity_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DPostProcessingSetup_GetSceneIntensity_Proxy( 
    IRdD3DPostProcessingSetup * This,
    /* [out] */ float *pVal);


void __RPC_STUB IRdD3DPostProcessingSetup_GetSceneIntensity_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DPostProcessingSetup_SetBloomIntensity_Proxy( 
    IRdD3DPostProcessingSetup * This,
    /* [in] */ float Val);


void __RPC_STUB IRdD3DPostProcessingSetup_SetBloomIntensity_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DPostProcessingSetup_GetBloomIntensity_Proxy( 
    IRdD3DPostProcessingSetup * This,
    /* [out] */ float *pVal);


void __RPC_STUB IRdD3DPostProcessingSetup_GetBloomIntensity_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DPostProcessingSetup_SetHighlightIntensity_Proxy( 
    IRdD3DPostProcessingSetup * This,
    /* [in] */ float Val);


void __RPC_STUB IRdD3DPostProcessingSetup_SetHighlightIntensity_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DPostProcessingSetup_GetHighlightIntensity_Proxy( 
    IRdD3DPostProcessingSetup * This,
    /* [out] */ float *pVal);


void __RPC_STUB IRdD3DPostProcessingSetup_GetHighlightIntensity_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DPostProcessingSetup_SetGlowQuality_Proxy( 
    IRdD3DPostProcessingSetup * This,
    /* [in] */ DWORD Val);


void __RPC_STUB IRdD3DPostProcessingSetup_SetGlowQuality_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DPostProcessingSetup_GetGlowQuality_Proxy( 
    IRdD3DPostProcessingSetup * This,
    /* [out] */ DWORD *pVal);


void __RPC_STUB IRdD3DPostProcessingSetup_GetGlowQuality_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DPostProcessingSetup_SetGlowDownsample_Proxy( 
    IRdD3DPostProcessingSetup * This,
    /* [in] */ DWORD Val);


void __RPC_STUB IRdD3DPostProcessingSetup_SetGlowDownsample_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DPostProcessingSetup_GetGlowDownsample_Proxy( 
    IRdD3DPostProcessingSetup * This,
    /* [out] */ DWORD *pVal);


void __RPC_STUB IRdD3DPostProcessingSetup_GetGlowDownsample_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdD3DPostProcessingSetup_INTERFACE_DEFINED__ */


#ifndef __IRnD3DWindowedRT_INTERFACE_DEFINED__
#define __IRnD3DWindowedRT_INTERFACE_DEFINED__

/* interface IRnD3DWindowedRT */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnD3DWindowedRT;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("17D544A3-3F58-436B-83E7-F8B4D7D4E7C5")
    IRnD3DWindowedRT : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE HandleResize( 
            /* [in] */ ULONG newWidth,
            /* [in] */ ULONG NewHeight) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE HandlePaint( 
            /* [in] */ BOOL bForceRender,
            /* [out] */ BOOL *bWasRendered) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE HandleMouseMessage( 
            /* [in] */ DWORD dwMessage,
            /* [in] */ DWORD dwX,
            /* [in] */ DWORD dwY,
            /* [in] */ DWORD dwWPARAM,
            /* [in] */ DWORD dwLPARAM,
            /* [in] */ DWORD dwMButton) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetRenderingStatus( 
            /* [in] */ BOOL bEnableRendering,
            /* [in] */ BOOL bRedraw,
            /* [in] */ BSTR bsDisabledText) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetCursorForClass( 
            /* [in] */ HCURSOR Cursor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetCursor( 
            /* [in] */ HCURSOR Cursor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CanRenderToFile( 
            /* [in] */ RtBool *pbStatus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RenderToFile( 
            /* [in] */ DWORD dwWidth,
            /* [in] */ DWORD dwHeight,
            /* [in] */ LPCTSTR pszFileName,
            /* [in] */ DWORD dwFormat) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PrepareLayerRenderNode( 
            /* [in] */ BSTR bsPresetName,
            /* [in] */ float fFaceOpacity,
            /* [in] */ float fWireOpacity,
            /* [retval][out] */ BSTR *bsPanelName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PrepareGridNode( 
            /* [in] */ BSTR bsRenderMode,
            /* [retval][out] */ BSTR *bsPanelName) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnD3DWindowedRTVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnD3DWindowedRT * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnD3DWindowedRT * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnD3DWindowedRT * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HandleResize )( 
            IRnD3DWindowedRT * This,
            /* [in] */ ULONG newWidth,
            /* [in] */ ULONG NewHeight);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HandlePaint )( 
            IRnD3DWindowedRT * This,
            /* [in] */ BOOL bForceRender,
            /* [out] */ BOOL *bWasRendered);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HandleMouseMessage )( 
            IRnD3DWindowedRT * This,
            /* [in] */ DWORD dwMessage,
            /* [in] */ DWORD dwX,
            /* [in] */ DWORD dwY,
            /* [in] */ DWORD dwWPARAM,
            /* [in] */ DWORD dwLPARAM,
            /* [in] */ DWORD dwMButton);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRenderingStatus )( 
            IRnD3DWindowedRT * This,
            /* [in] */ BOOL bEnableRendering,
            /* [in] */ BOOL bRedraw,
            /* [in] */ BSTR bsDisabledText);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetCursorForClass )( 
            IRnD3DWindowedRT * This,
            /* [in] */ HCURSOR Cursor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetCursor )( 
            IRnD3DWindowedRT * This,
            /* [in] */ HCURSOR Cursor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CanRenderToFile )( 
            IRnD3DWindowedRT * This,
            /* [in] */ RtBool *pbStatus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RenderToFile )( 
            IRnD3DWindowedRT * This,
            /* [in] */ DWORD dwWidth,
            /* [in] */ DWORD dwHeight,
            /* [in] */ LPCTSTR pszFileName,
            /* [in] */ DWORD dwFormat);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PrepareLayerRenderNode )( 
            IRnD3DWindowedRT * This,
            /* [in] */ BSTR bsPresetName,
            /* [in] */ float fFaceOpacity,
            /* [in] */ float fWireOpacity,
            /* [retval][out] */ BSTR *bsPanelName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PrepareGridNode )( 
            IRnD3DWindowedRT * This,
            /* [in] */ BSTR bsRenderMode,
            /* [retval][out] */ BSTR *bsPanelName);
        
        END_INTERFACE
    } IRnD3DWindowedRTVtbl;

    interface IRnD3DWindowedRT
    {
        CONST_VTBL struct IRnD3DWindowedRTVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnD3DWindowedRT_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnD3DWindowedRT_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnD3DWindowedRT_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnD3DWindowedRT_HandleResize(This,newWidth,NewHeight)	\
    (This)->lpVtbl -> HandleResize(This,newWidth,NewHeight)

#define IRnD3DWindowedRT_HandlePaint(This,bForceRender,bWasRendered)	\
    (This)->lpVtbl -> HandlePaint(This,bForceRender,bWasRendered)

#define IRnD3DWindowedRT_HandleMouseMessage(This,dwMessage,dwX,dwY,dwWPARAM,dwLPARAM,dwMButton)	\
    (This)->lpVtbl -> HandleMouseMessage(This,dwMessage,dwX,dwY,dwWPARAM,dwLPARAM,dwMButton)

#define IRnD3DWindowedRT_SetRenderingStatus(This,bEnableRendering,bRedraw,bsDisabledText)	\
    (This)->lpVtbl -> SetRenderingStatus(This,bEnableRendering,bRedraw,bsDisabledText)

#define IRnD3DWindowedRT_SetCursorForClass(This,Cursor)	\
    (This)->lpVtbl -> SetCursorForClass(This,Cursor)

#define IRnD3DWindowedRT_SetCursor(This,Cursor)	\
    (This)->lpVtbl -> SetCursor(This,Cursor)

#define IRnD3DWindowedRT_CanRenderToFile(This,pbStatus)	\
    (This)->lpVtbl -> CanRenderToFile(This,pbStatus)

#define IRnD3DWindowedRT_RenderToFile(This,dwWidth,dwHeight,pszFileName,dwFormat)	\
    (This)->lpVtbl -> RenderToFile(This,dwWidth,dwHeight,pszFileName,dwFormat)

#define IRnD3DWindowedRT_PrepareLayerRenderNode(This,bsPresetName,fFaceOpacity,fWireOpacity,bsPanelName)	\
    (This)->lpVtbl -> PrepareLayerRenderNode(This,bsPresetName,fFaceOpacity,fWireOpacity,bsPanelName)

#define IRnD3DWindowedRT_PrepareGridNode(This,bsRenderMode,bsPanelName)	\
    (This)->lpVtbl -> PrepareGridNode(This,bsRenderMode,bsPanelName)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnD3DWindowedRT_HandleResize_Proxy( 
    IRnD3DWindowedRT * This,
    /* [in] */ ULONG newWidth,
    /* [in] */ ULONG NewHeight);


void __RPC_STUB IRnD3DWindowedRT_HandleResize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnD3DWindowedRT_HandlePaint_Proxy( 
    IRnD3DWindowedRT * This,
    /* [in] */ BOOL bForceRender,
    /* [out] */ BOOL *bWasRendered);


void __RPC_STUB IRnD3DWindowedRT_HandlePaint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnD3DWindowedRT_HandleMouseMessage_Proxy( 
    IRnD3DWindowedRT * This,
    /* [in] */ DWORD dwMessage,
    /* [in] */ DWORD dwX,
    /* [in] */ DWORD dwY,
    /* [in] */ DWORD dwWPARAM,
    /* [in] */ DWORD dwLPARAM,
    /* [in] */ DWORD dwMButton);


void __RPC_STUB IRnD3DWindowedRT_HandleMouseMessage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnD3DWindowedRT_SetRenderingStatus_Proxy( 
    IRnD3DWindowedRT * This,
    /* [in] */ BOOL bEnableRendering,
    /* [in] */ BOOL bRedraw,
    /* [in] */ BSTR bsDisabledText);


void __RPC_STUB IRnD3DWindowedRT_SetRenderingStatus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnD3DWindowedRT_SetCursorForClass_Proxy( 
    IRnD3DWindowedRT * This,
    /* [in] */ HCURSOR Cursor);


void __RPC_STUB IRnD3DWindowedRT_SetCursorForClass_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnD3DWindowedRT_SetCursor_Proxy( 
    IRnD3DWindowedRT * This,
    /* [in] */ HCURSOR Cursor);


void __RPC_STUB IRnD3DWindowedRT_SetCursor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnD3DWindowedRT_CanRenderToFile_Proxy( 
    IRnD3DWindowedRT * This,
    /* [in] */ RtBool *pbStatus);


void __RPC_STUB IRnD3DWindowedRT_CanRenderToFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnD3DWindowedRT_RenderToFile_Proxy( 
    IRnD3DWindowedRT * This,
    /* [in] */ DWORD dwWidth,
    /* [in] */ DWORD dwHeight,
    /* [in] */ LPCTSTR pszFileName,
    /* [in] */ DWORD dwFormat);


void __RPC_STUB IRnD3DWindowedRT_RenderToFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnD3DWindowedRT_PrepareLayerRenderNode_Proxy( 
    IRnD3DWindowedRT * This,
    /* [in] */ BSTR bsPresetName,
    /* [in] */ float fFaceOpacity,
    /* [in] */ float fWireOpacity,
    /* [retval][out] */ BSTR *bsPanelName);


void __RPC_STUB IRnD3DWindowedRT_PrepareLayerRenderNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnD3DWindowedRT_PrepareGridNode_Proxy( 
    IRnD3DWindowedRT * This,
    /* [in] */ BSTR bsRenderMode,
    /* [retval][out] */ BSTR *bsPanelName);


void __RPC_STUB IRnD3DWindowedRT_PrepareGridNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnD3DWindowedRT_INTERFACE_DEFINED__ */


#ifndef __IRdMEShaderBrick_INTERFACE_DEFINED__
#define __IRdMEShaderBrick_INTERFACE_DEFINED__

/* interface IRdMEShaderBrick */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdMEShaderBrick;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("37729AB9-CBFB-4047-B0BB-50B0FF0F1E05")
    IRdMEShaderBrick : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBrickDefinition( 
            /* [retval][out] */ BSTR *pValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBrickExecution( 
            /* [retval][out] */ BSTR *pValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBrickResult( 
            /* [retval][out] */ BSTR *pValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetType( 
            /* [retval][out] */ BSTR *pValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetInputParameterCount( 
            /* [out] */ RtDWORD *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetInputParameter( 
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ BSTR *pVariableName,
            /* [out] */ BSTR *pNodeName,
            /* [out] */ BSTR *pConnectorName,
            /* [out] */ BSTR *pUsage) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddInputParameter( 
            /* [in] */ BSTR pVariableName,
            /* [in] */ BSTR pNodeName,
            /* [in] */ BSTR pConnectorName,
            /* [in] */ BSTR pUsage) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AppendInputParameters( 
            /* [in] */ IRdMEShaderBrick *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdMEShaderBrickVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdMEShaderBrick * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdMEShaderBrick * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdMEShaderBrick * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdMEShaderBrick * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBrickDefinition )( 
            IRdMEShaderBrick * This,
            /* [retval][out] */ BSTR *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBrickExecution )( 
            IRdMEShaderBrick * This,
            /* [retval][out] */ BSTR *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBrickResult )( 
            IRdMEShaderBrick * This,
            /* [retval][out] */ BSTR *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetType )( 
            IRdMEShaderBrick * This,
            /* [retval][out] */ BSTR *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameterCount )( 
            IRdMEShaderBrick * This,
            /* [out] */ RtDWORD *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameter )( 
            IRdMEShaderBrick * This,
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ BSTR *pVariableName,
            /* [out] */ BSTR *pNodeName,
            /* [out] */ BSTR *pConnectorName,
            /* [out] */ BSTR *pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddInputParameter )( 
            IRdMEShaderBrick * This,
            /* [in] */ BSTR pVariableName,
            /* [in] */ BSTR pNodeName,
            /* [in] */ BSTR pConnectorName,
            /* [in] */ BSTR pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AppendInputParameters )( 
            IRdMEShaderBrick * This,
            /* [in] */ IRdMEShaderBrick *pVal);
        
        END_INTERFACE
    } IRdMEShaderBrickVtbl;

    interface IRdMEShaderBrick
    {
        CONST_VTBL struct IRdMEShaderBrickVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdMEShaderBrick_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdMEShaderBrick_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdMEShaderBrick_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdMEShaderBrick_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdMEShaderBrick_GetBrickDefinition(This,pValue)	\
    (This)->lpVtbl -> GetBrickDefinition(This,pValue)

#define IRdMEShaderBrick_GetBrickExecution(This,pValue)	\
    (This)->lpVtbl -> GetBrickExecution(This,pValue)

#define IRdMEShaderBrick_GetBrickResult(This,pValue)	\
    (This)->lpVtbl -> GetBrickResult(This,pValue)

#define IRdMEShaderBrick_GetType(This,pValue)	\
    (This)->lpVtbl -> GetType(This,pValue)

#define IRdMEShaderBrick_GetInputParameterCount(This,pVal)	\
    (This)->lpVtbl -> GetInputParameterCount(This,pVal)

#define IRdMEShaderBrick_GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdMEShaderBrick_AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdMEShaderBrick_AppendInputParameters(This,pVal)	\
    (This)->lpVtbl -> AppendInputParameters(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShaderBrick_Clear_Proxy( 
    IRdMEShaderBrick * This);


void __RPC_STUB IRdMEShaderBrick_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShaderBrick_GetBrickDefinition_Proxy( 
    IRdMEShaderBrick * This,
    /* [retval][out] */ BSTR *pValue);


void __RPC_STUB IRdMEShaderBrick_GetBrickDefinition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShaderBrick_GetBrickExecution_Proxy( 
    IRdMEShaderBrick * This,
    /* [retval][out] */ BSTR *pValue);


void __RPC_STUB IRdMEShaderBrick_GetBrickExecution_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShaderBrick_GetBrickResult_Proxy( 
    IRdMEShaderBrick * This,
    /* [retval][out] */ BSTR *pValue);


void __RPC_STUB IRdMEShaderBrick_GetBrickResult_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShaderBrick_GetType_Proxy( 
    IRdMEShaderBrick * This,
    /* [retval][out] */ BSTR *pValue);


void __RPC_STUB IRdMEShaderBrick_GetType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShaderBrick_GetInputParameterCount_Proxy( 
    IRdMEShaderBrick * This,
    /* [out] */ RtDWORD *pVal);


void __RPC_STUB IRdMEShaderBrick_GetInputParameterCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShaderBrick_GetInputParameter_Proxy( 
    IRdMEShaderBrick * This,
    /* [in] */ RtDWORD dwIndex,
    /* [out] */ BSTR *pVariableName,
    /* [out] */ BSTR *pNodeName,
    /* [out] */ BSTR *pConnectorName,
    /* [out] */ BSTR *pUsage);


void __RPC_STUB IRdMEShaderBrick_GetInputParameter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShaderBrick_AddInputParameter_Proxy( 
    IRdMEShaderBrick * This,
    /* [in] */ BSTR pVariableName,
    /* [in] */ BSTR pNodeName,
    /* [in] */ BSTR pConnectorName,
    /* [in] */ BSTR pUsage);


void __RPC_STUB IRdMEShaderBrick_AddInputParameter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShaderBrick_AppendInputParameters_Proxy( 
    IRdMEShaderBrick * This,
    /* [in] */ IRdMEShaderBrick *pVal);


void __RPC_STUB IRdMEShaderBrick_AppendInputParameters_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdMEShaderBrick_INTERFACE_DEFINED__ */


#ifndef __IRdMEShader_INTERFACE_DEFINED__
#define __IRdMEShader_INTERFACE_DEFINED__

/* interface IRdMEShader */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdMEShader;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("AA1C0130-6220-48ff-8DDA-775E02271925")
    IRdMEShader : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetShaderName( 
            /* [in] */ BSTR bstrValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetShaderType( 
            /* [in] */ BSTR bstrValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetShaderType( 
            /* [retval][out] */ BSTR *pbstrValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetShaderShortName( 
            /* [retval][out] */ BSTR *pbstrValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetShaderFullName( 
            /* [retval][out] */ BSTR *pbstrValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetShader( 
            /* [in] */ BSTR bstrShader) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetShader( 
            /* [retval][out] */ BSTR *pbstrShader) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetInputParameterCount( 
            /* [out] */ RtDWORD *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetInputParameter( 
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ BSTR *pVariableName,
            /* [out] */ BSTR *pNodeName,
            /* [out] */ BSTR *pConnectorName,
            /* [out] */ BSTR *pUsage) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddInputParameter( 
            /* [in] */ BSTR pVariableName,
            /* [in] */ BSTR pNodeName,
            /* [in] */ BSTR pConnectorName,
            /* [in] */ BSTR pUsage) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AppendInputParameters( 
            /* [in] */ IRdMEShaderBrick *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdMEShaderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdMEShader * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdMEShader * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdMEShader * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdMEShader * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetShaderName )( 
            IRdMEShader * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetShaderType )( 
            IRdMEShader * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShaderType )( 
            IRdMEShader * This,
            /* [retval][out] */ BSTR *pbstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShaderShortName )( 
            IRdMEShader * This,
            /* [retval][out] */ BSTR *pbstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShaderFullName )( 
            IRdMEShader * This,
            /* [retval][out] */ BSTR *pbstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetShader )( 
            IRdMEShader * This,
            /* [in] */ BSTR bstrShader);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShader )( 
            IRdMEShader * This,
            /* [retval][out] */ BSTR *pbstrShader);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameterCount )( 
            IRdMEShader * This,
            /* [out] */ RtDWORD *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameter )( 
            IRdMEShader * This,
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ BSTR *pVariableName,
            /* [out] */ BSTR *pNodeName,
            /* [out] */ BSTR *pConnectorName,
            /* [out] */ BSTR *pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddInputParameter )( 
            IRdMEShader * This,
            /* [in] */ BSTR pVariableName,
            /* [in] */ BSTR pNodeName,
            /* [in] */ BSTR pConnectorName,
            /* [in] */ BSTR pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AppendInputParameters )( 
            IRdMEShader * This,
            /* [in] */ IRdMEShaderBrick *pVal);
        
        END_INTERFACE
    } IRdMEShaderVtbl;

    interface IRdMEShader
    {
        CONST_VTBL struct IRdMEShaderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdMEShader_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdMEShader_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdMEShader_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdMEShader_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdMEShader_SetShaderName(This,bstrValue)	\
    (This)->lpVtbl -> SetShaderName(This,bstrValue)

#define IRdMEShader_SetShaderType(This,bstrValue)	\
    (This)->lpVtbl -> SetShaderType(This,bstrValue)

#define IRdMEShader_GetShaderType(This,pbstrValue)	\
    (This)->lpVtbl -> GetShaderType(This,pbstrValue)

#define IRdMEShader_GetShaderShortName(This,pbstrValue)	\
    (This)->lpVtbl -> GetShaderShortName(This,pbstrValue)

#define IRdMEShader_GetShaderFullName(This,pbstrValue)	\
    (This)->lpVtbl -> GetShaderFullName(This,pbstrValue)

#define IRdMEShader_SetShader(This,bstrShader)	\
    (This)->lpVtbl -> SetShader(This,bstrShader)

#define IRdMEShader_GetShader(This,pbstrShader)	\
    (This)->lpVtbl -> GetShader(This,pbstrShader)

#define IRdMEShader_GetInputParameterCount(This,pVal)	\
    (This)->lpVtbl -> GetInputParameterCount(This,pVal)

#define IRdMEShader_GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdMEShader_AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdMEShader_AppendInputParameters(This,pVal)	\
    (This)->lpVtbl -> AppendInputParameters(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShader_Clear_Proxy( 
    IRdMEShader * This);


void __RPC_STUB IRdMEShader_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShader_SetShaderName_Proxy( 
    IRdMEShader * This,
    /* [in] */ BSTR bstrValue);


void __RPC_STUB IRdMEShader_SetShaderName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShader_SetShaderType_Proxy( 
    IRdMEShader * This,
    /* [in] */ BSTR bstrValue);


void __RPC_STUB IRdMEShader_SetShaderType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShader_GetShaderType_Proxy( 
    IRdMEShader * This,
    /* [retval][out] */ BSTR *pbstrValue);


void __RPC_STUB IRdMEShader_GetShaderType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShader_GetShaderShortName_Proxy( 
    IRdMEShader * This,
    /* [retval][out] */ BSTR *pbstrValue);


void __RPC_STUB IRdMEShader_GetShaderShortName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShader_GetShaderFullName_Proxy( 
    IRdMEShader * This,
    /* [retval][out] */ BSTR *pbstrValue);


void __RPC_STUB IRdMEShader_GetShaderFullName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShader_SetShader_Proxy( 
    IRdMEShader * This,
    /* [in] */ BSTR bstrShader);


void __RPC_STUB IRdMEShader_SetShader_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShader_GetShader_Proxy( 
    IRdMEShader * This,
    /* [retval][out] */ BSTR *pbstrShader);


void __RPC_STUB IRdMEShader_GetShader_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShader_GetInputParameterCount_Proxy( 
    IRdMEShader * This,
    /* [out] */ RtDWORD *pVal);


void __RPC_STUB IRdMEShader_GetInputParameterCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShader_GetInputParameter_Proxy( 
    IRdMEShader * This,
    /* [in] */ RtDWORD dwIndex,
    /* [out] */ BSTR *pVariableName,
    /* [out] */ BSTR *pNodeName,
    /* [out] */ BSTR *pConnectorName,
    /* [out] */ BSTR *pUsage);


void __RPC_STUB IRdMEShader_GetInputParameter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShader_AddInputParameter_Proxy( 
    IRdMEShader * This,
    /* [in] */ BSTR pVariableName,
    /* [in] */ BSTR pNodeName,
    /* [in] */ BSTR pConnectorName,
    /* [in] */ BSTR pUsage);


void __RPC_STUB IRdMEShader_AddInputParameter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShader_AppendInputParameters_Proxy( 
    IRdMEShader * This,
    /* [in] */ IRdMEShaderBrick *pVal);


void __RPC_STUB IRdMEShader_AppendInputParameters_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdMEShader_INTERFACE_DEFINED__ */


#ifndef __IRdMEMaterial_INTERFACE_DEFINED__
#define __IRdMEMaterial_INTERFACE_DEFINED__

/* interface IRdMEMaterial */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdMEMaterial;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CE06C518-D93E-45be-BD99-F8D06808878D")
    IRdMEMaterial : public IRsDataObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PutShader( 
            /* [in] */ RtDWORD dwAttributeID,
            /* [in] */ BSTR bstrShaderType,
            /* [in] */ BSTR bstrShaderName,
            /* [in] */ BSTR bstrShaderText) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetShader( 
            /* [in] */ RtDWORD dwAttributeID,
            /* [in] */ BSTR bstrShaderType,
            /* [out] */ BSTR *pbstrShaderName,
            /* [out] */ BSTR *pbstrShaderText) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetShaderCount( 
            /* [in] */ BSTR bstrShaderType,
            /* [out] */ RtDWORD *pdwAttributeCount) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetShaderByIndex( 
            /* [in] */ BSTR bstrShaderType,
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ RtDWORD *pdwAttributeID,
            /* [out] */ BSTR *pbstrShaderName,
            /* [out] */ BSTR *pbstrShaderText) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PutMaterial( 
            /* [in] */ RtDWORD dwAttributeID,
            /* [in] */ BSTR bstrMaterialName,
            /* [in] */ BSTR bstrMaterialText,
            /* [in] */ RtBOOL bOpaque) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMaterial( 
            /* [in] */ RtDWORD dwAttributeID,
            /* [out] */ BSTR *pbstrMaterialName,
            /* [out] */ BSTR *pbstrMaterialText,
            /* [out] */ RtBOOL *bOpaque) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMaterialCount( 
            /* [out] */ RtDWORD *pdwMatCount) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMaterialByIndex( 
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ RtDWORD *pdwAttributeID,
            /* [out] */ BSTR *pbstrMaterialName,
            /* [out] */ BSTR *pbstrMaterialText,
            /* [out] */ RtBOOL *bOpaque) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetInputParameterCount( 
            /* [out] */ RtDWORD *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetInputParameter( 
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ BSTR *pVariableName,
            /* [out] */ BSTR *pNodeName,
            /* [out] */ BSTR *pConnectorName,
            /* [out] */ BSTR *pUsage) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddInputParameter( 
            /* [in] */ BSTR pVariableName,
            /* [in] */ BSTR pNodeName,
            /* [in] */ BSTR pConnectorName,
            /* [in] */ BSTR pUsage) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AppendInputParameters( 
            /* [in] */ IRdMEShader *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdMEMaterialVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdMEMaterial * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdMEMaterial * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdMEMaterial * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdMEMaterial * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdMEMaterial * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdMEMaterial * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdMEMaterial * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutShader )( 
            IRdMEMaterial * This,
            /* [in] */ RtDWORD dwAttributeID,
            /* [in] */ BSTR bstrShaderType,
            /* [in] */ BSTR bstrShaderName,
            /* [in] */ BSTR bstrShaderText);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShader )( 
            IRdMEMaterial * This,
            /* [in] */ RtDWORD dwAttributeID,
            /* [in] */ BSTR bstrShaderType,
            /* [out] */ BSTR *pbstrShaderName,
            /* [out] */ BSTR *pbstrShaderText);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShaderCount )( 
            IRdMEMaterial * This,
            /* [in] */ BSTR bstrShaderType,
            /* [out] */ RtDWORD *pdwAttributeCount);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShaderByIndex )( 
            IRdMEMaterial * This,
            /* [in] */ BSTR bstrShaderType,
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ RtDWORD *pdwAttributeID,
            /* [out] */ BSTR *pbstrShaderName,
            /* [out] */ BSTR *pbstrShaderText);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutMaterial )( 
            IRdMEMaterial * This,
            /* [in] */ RtDWORD dwAttributeID,
            /* [in] */ BSTR bstrMaterialName,
            /* [in] */ BSTR bstrMaterialText,
            /* [in] */ RtBOOL bOpaque);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMaterial )( 
            IRdMEMaterial * This,
            /* [in] */ RtDWORD dwAttributeID,
            /* [out] */ BSTR *pbstrMaterialName,
            /* [out] */ BSTR *pbstrMaterialText,
            /* [out] */ RtBOOL *bOpaque);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMaterialCount )( 
            IRdMEMaterial * This,
            /* [out] */ RtDWORD *pdwMatCount);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMaterialByIndex )( 
            IRdMEMaterial * This,
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ RtDWORD *pdwAttributeID,
            /* [out] */ BSTR *pbstrMaterialName,
            /* [out] */ BSTR *pbstrMaterialText,
            /* [out] */ RtBOOL *bOpaque);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameterCount )( 
            IRdMEMaterial * This,
            /* [out] */ RtDWORD *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameter )( 
            IRdMEMaterial * This,
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ BSTR *pVariableName,
            /* [out] */ BSTR *pNodeName,
            /* [out] */ BSTR *pConnectorName,
            /* [out] */ BSTR *pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddInputParameter )( 
            IRdMEMaterial * This,
            /* [in] */ BSTR pVariableName,
            /* [in] */ BSTR pNodeName,
            /* [in] */ BSTR pConnectorName,
            /* [in] */ BSTR pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AppendInputParameters )( 
            IRdMEMaterial * This,
            /* [in] */ IRdMEShader *pVal);
        
        END_INTERFACE
    } IRdMEMaterialVtbl;

    interface IRdMEMaterial
    {
        CONST_VTBL struct IRdMEMaterialVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdMEMaterial_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdMEMaterial_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdMEMaterial_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdMEMaterial_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdMEMaterial_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdMEMaterial_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdMEMaterial_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdMEMaterial_PutShader(This,dwAttributeID,bstrShaderType,bstrShaderName,bstrShaderText)	\
    (This)->lpVtbl -> PutShader(This,dwAttributeID,bstrShaderType,bstrShaderName,bstrShaderText)

#define IRdMEMaterial_GetShader(This,dwAttributeID,bstrShaderType,pbstrShaderName,pbstrShaderText)	\
    (This)->lpVtbl -> GetShader(This,dwAttributeID,bstrShaderType,pbstrShaderName,pbstrShaderText)

#define IRdMEMaterial_GetShaderCount(This,bstrShaderType,pdwAttributeCount)	\
    (This)->lpVtbl -> GetShaderCount(This,bstrShaderType,pdwAttributeCount)

#define IRdMEMaterial_GetShaderByIndex(This,bstrShaderType,dwIndex,pdwAttributeID,pbstrShaderName,pbstrShaderText)	\
    (This)->lpVtbl -> GetShaderByIndex(This,bstrShaderType,dwIndex,pdwAttributeID,pbstrShaderName,pbstrShaderText)

#define IRdMEMaterial_PutMaterial(This,dwAttributeID,bstrMaterialName,bstrMaterialText,bOpaque)	\
    (This)->lpVtbl -> PutMaterial(This,dwAttributeID,bstrMaterialName,bstrMaterialText,bOpaque)

#define IRdMEMaterial_GetMaterial(This,dwAttributeID,pbstrMaterialName,pbstrMaterialText,bOpaque)	\
    (This)->lpVtbl -> GetMaterial(This,dwAttributeID,pbstrMaterialName,pbstrMaterialText,bOpaque)

#define IRdMEMaterial_GetMaterialCount(This,pdwMatCount)	\
    (This)->lpVtbl -> GetMaterialCount(This,pdwMatCount)

#define IRdMEMaterial_GetMaterialByIndex(This,dwIndex,pdwAttributeID,pbstrMaterialName,pbstrMaterialText,bOpaque)	\
    (This)->lpVtbl -> GetMaterialByIndex(This,dwIndex,pdwAttributeID,pbstrMaterialName,pbstrMaterialText,bOpaque)

#define IRdMEMaterial_GetInputParameterCount(This,pVal)	\
    (This)->lpVtbl -> GetInputParameterCount(This,pVal)

#define IRdMEMaterial_GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdMEMaterial_AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdMEMaterial_AppendInputParameters(This,pVal)	\
    (This)->lpVtbl -> AppendInputParameters(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEMaterial_Clear_Proxy( 
    IRdMEMaterial * This);


void __RPC_STUB IRdMEMaterial_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEMaterial_PutShader_Proxy( 
    IRdMEMaterial * This,
    /* [in] */ RtDWORD dwAttributeID,
    /* [in] */ BSTR bstrShaderType,
    /* [in] */ BSTR bstrShaderName,
    /* [in] */ BSTR bstrShaderText);


void __RPC_STUB IRdMEMaterial_PutShader_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEMaterial_GetShader_Proxy( 
    IRdMEMaterial * This,
    /* [in] */ RtDWORD dwAttributeID,
    /* [in] */ BSTR bstrShaderType,
    /* [out] */ BSTR *pbstrShaderName,
    /* [out] */ BSTR *pbstrShaderText);


void __RPC_STUB IRdMEMaterial_GetShader_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEMaterial_GetShaderCount_Proxy( 
    IRdMEMaterial * This,
    /* [in] */ BSTR bstrShaderType,
    /* [out] */ RtDWORD *pdwAttributeCount);


void __RPC_STUB IRdMEMaterial_GetShaderCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEMaterial_GetShaderByIndex_Proxy( 
    IRdMEMaterial * This,
    /* [in] */ BSTR bstrShaderType,
    /* [in] */ RtDWORD dwIndex,
    /* [out] */ RtDWORD *pdwAttributeID,
    /* [out] */ BSTR *pbstrShaderName,
    /* [out] */ BSTR *pbstrShaderText);


void __RPC_STUB IRdMEMaterial_GetShaderByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEMaterial_PutMaterial_Proxy( 
    IRdMEMaterial * This,
    /* [in] */ RtDWORD dwAttributeID,
    /* [in] */ BSTR bstrMaterialName,
    /* [in] */ BSTR bstrMaterialText,
    /* [in] */ RtBOOL bOpaque);


void __RPC_STUB IRdMEMaterial_PutMaterial_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEMaterial_GetMaterial_Proxy( 
    IRdMEMaterial * This,
    /* [in] */ RtDWORD dwAttributeID,
    /* [out] */ BSTR *pbstrMaterialName,
    /* [out] */ BSTR *pbstrMaterialText,
    /* [out] */ RtBOOL *bOpaque);


void __RPC_STUB IRdMEMaterial_GetMaterial_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEMaterial_GetMaterialCount_Proxy( 
    IRdMEMaterial * This,
    /* [out] */ RtDWORD *pdwMatCount);


void __RPC_STUB IRdMEMaterial_GetMaterialCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEMaterial_GetMaterialByIndex_Proxy( 
    IRdMEMaterial * This,
    /* [in] */ RtDWORD dwIndex,
    /* [out] */ RtDWORD *pdwAttributeID,
    /* [out] */ BSTR *pbstrMaterialName,
    /* [out] */ BSTR *pbstrMaterialText,
    /* [out] */ RtBOOL *bOpaque);


void __RPC_STUB IRdMEMaterial_GetMaterialByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEMaterial_GetInputParameterCount_Proxy( 
    IRdMEMaterial * This,
    /* [out] */ RtDWORD *pVal);


void __RPC_STUB IRdMEMaterial_GetInputParameterCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEMaterial_GetInputParameter_Proxy( 
    IRdMEMaterial * This,
    /* [in] */ RtDWORD dwIndex,
    /* [out] */ BSTR *pVariableName,
    /* [out] */ BSTR *pNodeName,
    /* [out] */ BSTR *pConnectorName,
    /* [out] */ BSTR *pUsage);


void __RPC_STUB IRdMEMaterial_GetInputParameter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEMaterial_AddInputParameter_Proxy( 
    IRdMEMaterial * This,
    /* [in] */ BSTR pVariableName,
    /* [in] */ BSTR pNodeName,
    /* [in] */ BSTR pConnectorName,
    /* [in] */ BSTR pUsage);


void __RPC_STUB IRdMEMaterial_AddInputParameter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEMaterial_AppendInputParameters_Proxy( 
    IRdMEMaterial * This,
    /* [in] */ IRdMEShader *pVal);


void __RPC_STUB IRdMEMaterial_AppendInputParameters_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdMEMaterial_INTERFACE_DEFINED__ */


#ifndef __IRdD3DMaterial_INTERFACE_DEFINED__
#define __IRdD3DMaterial_INTERFACE_DEFINED__

/* interface IRdD3DMaterial */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdD3DMaterial;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9EE7D144-74B2-45ea-92AD-C3598626616B")
    IRdD3DMaterial : public IRsDataObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetID( 
            /* [out] */ RtDWORD *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetID( 
            /* [in] */ RtDWORD pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetInputParameterCount( 
            /* [out] */ RtDWORD *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetInputParameter( 
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ BSTR *pVariableName,
            /* [out] */ BSTR *pNodeName,
            /* [out] */ BSTR *pConnectorName,
            /* [out] */ BSTR *pUsage) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddInputParameter( 
            /* [in] */ BSTR pVariableName,
            /* [in] */ BSTR pNodeName,
            /* [in] */ BSTR pConnectorName,
            /* [in] */ BSTR pUsage) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AppendInputParameters( 
            /* [in] */ IRdMEMaterial *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdD3DMaterialVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdD3DMaterial * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdD3DMaterial * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdD3DMaterial * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdD3DMaterial * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdD3DMaterial * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdD3DMaterial * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdD3DMaterial * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetID )( 
            IRdD3DMaterial * This,
            /* [out] */ RtDWORD *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetID )( 
            IRdD3DMaterial * This,
            /* [in] */ RtDWORD pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameterCount )( 
            IRdD3DMaterial * This,
            /* [out] */ RtDWORD *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameter )( 
            IRdD3DMaterial * This,
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ BSTR *pVariableName,
            /* [out] */ BSTR *pNodeName,
            /* [out] */ BSTR *pConnectorName,
            /* [out] */ BSTR *pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddInputParameter )( 
            IRdD3DMaterial * This,
            /* [in] */ BSTR pVariableName,
            /* [in] */ BSTR pNodeName,
            /* [in] */ BSTR pConnectorName,
            /* [in] */ BSTR pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AppendInputParameters )( 
            IRdD3DMaterial * This,
            /* [in] */ IRdMEMaterial *pVal);
        
        END_INTERFACE
    } IRdD3DMaterialVtbl;

    interface IRdD3DMaterial
    {
        CONST_VTBL struct IRdD3DMaterialVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdD3DMaterial_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdD3DMaterial_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdD3DMaterial_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdD3DMaterial_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdD3DMaterial_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdD3DMaterial_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdD3DMaterial_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdD3DMaterial_GetID(This,pVal)	\
    (This)->lpVtbl -> GetID(This,pVal)

#define IRdD3DMaterial_SetID(This,pVal)	\
    (This)->lpVtbl -> SetID(This,pVal)

#define IRdD3DMaterial_GetInputParameterCount(This,pVal)	\
    (This)->lpVtbl -> GetInputParameterCount(This,pVal)

#define IRdD3DMaterial_GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdD3DMaterial_AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdD3DMaterial_AppendInputParameters(This,pVal)	\
    (This)->lpVtbl -> AppendInputParameters(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DMaterial_Clear_Proxy( 
    IRdD3DMaterial * This);


void __RPC_STUB IRdD3DMaterial_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DMaterial_GetID_Proxy( 
    IRdD3DMaterial * This,
    /* [out] */ RtDWORD *pVal);


void __RPC_STUB IRdD3DMaterial_GetID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DMaterial_SetID_Proxy( 
    IRdD3DMaterial * This,
    /* [in] */ RtDWORD pVal);


void __RPC_STUB IRdD3DMaterial_SetID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DMaterial_GetInputParameterCount_Proxy( 
    IRdD3DMaterial * This,
    /* [out] */ RtDWORD *pVal);


void __RPC_STUB IRdD3DMaterial_GetInputParameterCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DMaterial_GetInputParameter_Proxy( 
    IRdD3DMaterial * This,
    /* [in] */ RtDWORD dwIndex,
    /* [out] */ BSTR *pVariableName,
    /* [out] */ BSTR *pNodeName,
    /* [out] */ BSTR *pConnectorName,
    /* [out] */ BSTR *pUsage);


void __RPC_STUB IRdD3DMaterial_GetInputParameter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DMaterial_AddInputParameter_Proxy( 
    IRdD3DMaterial * This,
    /* [in] */ BSTR pVariableName,
    /* [in] */ BSTR pNodeName,
    /* [in] */ BSTR pConnectorName,
    /* [in] */ BSTR pUsage);


void __RPC_STUB IRdD3DMaterial_AddInputParameter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DMaterial_AppendInputParameters_Proxy( 
    IRdD3DMaterial * This,
    /* [in] */ IRdMEMaterial *pVal);


void __RPC_STUB IRdD3DMaterial_AppendInputParameters_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdD3DMaterial_INTERFACE_DEFINED__ */


#ifndef __IRcDropObject_INTERFACE_DEFINED__
#define __IRcDropObject_INTERFACE_DEFINED__

/* interface IRcDropObject */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcDropObject;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A29D0DCA-3538-4fa2-BC3A-EB5CB6DB3692")
    IRcDropObject : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcDropObjectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcDropObject * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcDropObject * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcDropObject * This);
        
        END_INTERFACE
    } IRcDropObjectVtbl;

    interface IRcDropObject
    {
        CONST_VTBL struct IRcDropObjectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcDropObject_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcDropObject_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcDropObject_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcDropObject_INTERFACE_DEFINED__ */


#ifndef __IRcDXConvShBrick_INTERFACE_DEFINED__
#define __IRcDXConvShBrick_INTERFACE_DEFINED__

/* interface IRcDXConvShBrick */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcDXConvShBrick;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0BA26A05-390E-4da4-9882-90C9069754C7")
    IRcDXConvShBrick : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcDXConvShBrickVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcDXConvShBrick * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcDXConvShBrick * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcDXConvShBrick * This);
        
        END_INTERFACE
    } IRcDXConvShBrickVtbl;

    interface IRcDXConvShBrick
    {
        CONST_VTBL struct IRcDXConvShBrickVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcDXConvShBrick_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcDXConvShBrick_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcDXConvShBrick_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcDXConvShBrick_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__View3D_2015 */
/* [local] */ 

struct RtME2ShaderBrickCode
    {
    LPCSTR m_szInputs;
    LPCSTR m_szDefinition;
    LPCSTR m_szExecution;
    } ;

enum RtME2InputTypes
    {	RtME2InputFloat	= 0,
	RtME2InputFloat3	= 1,
	RtME2InputFloat4	= 2,
	RtME2InputMatrix	= 3,
	RtME2InputTexture	= 4,
	RtME2InputCUBETexture	= 5,
	RtME2InputVolumeTexture	= 6,
	RtME2InputD3DTextureHandle	= 7,
	RtME2InputD3DActiveParameter	= 8,
	RtME2InputUnknown	= 9,
	RtME2InputTypesFORCEDWORD	= -1
    } ;
struct RtME2ShaderTexture
    {
    IRdBitmap *m_pTexture;
    BOOL m_bGenerateMipMaps;
    BOOL m_bCompress;
    } ;
struct RtME2ShaderD3DHandle
    {
    IRdBitmap *m_pTexture;
    DWORD m_dwD3DHandle;
    DWORD m_dwDummy;
    } ;
struct RtME2ShaderVolume
    {
    IRdVolumeTexture *m_pTexture;
    BOOL m_bGenerateMipMaps;
    BOOL m_bCompress;
    } ;
struct RtME2ShaderCube
    {
    IRdCubeTexture *m_pTexture;
    BOOL m_bGenerateMipMaps;
    BOOL m_bCompress;
    } ;
struct RtME2ShaderActiveParameter
    {
    DWORD m_dwParameterHandle;
    DWORD m_dwAttribute1;
    DWORD m_dwAttribute2;
    BOOL m_bDoNotCache;
    } ;
struct RtME2ShaderInputs
    {
    enum RtME2InputTypes m_eType;
    DWORD m_dwTimestamp;
    union RtME2ShaderInputsData
        {
        float m_MatrixData[ 4 ][ 4 ];
        float m_Float4[ 4 ];
        float m_Float3[ 3 ];
        float m_Float;
        struct RtME2ShaderTexture m_s2DTexture;
        struct RtME2ShaderCube m_sCUBETexture;
        struct RtME2ShaderVolume m_sVolumeTexture;
        struct RtME2ShaderActiveParameter m_sActiveParam;
        struct RtME2ShaderD3DHandle m_sD3DHandle;
        } 	;
    union RtME2ShaderInputsData m_D;
    LPCSTR m_szInputName;
    LPCSTR m_szUsage;
    } ;


extern RPC_IF_HANDLE __MIDL_itf__View3D_2015_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__View3D_2015_v0_0_s_ifspec;

#ifndef __IRdME2ShaderBrick_INTERFACE_DEFINED__
#define __IRdME2ShaderBrick_INTERFACE_DEFINED__

/* interface IRdME2ShaderBrick */
/* [unique][helpstring][uuid][local][object] */ 


EXTERN_C const IID IID_IRdME2ShaderBrick;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("31DB0B46-352B-4e3f-B1EB-93E33E2FB512")
    IRdME2ShaderBrick : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTimestamp( 
            /* [out] */ DWORD *pCodeStamp,
            /* [out] */ DWORD *pInputStamp) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetInstanceID( 
            /* [out] */ LPCSTR *pInstanceID) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetUniqueID( 
            /* [in] */ LPCSTR pszUniqueID) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetUniqueID( 
            /* [out] */ LPCSTR *pszUniqueID) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBrick( 
            /* [out] */ struct RtME2ShaderBrickCode *pValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetResult( 
            /* [out] */ LPCSTR *pResult,
            /* [out] */ LPCSTR *pType) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPreviousBricksCount( 
            /* [out] */ DWORD *pValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPreviousBricks( 
            /* [out] */ IRdME2ShaderBrick ***pValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetInputParameterCount( 
            /* [out] */ DWORD *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetInputParameters( 
            /* [out] */ struct RtME2ShaderInputs **pValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LockObject( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnlockObject( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdME2ShaderBrickVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdME2ShaderBrick * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdME2ShaderBrick * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdME2ShaderBrick * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IRdME2ShaderBrick * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTimestamp )( 
            IRdME2ShaderBrick * This,
            /* [out] */ DWORD *pCodeStamp,
            /* [out] */ DWORD *pInputStamp);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInstanceID )( 
            IRdME2ShaderBrick * This,
            /* [out] */ LPCSTR *pInstanceID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetUniqueID )( 
            IRdME2ShaderBrick * This,
            /* [in] */ LPCSTR pszUniqueID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetUniqueID )( 
            IRdME2ShaderBrick * This,
            /* [out] */ LPCSTR *pszUniqueID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBrick )( 
            IRdME2ShaderBrick * This,
            /* [out] */ struct RtME2ShaderBrickCode *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetResult )( 
            IRdME2ShaderBrick * This,
            /* [out] */ LPCSTR *pResult,
            /* [out] */ LPCSTR *pType);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPreviousBricksCount )( 
            IRdME2ShaderBrick * This,
            /* [out] */ DWORD *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPreviousBricks )( 
            IRdME2ShaderBrick * This,
            /* [out] */ IRdME2ShaderBrick ***pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameterCount )( 
            IRdME2ShaderBrick * This,
            /* [out] */ DWORD *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameters )( 
            IRdME2ShaderBrick * This,
            /* [out] */ struct RtME2ShaderInputs **pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LockObject )( 
            IRdME2ShaderBrick * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnlockObject )( 
            IRdME2ShaderBrick * This);
        
        END_INTERFACE
    } IRdME2ShaderBrickVtbl;

    interface IRdME2ShaderBrick
    {
        CONST_VTBL struct IRdME2ShaderBrickVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdME2ShaderBrick_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdME2ShaderBrick_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdME2ShaderBrick_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdME2ShaderBrick_Reset(This)	\
    (This)->lpVtbl -> Reset(This)

#define IRdME2ShaderBrick_GetTimestamp(This,pCodeStamp,pInputStamp)	\
    (This)->lpVtbl -> GetTimestamp(This,pCodeStamp,pInputStamp)

#define IRdME2ShaderBrick_GetInstanceID(This,pInstanceID)	\
    (This)->lpVtbl -> GetInstanceID(This,pInstanceID)

#define IRdME2ShaderBrick_SetUniqueID(This,pszUniqueID)	\
    (This)->lpVtbl -> SetUniqueID(This,pszUniqueID)

#define IRdME2ShaderBrick_GetUniqueID(This,pszUniqueID)	\
    (This)->lpVtbl -> GetUniqueID(This,pszUniqueID)

#define IRdME2ShaderBrick_GetBrick(This,pValue)	\
    (This)->lpVtbl -> GetBrick(This,pValue)

#define IRdME2ShaderBrick_GetResult(This,pResult,pType)	\
    (This)->lpVtbl -> GetResult(This,pResult,pType)

#define IRdME2ShaderBrick_GetPreviousBricksCount(This,pValue)	\
    (This)->lpVtbl -> GetPreviousBricksCount(This,pValue)

#define IRdME2ShaderBrick_GetPreviousBricks(This,pValue)	\
    (This)->lpVtbl -> GetPreviousBricks(This,pValue)

#define IRdME2ShaderBrick_GetInputParameterCount(This,pVal)	\
    (This)->lpVtbl -> GetInputParameterCount(This,pVal)

#define IRdME2ShaderBrick_GetInputParameters(This,pValue)	\
    (This)->lpVtbl -> GetInputParameters(This,pValue)

#define IRdME2ShaderBrick_LockObject(This)	\
    (This)->lpVtbl -> LockObject(This)

#define IRdME2ShaderBrick_UnlockObject(This)	\
    (This)->lpVtbl -> UnlockObject(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdME2ShaderBrick_Reset_Proxy( 
    IRdME2ShaderBrick * This);


void __RPC_STUB IRdME2ShaderBrick_Reset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdME2ShaderBrick_GetTimestamp_Proxy( 
    IRdME2ShaderBrick * This,
    /* [out] */ DWORD *pCodeStamp,
    /* [out] */ DWORD *pInputStamp);


void __RPC_STUB IRdME2ShaderBrick_GetTimestamp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdME2ShaderBrick_GetInstanceID_Proxy( 
    IRdME2ShaderBrick * This,
    /* [out] */ LPCSTR *pInstanceID);


void __RPC_STUB IRdME2ShaderBrick_GetInstanceID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdME2ShaderBrick_SetUniqueID_Proxy( 
    IRdME2ShaderBrick * This,
    /* [in] */ LPCSTR pszUniqueID);


void __RPC_STUB IRdME2ShaderBrick_SetUniqueID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdME2ShaderBrick_GetUniqueID_Proxy( 
    IRdME2ShaderBrick * This,
    /* [out] */ LPCSTR *pszUniqueID);


void __RPC_STUB IRdME2ShaderBrick_GetUniqueID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdME2ShaderBrick_GetBrick_Proxy( 
    IRdME2ShaderBrick * This,
    /* [out] */ struct RtME2ShaderBrickCode *pValue);


void __RPC_STUB IRdME2ShaderBrick_GetBrick_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdME2ShaderBrick_GetResult_Proxy( 
    IRdME2ShaderBrick * This,
    /* [out] */ LPCSTR *pResult,
    /* [out] */ LPCSTR *pType);


void __RPC_STUB IRdME2ShaderBrick_GetResult_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdME2ShaderBrick_GetPreviousBricksCount_Proxy( 
    IRdME2ShaderBrick * This,
    /* [out] */ DWORD *pValue);


void __RPC_STUB IRdME2ShaderBrick_GetPreviousBricksCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdME2ShaderBrick_GetPreviousBricks_Proxy( 
    IRdME2ShaderBrick * This,
    /* [out] */ IRdME2ShaderBrick ***pValue);


void __RPC_STUB IRdME2ShaderBrick_GetPreviousBricks_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdME2ShaderBrick_GetInputParameterCount_Proxy( 
    IRdME2ShaderBrick * This,
    /* [out] */ DWORD *pVal);


void __RPC_STUB IRdME2ShaderBrick_GetInputParameterCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdME2ShaderBrick_GetInputParameters_Proxy( 
    IRdME2ShaderBrick * This,
    /* [out] */ struct RtME2ShaderInputs **pValue);


void __RPC_STUB IRdME2ShaderBrick_GetInputParameters_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdME2ShaderBrick_LockObject_Proxy( 
    IRdME2ShaderBrick * This);


void __RPC_STUB IRdME2ShaderBrick_LockObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdME2ShaderBrick_UnlockObject_Proxy( 
    IRdME2ShaderBrick * This);


void __RPC_STUB IRdME2ShaderBrick_UnlockObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdME2ShaderBrick_INTERFACE_DEFINED__ */


#ifndef __IRdME2ShaderBrickInputFloat_INTERFACE_DEFINED__
#define __IRdME2ShaderBrickInputFloat_INTERFACE_DEFINED__

/* interface IRdME2ShaderBrickInputFloat */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdME2ShaderBrickInputFloat;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F08F6C52-AF76-44ee-8321-A61F0310B49F")
    IRdME2ShaderBrickInputFloat : public IRsDataObject
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdME2ShaderBrickInputFloatVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdME2ShaderBrickInputFloat * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdME2ShaderBrickInputFloat * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdME2ShaderBrickInputFloat * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdME2ShaderBrickInputFloat * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdME2ShaderBrickInputFloat * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdME2ShaderBrickInputFloat * This);
        
        END_INTERFACE
    } IRdME2ShaderBrickInputFloatVtbl;

    interface IRdME2ShaderBrickInputFloat
    {
        CONST_VTBL struct IRdME2ShaderBrickInputFloatVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdME2ShaderBrickInputFloat_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdME2ShaderBrickInputFloat_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdME2ShaderBrickInputFloat_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdME2ShaderBrickInputFloat_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdME2ShaderBrickInputFloat_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdME2ShaderBrickInputFloat_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdME2ShaderBrickInputFloat_INTERFACE_DEFINED__ */


#ifndef __IRnME2InputFloat_INTERFACE_DEFINED__
#define __IRnME2InputFloat_INTERFACE_DEFINED__

/* interface IRnME2InputFloat */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2InputFloat;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C27AA1F6-1F80-4c20-B3DC-26E009D2CDE0")
    IRnME2InputFloat : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2InputFloatVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2InputFloat * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2InputFloat * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2InputFloat * This);
        
        END_INTERFACE
    } IRnME2InputFloatVtbl;

    interface IRnME2InputFloat
    {
        CONST_VTBL struct IRnME2InputFloatVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2InputFloat_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2InputFloat_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2InputFloat_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2InputFloat_INTERFACE_DEFINED__ */


#ifndef __IRdME2ShaderBrickInputFloat4_INTERFACE_DEFINED__
#define __IRdME2ShaderBrickInputFloat4_INTERFACE_DEFINED__

/* interface IRdME2ShaderBrickInputFloat4 */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdME2ShaderBrickInputFloat4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("53EC92B8-1198-4748-9BAB-463218D95FB6")
    IRdME2ShaderBrickInputFloat4 : public IRsDataObject
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdME2ShaderBrickInputFloat4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdME2ShaderBrickInputFloat4 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdME2ShaderBrickInputFloat4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdME2ShaderBrickInputFloat4 * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdME2ShaderBrickInputFloat4 * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdME2ShaderBrickInputFloat4 * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdME2ShaderBrickInputFloat4 * This);
        
        END_INTERFACE
    } IRdME2ShaderBrickInputFloat4Vtbl;

    interface IRdME2ShaderBrickInputFloat4
    {
        CONST_VTBL struct IRdME2ShaderBrickInputFloat4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdME2ShaderBrickInputFloat4_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdME2ShaderBrickInputFloat4_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdME2ShaderBrickInputFloat4_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdME2ShaderBrickInputFloat4_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdME2ShaderBrickInputFloat4_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdME2ShaderBrickInputFloat4_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdME2ShaderBrickInputFloat4_INTERFACE_DEFINED__ */


#ifndef __IRnME2InputColor_INTERFACE_DEFINED__
#define __IRnME2InputColor_INTERFACE_DEFINED__

/* interface IRnME2InputColor */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2InputColor;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("AC5DF6D2-A204-4911-9144-A96AE864631C")
    IRnME2InputColor : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2InputColorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2InputColor * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2InputColor * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2InputColor * This);
        
        END_INTERFACE
    } IRnME2InputColorVtbl;

    interface IRnME2InputColor
    {
        CONST_VTBL struct IRnME2InputColorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2InputColor_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2InputColor_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2InputColor_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2InputColor_INTERFACE_DEFINED__ */


#ifndef __IRdME2ShaderBrickInputMatrix_INTERFACE_DEFINED__
#define __IRdME2ShaderBrickInputMatrix_INTERFACE_DEFINED__

/* interface IRdME2ShaderBrickInputMatrix */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdME2ShaderBrickInputMatrix;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("11DD195A-1DC6-4d23-9A61-B8779EF7A83B")
    IRdME2ShaderBrickInputMatrix : public IRsDataObject
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdME2ShaderBrickInputMatrixVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdME2ShaderBrickInputMatrix * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdME2ShaderBrickInputMatrix * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdME2ShaderBrickInputMatrix * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdME2ShaderBrickInputMatrix * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdME2ShaderBrickInputMatrix * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdME2ShaderBrickInputMatrix * This);
        
        END_INTERFACE
    } IRdME2ShaderBrickInputMatrixVtbl;

    interface IRdME2ShaderBrickInputMatrix
    {
        CONST_VTBL struct IRdME2ShaderBrickInputMatrixVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdME2ShaderBrickInputMatrix_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdME2ShaderBrickInputMatrix_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdME2ShaderBrickInputMatrix_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdME2ShaderBrickInputMatrix_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdME2ShaderBrickInputMatrix_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdME2ShaderBrickInputMatrix_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdME2ShaderBrickInputMatrix_INTERFACE_DEFINED__ */


#ifndef __IRnME2InputMatrix_INTERFACE_DEFINED__
#define __IRnME2InputMatrix_INTERFACE_DEFINED__

/* interface IRnME2InputMatrix */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2InputMatrix;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5B3F204A-A01E-4345-B567-26E32B0010BA")
    IRnME2InputMatrix : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2InputMatrixVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2InputMatrix * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2InputMatrix * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2InputMatrix * This);
        
        END_INTERFACE
    } IRnME2InputMatrixVtbl;

    interface IRnME2InputMatrix
    {
        CONST_VTBL struct IRnME2InputMatrixVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2InputMatrix_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2InputMatrix_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2InputMatrix_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2InputMatrix_INTERFACE_DEFINED__ */


#ifndef __IRnME2InputPoint_INTERFACE_DEFINED__
#define __IRnME2InputPoint_INTERFACE_DEFINED__

/* interface IRnME2InputPoint */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2InputPoint;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("256EC4EF-0FD2-4295-9E28-05C5C9DDB275")
    IRnME2InputPoint : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2InputPointVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2InputPoint * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2InputPoint * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2InputPoint * This);
        
        END_INTERFACE
    } IRnME2InputPointVtbl;

    interface IRnME2InputPoint
    {
        CONST_VTBL struct IRnME2InputPointVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2InputPoint_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2InputPoint_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2InputPoint_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2InputPoint_INTERFACE_DEFINED__ */


#ifndef __IRdME2ShaderBrickInputBitmap_INTERFACE_DEFINED__
#define __IRdME2ShaderBrickInputBitmap_INTERFACE_DEFINED__

/* interface IRdME2ShaderBrickInputBitmap */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdME2ShaderBrickInputBitmap;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7420A0D5-C002-45a2-A7CC-4F23EE3616E0")
    IRdME2ShaderBrickInputBitmap : public IRsDataObject
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdME2ShaderBrickInputBitmapVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdME2ShaderBrickInputBitmap * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdME2ShaderBrickInputBitmap * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdME2ShaderBrickInputBitmap * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdME2ShaderBrickInputBitmap * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdME2ShaderBrickInputBitmap * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdME2ShaderBrickInputBitmap * This);
        
        END_INTERFACE
    } IRdME2ShaderBrickInputBitmapVtbl;

    interface IRdME2ShaderBrickInputBitmap
    {
        CONST_VTBL struct IRdME2ShaderBrickInputBitmapVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdME2ShaderBrickInputBitmap_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdME2ShaderBrickInputBitmap_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdME2ShaderBrickInputBitmap_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdME2ShaderBrickInputBitmap_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdME2ShaderBrickInputBitmap_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdME2ShaderBrickInputBitmap_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdME2ShaderBrickInputBitmap_INTERFACE_DEFINED__ */


#ifndef __IRdME2ShaderBrickInputBitmap1D_INTERFACE_DEFINED__
#define __IRdME2ShaderBrickInputBitmap1D_INTERFACE_DEFINED__

/* interface IRdME2ShaderBrickInputBitmap1D */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdME2ShaderBrickInputBitmap1D;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6628BA67-D90D-4e54-BDD4-4565B92568D6")
    IRdME2ShaderBrickInputBitmap1D : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdME2ShaderBrickInputBitmap1DVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdME2ShaderBrickInputBitmap1D * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdME2ShaderBrickInputBitmap1D * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdME2ShaderBrickInputBitmap1D * This);
        
        END_INTERFACE
    } IRdME2ShaderBrickInputBitmap1DVtbl;

    interface IRdME2ShaderBrickInputBitmap1D
    {
        CONST_VTBL struct IRdME2ShaderBrickInputBitmap1DVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdME2ShaderBrickInputBitmap1D_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdME2ShaderBrickInputBitmap1D_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdME2ShaderBrickInputBitmap1D_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdME2ShaderBrickInputBitmap1D_INTERFACE_DEFINED__ */


#ifndef __IRdME2ShaderBrickInputBitmap2D_INTERFACE_DEFINED__
#define __IRdME2ShaderBrickInputBitmap2D_INTERFACE_DEFINED__

/* interface IRdME2ShaderBrickInputBitmap2D */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdME2ShaderBrickInputBitmap2D;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("991B28B2-7054-46b7-9DDE-9A8F4027C50E")
    IRdME2ShaderBrickInputBitmap2D : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdME2ShaderBrickInputBitmap2DVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdME2ShaderBrickInputBitmap2D * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdME2ShaderBrickInputBitmap2D * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdME2ShaderBrickInputBitmap2D * This);
        
        END_INTERFACE
    } IRdME2ShaderBrickInputBitmap2DVtbl;

    interface IRdME2ShaderBrickInputBitmap2D
    {
        CONST_VTBL struct IRdME2ShaderBrickInputBitmap2DVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdME2ShaderBrickInputBitmap2D_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdME2ShaderBrickInputBitmap2D_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdME2ShaderBrickInputBitmap2D_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdME2ShaderBrickInputBitmap2D_INTERFACE_DEFINED__ */


#ifndef __IRnME2InputBitmap_INTERFACE_DEFINED__
#define __IRnME2InputBitmap_INTERFACE_DEFINED__

/* interface IRnME2InputBitmap */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2InputBitmap;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("AAB998B2-156E-459f-BD07-A2829887BAB7")
    IRnME2InputBitmap : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2InputBitmapVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2InputBitmap * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2InputBitmap * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2InputBitmap * This);
        
        END_INTERFACE
    } IRnME2InputBitmapVtbl;

    interface IRnME2InputBitmap
    {
        CONST_VTBL struct IRnME2InputBitmapVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2InputBitmap_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2InputBitmap_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2InputBitmap_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2InputBitmap_INTERFACE_DEFINED__ */


#ifndef __IRcInsertNodeAt3D_INTERFACE_DEFINED__
#define __IRcInsertNodeAt3D_INTERFACE_DEFINED__

/* interface IRcInsertNodeAt3D */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcInsertNodeAt3D;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("06C46CE7-AF70-46c0-9BFC-2E3D1FD1261B")
    IRcInsertNodeAt3D : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcInsertNodeAt3DVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcInsertNodeAt3D * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcInsertNodeAt3D * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcInsertNodeAt3D * This);
        
        END_INTERFACE
    } IRcInsertNodeAt3DVtbl;

    interface IRcInsertNodeAt3D
    {
        CONST_VTBL struct IRcInsertNodeAt3DVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcInsertNodeAt3D_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcInsertNodeAt3D_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcInsertNodeAt3D_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcInsertNodeAt3D_INTERFACE_DEFINED__ */


#ifndef __IRcRendererUpdateFromNode_INTERFACE_DEFINED__
#define __IRcRendererUpdateFromNode_INTERFACE_DEFINED__

/* interface IRcRendererUpdateFromNode */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcRendererUpdateFromNode;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F09CBA89-7706-44f6-9810-47F68EBC4283")
    IRcRendererUpdateFromNode : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcRendererUpdateFromNodeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcRendererUpdateFromNode * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcRendererUpdateFromNode * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcRendererUpdateFromNode * This);
        
        END_INTERFACE
    } IRcRendererUpdateFromNodeVtbl;

    interface IRcRendererUpdateFromNode
    {
        CONST_VTBL struct IRcRendererUpdateFromNodeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcRendererUpdateFromNode_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcRendererUpdateFromNode_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcRendererUpdateFromNode_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcRendererUpdateFromNode_INTERFACE_DEFINED__ */


#ifndef __IRcShowD3DSettings_INTERFACE_DEFINED__
#define __IRcShowD3DSettings_INTERFACE_DEFINED__

/* interface IRcShowD3DSettings */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcShowD3DSettings;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C6B73110-B1E2-4716-B548-941B190DF2D9")
    IRcShowD3DSettings : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcShowD3DSettingsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcShowD3DSettings * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcShowD3DSettings * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcShowD3DSettings * This);
        
        END_INTERFACE
    } IRcShowD3DSettingsVtbl;

    interface IRcShowD3DSettings
    {
        CONST_VTBL struct IRcShowD3DSettingsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcShowD3DSettings_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcShowD3DSettings_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcShowD3DSettings_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcShowD3DSettings_INTERFACE_DEFINED__ */


#ifndef __IRcShowObjectRenderAttribsPanel_INTERFACE_DEFINED__
#define __IRcShowObjectRenderAttribsPanel_INTERFACE_DEFINED__

/* interface IRcShowObjectRenderAttribsPanel */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcShowObjectRenderAttribsPanel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("12CE4D05-29D3-4a73-984D-E91880210A3D")
    IRcShowObjectRenderAttribsPanel : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcShowObjectRenderAttribsPanelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcShowObjectRenderAttribsPanel * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcShowObjectRenderAttribsPanel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcShowObjectRenderAttribsPanel * This);
        
        END_INTERFACE
    } IRcShowObjectRenderAttribsPanelVtbl;

    interface IRcShowObjectRenderAttribsPanel
    {
        CONST_VTBL struct IRcShowObjectRenderAttribsPanelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcShowObjectRenderAttribsPanel_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcShowObjectRenderAttribsPanel_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcShowObjectRenderAttribsPanel_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcShowObjectRenderAttribsPanel_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__View3D_2031 */
/* [local] */ 


enum RtD3DVolumeType
    {	RtD3DVolume_Unknown	= 0,
	RtD3DVolume_Sphere	= 1,
	RtD3DVolume_AABB	= 2,
	RtD3DVolume_Frustum	= 3,
	RtD3DVolume_FORCE_DWORD	= -1
    } ;
typedef struct RtD3DPlane
    {
    float m_fA;
    float m_fB;
    float m_fC;
    float m_fD;
    } 	RtD3DPlane;



extern RPC_IF_HANDLE __MIDL_itf__View3D_2031_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__View3D_2031_v0_0_s_ifspec;

#ifndef __IRdBoundingVolume_INTERFACE_DEFINED__
#define __IRdBoundingVolume_INTERFACE_DEFINED__

/* interface IRdBoundingVolume */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdBoundingVolume;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A555C077-7CA8-4679-8000-EF5D7382B36B")
    IRdBoundingVolume : public IRsDataObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetType( 
            /* [out] */ enum RtD3DVolumeType *pOutType) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAsSphere( 
            /* [in] */ RtPoint *pCenter,
            /* [in] */ float fRadius) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSphere( 
            /* [out] */ RtPoint *pCenter,
            /* [out] */ float *fRadius) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAsAABB( 
            /* [in] */ RtBoundingBox *pBBox) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAABB( 
            /* [out] */ RtBoundingBox *pBBox) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAsFrustum( 
            /* [in] */ RtD3DPlane *pLeft,
            /* [in] */ RtD3DPlane *pRight,
            /* [in] */ RtD3DPlane *pTop,
            /* [in] */ RtD3DPlane *pBottom,
            /* [in] */ RtD3DPlane *pNear,
            /* [in] */ RtD3DPlane *pFar) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFrustum( 
            /* [out] */ RtD3DPlane *pLeft,
            /* [out] */ RtD3DPlane *pRight,
            /* [out] */ RtD3DPlane *pTop,
            /* [out] */ RtD3DPlane *pBottom,
            /* [out] */ RtD3DPlane *pNear,
            /* [out] */ RtD3DPlane *pFar) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdBoundingVolumeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdBoundingVolume * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdBoundingVolume * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdBoundingVolume * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdBoundingVolume * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdBoundingVolume * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdBoundingVolume * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdBoundingVolume * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetType )( 
            IRdBoundingVolume * This,
            /* [out] */ enum RtD3DVolumeType *pOutType);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAsSphere )( 
            IRdBoundingVolume * This,
            /* [in] */ RtPoint *pCenter,
            /* [in] */ float fRadius);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSphere )( 
            IRdBoundingVolume * This,
            /* [out] */ RtPoint *pCenter,
            /* [out] */ float *fRadius);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAsAABB )( 
            IRdBoundingVolume * This,
            /* [in] */ RtBoundingBox *pBBox);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAABB )( 
            IRdBoundingVolume * This,
            /* [out] */ RtBoundingBox *pBBox);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAsFrustum )( 
            IRdBoundingVolume * This,
            /* [in] */ RtD3DPlane *pLeft,
            /* [in] */ RtD3DPlane *pRight,
            /* [in] */ RtD3DPlane *pTop,
            /* [in] */ RtD3DPlane *pBottom,
            /* [in] */ RtD3DPlane *pNear,
            /* [in] */ RtD3DPlane *pFar);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFrustum )( 
            IRdBoundingVolume * This,
            /* [out] */ RtD3DPlane *pLeft,
            /* [out] */ RtD3DPlane *pRight,
            /* [out] */ RtD3DPlane *pTop,
            /* [out] */ RtD3DPlane *pBottom,
            /* [out] */ RtD3DPlane *pNear,
            /* [out] */ RtD3DPlane *pFar);
        
        END_INTERFACE
    } IRdBoundingVolumeVtbl;

    interface IRdBoundingVolume
    {
        CONST_VTBL struct IRdBoundingVolumeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdBoundingVolume_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdBoundingVolume_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdBoundingVolume_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdBoundingVolume_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdBoundingVolume_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdBoundingVolume_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdBoundingVolume_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdBoundingVolume_GetType(This,pOutType)	\
    (This)->lpVtbl -> GetType(This,pOutType)

#define IRdBoundingVolume_SetAsSphere(This,pCenter,fRadius)	\
    (This)->lpVtbl -> SetAsSphere(This,pCenter,fRadius)

#define IRdBoundingVolume_GetSphere(This,pCenter,fRadius)	\
    (This)->lpVtbl -> GetSphere(This,pCenter,fRadius)

#define IRdBoundingVolume_SetAsAABB(This,pBBox)	\
    (This)->lpVtbl -> SetAsAABB(This,pBBox)

#define IRdBoundingVolume_GetAABB(This,pBBox)	\
    (This)->lpVtbl -> GetAABB(This,pBBox)

#define IRdBoundingVolume_SetAsFrustum(This,pLeft,pRight,pTop,pBottom,pNear,pFar)	\
    (This)->lpVtbl -> SetAsFrustum(This,pLeft,pRight,pTop,pBottom,pNear,pFar)

#define IRdBoundingVolume_GetFrustum(This,pLeft,pRight,pTop,pBottom,pNear,pFar)	\
    (This)->lpVtbl -> GetFrustum(This,pLeft,pRight,pTop,pBottom,pNear,pFar)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBoundingVolume_Clear_Proxy( 
    IRdBoundingVolume * This);


void __RPC_STUB IRdBoundingVolume_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBoundingVolume_GetType_Proxy( 
    IRdBoundingVolume * This,
    /* [out] */ enum RtD3DVolumeType *pOutType);


void __RPC_STUB IRdBoundingVolume_GetType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBoundingVolume_SetAsSphere_Proxy( 
    IRdBoundingVolume * This,
    /* [in] */ RtPoint *pCenter,
    /* [in] */ float fRadius);


void __RPC_STUB IRdBoundingVolume_SetAsSphere_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBoundingVolume_GetSphere_Proxy( 
    IRdBoundingVolume * This,
    /* [out] */ RtPoint *pCenter,
    /* [out] */ float *fRadius);


void __RPC_STUB IRdBoundingVolume_GetSphere_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBoundingVolume_SetAsAABB_Proxy( 
    IRdBoundingVolume * This,
    /* [in] */ RtBoundingBox *pBBox);


void __RPC_STUB IRdBoundingVolume_SetAsAABB_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBoundingVolume_GetAABB_Proxy( 
    IRdBoundingVolume * This,
    /* [out] */ RtBoundingBox *pBBox);


void __RPC_STUB IRdBoundingVolume_GetAABB_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBoundingVolume_SetAsFrustum_Proxy( 
    IRdBoundingVolume * This,
    /* [in] */ RtD3DPlane *pLeft,
    /* [in] */ RtD3DPlane *pRight,
    /* [in] */ RtD3DPlane *pTop,
    /* [in] */ RtD3DPlane *pBottom,
    /* [in] */ RtD3DPlane *pNear,
    /* [in] */ RtD3DPlane *pFar);


void __RPC_STUB IRdBoundingVolume_SetAsFrustum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdBoundingVolume_GetFrustum_Proxy( 
    IRdBoundingVolume * This,
    /* [out] */ RtD3DPlane *pLeft,
    /* [out] */ RtD3DPlane *pRight,
    /* [out] */ RtD3DPlane *pTop,
    /* [out] */ RtD3DPlane *pBottom,
    /* [out] */ RtD3DPlane *pNear,
    /* [out] */ RtD3DPlane *pFar);


void __RPC_STUB IRdBoundingVolume_GetFrustum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdBoundingVolume_INTERFACE_DEFINED__ */


#ifndef __IRdD3DGrid_INTERFACE_DEFINED__
#define __IRdD3DGrid_INTERFACE_DEFINED__

/* interface IRdD3DGrid */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdD3DGrid;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A89FC01F-75EF-4808-9D42-D48304F1BB3D")
    IRdD3DGrid : public IRsDataObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetGridParams( 
            /* [in] */ BSTR bstrType,
            /* [in] */ RtUlong TilesX,
            /* [in] */ RtUlong TilesY,
            /* [in] */ RtFloat Zoom,
            /* [in] */ RtUlong Repeat) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetGridParams( 
            /* [out] */ BSTR *bstrType,
            /* [out] */ RtUlong *TilesX,
            /* [out] */ RtUlong *TilesY,
            /* [out] */ RtFloat *Zoom,
            /* [out] */ RtUlong *Repeat) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetColor1( 
            /* [in] */ RtUlong AmbientColor,
            /* [in] */ RtUlong DiffuseColor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetColor1( 
            /* [out] */ RtUlong *AmbientColor,
            /* [out] */ RtUlong *DiffuseColor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetColor2( 
            /* [in] */ RtUlong AmbientColor,
            /* [in] */ RtUlong DiffuseColor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetColor2( 
            /* [out] */ RtUlong *AmbientColor,
            /* [out] */ RtUlong *DiffuseColor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetEnabled( 
            /* [in] */ RtBOOL bEnabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetEnabled( 
            /* [out] */ RtBOOL *bEnabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetWireframe( 
            /* [in] */ RtBOOL bEnabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetWireframe( 
            /* [out] */ RtBOOL *bEnabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetTwoSided( 
            /* [in] */ RtBOOL bEnabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTwoSided( 
            /* [out] */ RtBOOL *bEnabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetGridID( 
            /* [in] */ DWORD dwID) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetGridID( 
            /* [out] */ DWORD *dwID) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdD3DGridVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdD3DGrid * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdD3DGrid * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdD3DGrid * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdD3DGrid * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdD3DGrid * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdD3DGrid * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdD3DGrid * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetGridParams )( 
            IRdD3DGrid * This,
            /* [in] */ BSTR bstrType,
            /* [in] */ RtUlong TilesX,
            /* [in] */ RtUlong TilesY,
            /* [in] */ RtFloat Zoom,
            /* [in] */ RtUlong Repeat);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetGridParams )( 
            IRdD3DGrid * This,
            /* [out] */ BSTR *bstrType,
            /* [out] */ RtUlong *TilesX,
            /* [out] */ RtUlong *TilesY,
            /* [out] */ RtFloat *Zoom,
            /* [out] */ RtUlong *Repeat);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetColor1 )( 
            IRdD3DGrid * This,
            /* [in] */ RtUlong AmbientColor,
            /* [in] */ RtUlong DiffuseColor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetColor1 )( 
            IRdD3DGrid * This,
            /* [out] */ RtUlong *AmbientColor,
            /* [out] */ RtUlong *DiffuseColor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetColor2 )( 
            IRdD3DGrid * This,
            /* [in] */ RtUlong AmbientColor,
            /* [in] */ RtUlong DiffuseColor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetColor2 )( 
            IRdD3DGrid * This,
            /* [out] */ RtUlong *AmbientColor,
            /* [out] */ RtUlong *DiffuseColor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetEnabled )( 
            IRdD3DGrid * This,
            /* [in] */ RtBOOL bEnabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetEnabled )( 
            IRdD3DGrid * This,
            /* [out] */ RtBOOL *bEnabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetWireframe )( 
            IRdD3DGrid * This,
            /* [in] */ RtBOOL bEnabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetWireframe )( 
            IRdD3DGrid * This,
            /* [out] */ RtBOOL *bEnabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetTwoSided )( 
            IRdD3DGrid * This,
            /* [in] */ RtBOOL bEnabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTwoSided )( 
            IRdD3DGrid * This,
            /* [out] */ RtBOOL *bEnabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetGridID )( 
            IRdD3DGrid * This,
            /* [in] */ DWORD dwID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetGridID )( 
            IRdD3DGrid * This,
            /* [out] */ DWORD *dwID);
        
        END_INTERFACE
    } IRdD3DGridVtbl;

    interface IRdD3DGrid
    {
        CONST_VTBL struct IRdD3DGridVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdD3DGrid_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdD3DGrid_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdD3DGrid_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdD3DGrid_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdD3DGrid_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdD3DGrid_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdD3DGrid_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdD3DGrid_SetGridParams(This,bstrType,TilesX,TilesY,Zoom,Repeat)	\
    (This)->lpVtbl -> SetGridParams(This,bstrType,TilesX,TilesY,Zoom,Repeat)

#define IRdD3DGrid_GetGridParams(This,bstrType,TilesX,TilesY,Zoom,Repeat)	\
    (This)->lpVtbl -> GetGridParams(This,bstrType,TilesX,TilesY,Zoom,Repeat)

#define IRdD3DGrid_SetColor1(This,AmbientColor,DiffuseColor)	\
    (This)->lpVtbl -> SetColor1(This,AmbientColor,DiffuseColor)

#define IRdD3DGrid_GetColor1(This,AmbientColor,DiffuseColor)	\
    (This)->lpVtbl -> GetColor1(This,AmbientColor,DiffuseColor)

#define IRdD3DGrid_SetColor2(This,AmbientColor,DiffuseColor)	\
    (This)->lpVtbl -> SetColor2(This,AmbientColor,DiffuseColor)

#define IRdD3DGrid_GetColor2(This,AmbientColor,DiffuseColor)	\
    (This)->lpVtbl -> GetColor2(This,AmbientColor,DiffuseColor)

#define IRdD3DGrid_SetEnabled(This,bEnabled)	\
    (This)->lpVtbl -> SetEnabled(This,bEnabled)

#define IRdD3DGrid_GetEnabled(This,bEnabled)	\
    (This)->lpVtbl -> GetEnabled(This,bEnabled)

#define IRdD3DGrid_SetWireframe(This,bEnabled)	\
    (This)->lpVtbl -> SetWireframe(This,bEnabled)

#define IRdD3DGrid_GetWireframe(This,bEnabled)	\
    (This)->lpVtbl -> GetWireframe(This,bEnabled)

#define IRdD3DGrid_SetTwoSided(This,bEnabled)	\
    (This)->lpVtbl -> SetTwoSided(This,bEnabled)

#define IRdD3DGrid_GetTwoSided(This,bEnabled)	\
    (This)->lpVtbl -> GetTwoSided(This,bEnabled)

#define IRdD3DGrid_SetGridID(This,dwID)	\
    (This)->lpVtbl -> SetGridID(This,dwID)

#define IRdD3DGrid_GetGridID(This,dwID)	\
    (This)->lpVtbl -> GetGridID(This,dwID)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DGrid_Clear_Proxy( 
    IRdD3DGrid * This);


void __RPC_STUB IRdD3DGrid_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DGrid_SetGridParams_Proxy( 
    IRdD3DGrid * This,
    /* [in] */ BSTR bstrType,
    /* [in] */ RtUlong TilesX,
    /* [in] */ RtUlong TilesY,
    /* [in] */ RtFloat Zoom,
    /* [in] */ RtUlong Repeat);


void __RPC_STUB IRdD3DGrid_SetGridParams_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DGrid_GetGridParams_Proxy( 
    IRdD3DGrid * This,
    /* [out] */ BSTR *bstrType,
    /* [out] */ RtUlong *TilesX,
    /* [out] */ RtUlong *TilesY,
    /* [out] */ RtFloat *Zoom,
    /* [out] */ RtUlong *Repeat);


void __RPC_STUB IRdD3DGrid_GetGridParams_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DGrid_SetColor1_Proxy( 
    IRdD3DGrid * This,
    /* [in] */ RtUlong AmbientColor,
    /* [in] */ RtUlong DiffuseColor);


void __RPC_STUB IRdD3DGrid_SetColor1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DGrid_GetColor1_Proxy( 
    IRdD3DGrid * This,
    /* [out] */ RtUlong *AmbientColor,
    /* [out] */ RtUlong *DiffuseColor);


void __RPC_STUB IRdD3DGrid_GetColor1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DGrid_SetColor2_Proxy( 
    IRdD3DGrid * This,
    /* [in] */ RtUlong AmbientColor,
    /* [in] */ RtUlong DiffuseColor);


void __RPC_STUB IRdD3DGrid_SetColor2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DGrid_GetColor2_Proxy( 
    IRdD3DGrid * This,
    /* [out] */ RtUlong *AmbientColor,
    /* [out] */ RtUlong *DiffuseColor);


void __RPC_STUB IRdD3DGrid_GetColor2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DGrid_SetEnabled_Proxy( 
    IRdD3DGrid * This,
    /* [in] */ RtBOOL bEnabled);


void __RPC_STUB IRdD3DGrid_SetEnabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DGrid_GetEnabled_Proxy( 
    IRdD3DGrid * This,
    /* [out] */ RtBOOL *bEnabled);


void __RPC_STUB IRdD3DGrid_GetEnabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DGrid_SetWireframe_Proxy( 
    IRdD3DGrid * This,
    /* [in] */ RtBOOL bEnabled);


void __RPC_STUB IRdD3DGrid_SetWireframe_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DGrid_GetWireframe_Proxy( 
    IRdD3DGrid * This,
    /* [out] */ RtBOOL *bEnabled);


void __RPC_STUB IRdD3DGrid_GetWireframe_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DGrid_SetTwoSided_Proxy( 
    IRdD3DGrid * This,
    /* [in] */ RtBOOL bEnabled);


void __RPC_STUB IRdD3DGrid_SetTwoSided_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DGrid_GetTwoSided_Proxy( 
    IRdD3DGrid * This,
    /* [out] */ RtBOOL *bEnabled);


void __RPC_STUB IRdD3DGrid_GetTwoSided_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DGrid_SetGridID_Proxy( 
    IRdD3DGrid * This,
    /* [in] */ DWORD dwID);


void __RPC_STUB IRdD3DGrid_SetGridID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DGrid_GetGridID_Proxy( 
    IRdD3DGrid * This,
    /* [out] */ DWORD *dwID);


void __RPC_STUB IRdD3DGrid_GetGridID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdD3DGrid_INTERFACE_DEFINED__ */


#ifndef __IRdMEShaderLight_INTERFACE_DEFINED__
#define __IRdMEShaderLight_INTERFACE_DEFINED__

/* interface IRdMEShaderLight */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdMEShaderLight;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BCFE5D73-E994-43d7-8978-054041984EC6")
    IRdMEShaderLight : public IRdMEShader
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdMEShaderLightVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdMEShaderLight * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdMEShaderLight * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdMEShaderLight * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdMEShaderLight * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetShaderName )( 
            IRdMEShaderLight * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetShaderType )( 
            IRdMEShaderLight * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShaderType )( 
            IRdMEShaderLight * This,
            /* [retval][out] */ BSTR *pbstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShaderShortName )( 
            IRdMEShaderLight * This,
            /* [retval][out] */ BSTR *pbstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShaderFullName )( 
            IRdMEShaderLight * This,
            /* [retval][out] */ BSTR *pbstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetShader )( 
            IRdMEShaderLight * This,
            /* [in] */ BSTR bstrShader);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShader )( 
            IRdMEShaderLight * This,
            /* [retval][out] */ BSTR *pbstrShader);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameterCount )( 
            IRdMEShaderLight * This,
            /* [out] */ RtDWORD *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameter )( 
            IRdMEShaderLight * This,
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ BSTR *pVariableName,
            /* [out] */ BSTR *pNodeName,
            /* [out] */ BSTR *pConnectorName,
            /* [out] */ BSTR *pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddInputParameter )( 
            IRdMEShaderLight * This,
            /* [in] */ BSTR pVariableName,
            /* [in] */ BSTR pNodeName,
            /* [in] */ BSTR pConnectorName,
            /* [in] */ BSTR pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AppendInputParameters )( 
            IRdMEShaderLight * This,
            /* [in] */ IRdMEShaderBrick *pVal);
        
        END_INTERFACE
    } IRdMEShaderLightVtbl;

    interface IRdMEShaderLight
    {
        CONST_VTBL struct IRdMEShaderLightVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdMEShaderLight_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdMEShaderLight_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdMEShaderLight_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdMEShaderLight_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdMEShaderLight_SetShaderName(This,bstrValue)	\
    (This)->lpVtbl -> SetShaderName(This,bstrValue)

#define IRdMEShaderLight_SetShaderType(This,bstrValue)	\
    (This)->lpVtbl -> SetShaderType(This,bstrValue)

#define IRdMEShaderLight_GetShaderType(This,pbstrValue)	\
    (This)->lpVtbl -> GetShaderType(This,pbstrValue)

#define IRdMEShaderLight_GetShaderShortName(This,pbstrValue)	\
    (This)->lpVtbl -> GetShaderShortName(This,pbstrValue)

#define IRdMEShaderLight_GetShaderFullName(This,pbstrValue)	\
    (This)->lpVtbl -> GetShaderFullName(This,pbstrValue)

#define IRdMEShaderLight_SetShader(This,bstrShader)	\
    (This)->lpVtbl -> SetShader(This,bstrShader)

#define IRdMEShaderLight_GetShader(This,pbstrShader)	\
    (This)->lpVtbl -> GetShader(This,pbstrShader)

#define IRdMEShaderLight_GetInputParameterCount(This,pVal)	\
    (This)->lpVtbl -> GetInputParameterCount(This,pVal)

#define IRdMEShaderLight_GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdMEShaderLight_AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdMEShaderLight_AppendInputParameters(This,pVal)	\
    (This)->lpVtbl -> AppendInputParameters(This,pVal)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdMEShaderLight_INTERFACE_DEFINED__ */


#ifndef __IRdMEShaderLightVS_INTERFACE_DEFINED__
#define __IRdMEShaderLightVS_INTERFACE_DEFINED__

/* interface IRdMEShaderLightVS */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdMEShaderLightVS;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("FE4244CC-8956-47a1-8AFC-6B335CAEA6E7")
    IRdMEShaderLightVS : public IRdMEShader
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdMEShaderLightVSVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdMEShaderLightVS * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdMEShaderLightVS * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdMEShaderLightVS * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdMEShaderLightVS * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetShaderName )( 
            IRdMEShaderLightVS * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetShaderType )( 
            IRdMEShaderLightVS * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShaderType )( 
            IRdMEShaderLightVS * This,
            /* [retval][out] */ BSTR *pbstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShaderShortName )( 
            IRdMEShaderLightVS * This,
            /* [retval][out] */ BSTR *pbstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShaderFullName )( 
            IRdMEShaderLightVS * This,
            /* [retval][out] */ BSTR *pbstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetShader )( 
            IRdMEShaderLightVS * This,
            /* [in] */ BSTR bstrShader);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShader )( 
            IRdMEShaderLightVS * This,
            /* [retval][out] */ BSTR *pbstrShader);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameterCount )( 
            IRdMEShaderLightVS * This,
            /* [out] */ RtDWORD *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameter )( 
            IRdMEShaderLightVS * This,
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ BSTR *pVariableName,
            /* [out] */ BSTR *pNodeName,
            /* [out] */ BSTR *pConnectorName,
            /* [out] */ BSTR *pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddInputParameter )( 
            IRdMEShaderLightVS * This,
            /* [in] */ BSTR pVariableName,
            /* [in] */ BSTR pNodeName,
            /* [in] */ BSTR pConnectorName,
            /* [in] */ BSTR pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AppendInputParameters )( 
            IRdMEShaderLightVS * This,
            /* [in] */ IRdMEShaderBrick *pVal);
        
        END_INTERFACE
    } IRdMEShaderLightVSVtbl;

    interface IRdMEShaderLightVS
    {
        CONST_VTBL struct IRdMEShaderLightVSVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdMEShaderLightVS_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdMEShaderLightVS_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdMEShaderLightVS_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdMEShaderLightVS_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdMEShaderLightVS_SetShaderName(This,bstrValue)	\
    (This)->lpVtbl -> SetShaderName(This,bstrValue)

#define IRdMEShaderLightVS_SetShaderType(This,bstrValue)	\
    (This)->lpVtbl -> SetShaderType(This,bstrValue)

#define IRdMEShaderLightVS_GetShaderType(This,pbstrValue)	\
    (This)->lpVtbl -> GetShaderType(This,pbstrValue)

#define IRdMEShaderLightVS_GetShaderShortName(This,pbstrValue)	\
    (This)->lpVtbl -> GetShaderShortName(This,pbstrValue)

#define IRdMEShaderLightVS_GetShaderFullName(This,pbstrValue)	\
    (This)->lpVtbl -> GetShaderFullName(This,pbstrValue)

#define IRdMEShaderLightVS_SetShader(This,bstrShader)	\
    (This)->lpVtbl -> SetShader(This,bstrShader)

#define IRdMEShaderLightVS_GetShader(This,pbstrShader)	\
    (This)->lpVtbl -> GetShader(This,pbstrShader)

#define IRdMEShaderLightVS_GetInputParameterCount(This,pVal)	\
    (This)->lpVtbl -> GetInputParameterCount(This,pVal)

#define IRdMEShaderLightVS_GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdMEShaderLightVS_AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdMEShaderLightVS_AppendInputParameters(This,pVal)	\
    (This)->lpVtbl -> AppendInputParameters(This,pVal)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdMEShaderLightVS_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__View3D_2035 */
/* [local] */ 

struct RtME2ShaderCode
    {
    LPCSTR m_szInputs;
    LPCSTR m_szFunctions;
    LPCSTR m_szDefinition;
    LPCSTR m_szShaderFunctionName;
    LPCSTR m_szType;
    } ;


extern RPC_IF_HANDLE __MIDL_itf__View3D_2035_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__View3D_2035_v0_0_s_ifspec;

#ifndef __IRdME2Shader_INTERFACE_DEFINED__
#define __IRdME2Shader_INTERFACE_DEFINED__

/* interface IRdME2Shader */
/* [unique][helpstring][uuid][local][object] */ 


EXTERN_C const IID IID_IRdME2Shader;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("95403368-75E3-4cea-98BB-D820E1BC1D10")
    IRdME2Shader : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTimestamp( 
            /* [out] */ DWORD *pCodeStamp) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCode( 
            /* [out] */ struct RtME2ShaderCode *pValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetInputBricks( 
            /* [out] */ DWORD *pCount,
            /* [out] */ IRdME2ShaderBrick ***pBricks) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LockObject( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnlockObject( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdME2ShaderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdME2Shader * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdME2Shader * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdME2Shader * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IRdME2Shader * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTimestamp )( 
            IRdME2Shader * This,
            /* [out] */ DWORD *pCodeStamp);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCode )( 
            IRdME2Shader * This,
            /* [out] */ struct RtME2ShaderCode *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputBricks )( 
            IRdME2Shader * This,
            /* [out] */ DWORD *pCount,
            /* [out] */ IRdME2ShaderBrick ***pBricks);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LockObject )( 
            IRdME2Shader * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnlockObject )( 
            IRdME2Shader * This);
        
        END_INTERFACE
    } IRdME2ShaderVtbl;

    interface IRdME2Shader
    {
        CONST_VTBL struct IRdME2ShaderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdME2Shader_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdME2Shader_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdME2Shader_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdME2Shader_Reset(This)	\
    (This)->lpVtbl -> Reset(This)

#define IRdME2Shader_GetTimestamp(This,pCodeStamp)	\
    (This)->lpVtbl -> GetTimestamp(This,pCodeStamp)

#define IRdME2Shader_GetCode(This,pValue)	\
    (This)->lpVtbl -> GetCode(This,pValue)

#define IRdME2Shader_GetInputBricks(This,pCount,pBricks)	\
    (This)->lpVtbl -> GetInputBricks(This,pCount,pBricks)

#define IRdME2Shader_LockObject(This)	\
    (This)->lpVtbl -> LockObject(This)

#define IRdME2Shader_UnlockObject(This)	\
    (This)->lpVtbl -> UnlockObject(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdME2Shader_Reset_Proxy( 
    IRdME2Shader * This);


void __RPC_STUB IRdME2Shader_Reset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdME2Shader_GetTimestamp_Proxy( 
    IRdME2Shader * This,
    /* [out] */ DWORD *pCodeStamp);


void __RPC_STUB IRdME2Shader_GetTimestamp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdME2Shader_GetCode_Proxy( 
    IRdME2Shader * This,
    /* [out] */ struct RtME2ShaderCode *pValue);


void __RPC_STUB IRdME2Shader_GetCode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdME2Shader_GetInputBricks_Proxy( 
    IRdME2Shader * This,
    /* [out] */ DWORD *pCount,
    /* [out] */ IRdME2ShaderBrick ***pBricks);


void __RPC_STUB IRdME2Shader_GetInputBricks_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdME2Shader_LockObject_Proxy( 
    IRdME2Shader * This);


void __RPC_STUB IRdME2Shader_LockObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdME2Shader_UnlockObject_Proxy( 
    IRdME2Shader * This);


void __RPC_STUB IRdME2Shader_UnlockObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdME2Shader_INTERFACE_DEFINED__ */


#ifndef __IRdME2ShaderLight_INTERFACE_DEFINED__
#define __IRdME2ShaderLight_INTERFACE_DEFINED__

/* interface IRdME2ShaderLight */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdME2ShaderLight;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("125F70D2-9899-45de-95E7-A087482C7D4F")
    IRdME2ShaderLight : public IRsDataObject
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdME2ShaderLightVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdME2ShaderLight * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdME2ShaderLight * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdME2ShaderLight * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdME2ShaderLight * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdME2ShaderLight * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdME2ShaderLight * This);
        
        END_INTERFACE
    } IRdME2ShaderLightVtbl;

    interface IRdME2ShaderLight
    {
        CONST_VTBL struct IRdME2ShaderLightVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdME2ShaderLight_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdME2ShaderLight_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdME2ShaderLight_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdME2ShaderLight_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdME2ShaderLight_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdME2ShaderLight_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdME2ShaderLight_INTERFACE_DEFINED__ */


#ifndef __IRdME2ShaderLightVertex_INTERFACE_DEFINED__
#define __IRdME2ShaderLightVertex_INTERFACE_DEFINED__

/* interface IRdME2ShaderLightVertex */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdME2ShaderLightVertex;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("56967085-D99C-4449-A016-C5B6DD24C2C7")
    IRdME2ShaderLightVertex : public IRsDataObject
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdME2ShaderLightVertexVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdME2ShaderLightVertex * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdME2ShaderLightVertex * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdME2ShaderLightVertex * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdME2ShaderLightVertex * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdME2ShaderLightVertex * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdME2ShaderLightVertex * This);
        
        END_INTERFACE
    } IRdME2ShaderLightVertexVtbl;

    interface IRdME2ShaderLightVertex
    {
        CONST_VTBL struct IRdME2ShaderLightVertexVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdME2ShaderLightVertex_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdME2ShaderLightVertex_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdME2ShaderLightVertex_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdME2ShaderLightVertex_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdME2ShaderLightVertex_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdME2ShaderLightVertex_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdME2ShaderLightVertex_INTERFACE_DEFINED__ */


#ifndef __IRdD3DLightProperties_INTERFACE_DEFINED__
#define __IRdD3DLightProperties_INTERFACE_DEFINED__

/* interface IRdD3DLightProperties */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdD3DLightProperties;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("72D6357E-129E-4d13-B0DC-24634DADB16B")
    IRdD3DLightProperties : public IRsDataObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetVersion( 
            /* [out] */ DWORD *pOutVersion) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetShaders( 
            /* [out] */ IRdME2ShaderLight **pShader,
            /* [out] */ IRdME2ShaderLightVertex **pShaderVS) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetPixelLightShader( 
            /* [in] */ IRdMEShaderLight *pShader) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPixelLightShader( 
            /* [out] */ IRdMEShaderLight **pShader) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetVertexLightShader( 
            /* [in] */ IRdMEShaderLightVS *pShader) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetVertexLightShader( 
            /* [out] */ IRdMEShaderLightVS **pShader) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetBoundingVolume( 
            /* [in] */ IRdBoundingVolume *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBoundingVolume( 
            /* [out] */ IRdBoundingVolume **pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdD3DLightPropertiesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdD3DLightProperties * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdD3DLightProperties * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdD3DLightProperties * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdD3DLightProperties * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdD3DLightProperties * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdD3DLightProperties * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdD3DLightProperties * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetVersion )( 
            IRdD3DLightProperties * This,
            /* [out] */ DWORD *pOutVersion);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShaders )( 
            IRdD3DLightProperties * This,
            /* [out] */ IRdME2ShaderLight **pShader,
            /* [out] */ IRdME2ShaderLightVertex **pShaderVS);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetPixelLightShader )( 
            IRdD3DLightProperties * This,
            /* [in] */ IRdMEShaderLight *pShader);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPixelLightShader )( 
            IRdD3DLightProperties * This,
            /* [out] */ IRdMEShaderLight **pShader);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetVertexLightShader )( 
            IRdD3DLightProperties * This,
            /* [in] */ IRdMEShaderLightVS *pShader);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetVertexLightShader )( 
            IRdD3DLightProperties * This,
            /* [out] */ IRdMEShaderLightVS **pShader);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetBoundingVolume )( 
            IRdD3DLightProperties * This,
            /* [in] */ IRdBoundingVolume *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingVolume )( 
            IRdD3DLightProperties * This,
            /* [out] */ IRdBoundingVolume **pVal);
        
        END_INTERFACE
    } IRdD3DLightPropertiesVtbl;

    interface IRdD3DLightProperties
    {
        CONST_VTBL struct IRdD3DLightPropertiesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdD3DLightProperties_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdD3DLightProperties_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdD3DLightProperties_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdD3DLightProperties_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdD3DLightProperties_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdD3DLightProperties_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdD3DLightProperties_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdD3DLightProperties_GetVersion(This,pOutVersion)	\
    (This)->lpVtbl -> GetVersion(This,pOutVersion)

#define IRdD3DLightProperties_GetShaders(This,pShader,pShaderVS)	\
    (This)->lpVtbl -> GetShaders(This,pShader,pShaderVS)

#define IRdD3DLightProperties_SetPixelLightShader(This,pShader)	\
    (This)->lpVtbl -> SetPixelLightShader(This,pShader)

#define IRdD3DLightProperties_GetPixelLightShader(This,pShader)	\
    (This)->lpVtbl -> GetPixelLightShader(This,pShader)

#define IRdD3DLightProperties_SetVertexLightShader(This,pShader)	\
    (This)->lpVtbl -> SetVertexLightShader(This,pShader)

#define IRdD3DLightProperties_GetVertexLightShader(This,pShader)	\
    (This)->lpVtbl -> GetVertexLightShader(This,pShader)

#define IRdD3DLightProperties_SetBoundingVolume(This,pVal)	\
    (This)->lpVtbl -> SetBoundingVolume(This,pVal)

#define IRdD3DLightProperties_GetBoundingVolume(This,pVal)	\
    (This)->lpVtbl -> GetBoundingVolume(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DLightProperties_Clear_Proxy( 
    IRdD3DLightProperties * This);


void __RPC_STUB IRdD3DLightProperties_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DLightProperties_GetVersion_Proxy( 
    IRdD3DLightProperties * This,
    /* [out] */ DWORD *pOutVersion);


void __RPC_STUB IRdD3DLightProperties_GetVersion_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DLightProperties_GetShaders_Proxy( 
    IRdD3DLightProperties * This,
    /* [out] */ IRdME2ShaderLight **pShader,
    /* [out] */ IRdME2ShaderLightVertex **pShaderVS);


void __RPC_STUB IRdD3DLightProperties_GetShaders_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DLightProperties_SetPixelLightShader_Proxy( 
    IRdD3DLightProperties * This,
    /* [in] */ IRdMEShaderLight *pShader);


void __RPC_STUB IRdD3DLightProperties_SetPixelLightShader_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DLightProperties_GetPixelLightShader_Proxy( 
    IRdD3DLightProperties * This,
    /* [out] */ IRdMEShaderLight **pShader);


void __RPC_STUB IRdD3DLightProperties_GetPixelLightShader_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DLightProperties_SetVertexLightShader_Proxy( 
    IRdD3DLightProperties * This,
    /* [in] */ IRdMEShaderLightVS *pShader);


void __RPC_STUB IRdD3DLightProperties_SetVertexLightShader_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DLightProperties_GetVertexLightShader_Proxy( 
    IRdD3DLightProperties * This,
    /* [out] */ IRdMEShaderLightVS **pShader);


void __RPC_STUB IRdD3DLightProperties_GetVertexLightShader_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DLightProperties_SetBoundingVolume_Proxy( 
    IRdD3DLightProperties * This,
    /* [in] */ IRdBoundingVolume *pVal);


void __RPC_STUB IRdD3DLightProperties_SetBoundingVolume_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DLightProperties_GetBoundingVolume_Proxy( 
    IRdD3DLightProperties * This,
    /* [out] */ IRdBoundingVolume **pVal);


void __RPC_STUB IRdD3DLightProperties_GetBoundingVolume_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdD3DLightProperties_INTERFACE_DEFINED__ */


#ifndef __IRdD3DTexture3D_INTERFACE_DEFINED__
#define __IRdD3DTexture3D_INTERFACE_DEFINED__

/* interface IRdD3DTexture3D */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdD3DTexture3D;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("37C66FBB-9968-4a8e-8D1D-D3CE3A1FEA1D")
    IRdD3DTexture3D : public IRsDataObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetID( 
            /* [out] */ RtDWORD *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetID( 
            /* [in] */ RtDWORD pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdD3DTexture3DVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdD3DTexture3D * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdD3DTexture3D * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdD3DTexture3D * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdD3DTexture3D * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdD3DTexture3D * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdD3DTexture3D * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdD3DTexture3D * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetID )( 
            IRdD3DTexture3D * This,
            /* [out] */ RtDWORD *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetID )( 
            IRdD3DTexture3D * This,
            /* [in] */ RtDWORD pVal);
        
        END_INTERFACE
    } IRdD3DTexture3DVtbl;

    interface IRdD3DTexture3D
    {
        CONST_VTBL struct IRdD3DTexture3DVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdD3DTexture3D_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdD3DTexture3D_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdD3DTexture3D_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdD3DTexture3D_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdD3DTexture3D_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdD3DTexture3D_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdD3DTexture3D_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdD3DTexture3D_GetID(This,pVal)	\
    (This)->lpVtbl -> GetID(This,pVal)

#define IRdD3DTexture3D_SetID(This,pVal)	\
    (This)->lpVtbl -> SetID(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DTexture3D_Clear_Proxy( 
    IRdD3DTexture3D * This);


void __RPC_STUB IRdD3DTexture3D_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DTexture3D_GetID_Proxy( 
    IRdD3DTexture3D * This,
    /* [out] */ RtDWORD *pVal);


void __RPC_STUB IRdD3DTexture3D_GetID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DTexture3D_SetID_Proxy( 
    IRdD3DTexture3D * This,
    /* [in] */ RtDWORD pVal);


void __RPC_STUB IRdD3DTexture3D_SetID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdD3DTexture3D_INTERFACE_DEFINED__ */


#ifndef __IRdD3DTextureCUBE_INTERFACE_DEFINED__
#define __IRdD3DTextureCUBE_INTERFACE_DEFINED__

/* interface IRdD3DTextureCUBE */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdD3DTextureCUBE;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1A787484-E4F8-4c05-9C7B-FB9F062A41BB")
    IRdD3DTextureCUBE : public IRsDataObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetID( 
            /* [out] */ RtDWORD *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetID( 
            /* [in] */ RtDWORD pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdD3DTextureCUBEVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdD3DTextureCUBE * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdD3DTextureCUBE * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdD3DTextureCUBE * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdD3DTextureCUBE * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdD3DTextureCUBE * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdD3DTextureCUBE * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdD3DTextureCUBE * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetID )( 
            IRdD3DTextureCUBE * This,
            /* [out] */ RtDWORD *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetID )( 
            IRdD3DTextureCUBE * This,
            /* [in] */ RtDWORD pVal);
        
        END_INTERFACE
    } IRdD3DTextureCUBEVtbl;

    interface IRdD3DTextureCUBE
    {
        CONST_VTBL struct IRdD3DTextureCUBEVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdD3DTextureCUBE_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdD3DTextureCUBE_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdD3DTextureCUBE_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdD3DTextureCUBE_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdD3DTextureCUBE_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdD3DTextureCUBE_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdD3DTextureCUBE_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdD3DTextureCUBE_GetID(This,pVal)	\
    (This)->lpVtbl -> GetID(This,pVal)

#define IRdD3DTextureCUBE_SetID(This,pVal)	\
    (This)->lpVtbl -> SetID(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DTextureCUBE_Clear_Proxy( 
    IRdD3DTextureCUBE * This);


void __RPC_STUB IRdD3DTextureCUBE_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DTextureCUBE_GetID_Proxy( 
    IRdD3DTextureCUBE * This,
    /* [out] */ RtDWORD *pVal);


void __RPC_STUB IRdD3DTextureCUBE_GetID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DTextureCUBE_SetID_Proxy( 
    IRdD3DTextureCUBE * This,
    /* [in] */ RtDWORD pVal);


void __RPC_STUB IRdD3DTextureCUBE_SetID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdD3DTextureCUBE_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__View3D_2041 */
/* [local] */ 


enum RtTSCompatibleLightType
    {	RT_TSLIGHT_UNKNOWN	= 0,
	RT_TSLIGHT_LOCAL	= 1,
	RT_TSLIGHT_SPOT	= 2,
	RT_TSLIGHT_INFINITE	= 3,
	RT_TSLIGHT_PROJECTOR	= 4,
	RT_TSLIGHT_AREA	= 5,
	RT_TSLIGHT_FORCEDWORD	= -1
    } ;
struct RtTSCompatibleLightDef
    {
    enum RtTSCompatibleLightType m_Type;
    RtPoint m_Position;
    RtFloat m_Red;
    RtFloat m_Green;
    RtFloat m_Blue;
    RtFloat m_AttConstant;
    RtFloat m_AttLinear;
    RtFloat m_AttQuadratic;
    RtFloat m_AttTreshold;
    RtPoint m_Direction;
    RtFloat m_Angle;
    RtDWORD m_ShadowMapSize;
    RtBOOL m_ShadowsEnabled;
    RtBOOL m_AreaVisible;
    RtDWORD m_AreaSamples;
    RtFloat m_HotspotAngle;
    } ;


extern RPC_IF_HANDLE __MIDL_itf__View3D_2041_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__View3D_2041_v0_0_s_ifspec;

#ifndef __IRdTSCompatibleLight_INTERFACE_DEFINED__
#define __IRdTSCompatibleLight_INTERFACE_DEFINED__

/* interface IRdTSCompatibleLight */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdTSCompatibleLight;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E8A6C459-5B7E-4b44-AB0B-FC595E2994D8")
    IRdTSCompatibleLight : public IRsDataObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDefinition( 
            /* [out] */ struct RtTSCompatibleLightDef *Val) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDefinition( 
            /* [in] */ const struct RtTSCompatibleLightDef *Val) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetProjectorMap( 
            /* [in] */ IRdBitmap *pBitmap) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProjectorMap( 
            /* [out] */ IRdBitmap **pBitmap) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdTSCompatibleLightVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdTSCompatibleLight * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdTSCompatibleLight * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdTSCompatibleLight * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdTSCompatibleLight * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdTSCompatibleLight * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdTSCompatibleLight * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdTSCompatibleLight * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDefinition )( 
            IRdTSCompatibleLight * This,
            /* [out] */ struct RtTSCompatibleLightDef *Val);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefinition )( 
            IRdTSCompatibleLight * This,
            /* [in] */ const struct RtTSCompatibleLightDef *Val);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetProjectorMap )( 
            IRdTSCompatibleLight * This,
            /* [in] */ IRdBitmap *pBitmap);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProjectorMap )( 
            IRdTSCompatibleLight * This,
            /* [out] */ IRdBitmap **pBitmap);
        
        END_INTERFACE
    } IRdTSCompatibleLightVtbl;

    interface IRdTSCompatibleLight
    {
        CONST_VTBL struct IRdTSCompatibleLightVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdTSCompatibleLight_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdTSCompatibleLight_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdTSCompatibleLight_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdTSCompatibleLight_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdTSCompatibleLight_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdTSCompatibleLight_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdTSCompatibleLight_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdTSCompatibleLight_GetDefinition(This,Val)	\
    (This)->lpVtbl -> GetDefinition(This,Val)

#define IRdTSCompatibleLight_SetDefinition(This,Val)	\
    (This)->lpVtbl -> SetDefinition(This,Val)

#define IRdTSCompatibleLight_SetProjectorMap(This,pBitmap)	\
    (This)->lpVtbl -> SetProjectorMap(This,pBitmap)

#define IRdTSCompatibleLight_GetProjectorMap(This,pBitmap)	\
    (This)->lpVtbl -> GetProjectorMap(This,pBitmap)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdTSCompatibleLight_Clear_Proxy( 
    IRdTSCompatibleLight * This);


void __RPC_STUB IRdTSCompatibleLight_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdTSCompatibleLight_GetDefinition_Proxy( 
    IRdTSCompatibleLight * This,
    /* [out] */ struct RtTSCompatibleLightDef *Val);


void __RPC_STUB IRdTSCompatibleLight_GetDefinition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdTSCompatibleLight_SetDefinition_Proxy( 
    IRdTSCompatibleLight * This,
    /* [in] */ const struct RtTSCompatibleLightDef *Val);


void __RPC_STUB IRdTSCompatibleLight_SetDefinition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdTSCompatibleLight_SetProjectorMap_Proxy( 
    IRdTSCompatibleLight * This,
    /* [in] */ IRdBitmap *pBitmap);


void __RPC_STUB IRdTSCompatibleLight_SetProjectorMap_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdTSCompatibleLight_GetProjectorMap_Proxy( 
    IRdTSCompatibleLight * This,
    /* [out] */ IRdBitmap **pBitmap);


void __RPC_STUB IRdTSCompatibleLight_GetProjectorMap_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdTSCompatibleLight_INTERFACE_DEFINED__ */


#ifndef __IRdViewProjMatrixSet_INTERFACE_DEFINED__
#define __IRdViewProjMatrixSet_INTERFACE_DEFINED__

/* interface IRdViewProjMatrixSet */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdViewProjMatrixSet;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0f62af5b-dd75-4595-8aa7-331ee9b18789")
    IRdViewProjMatrixSet : public IRsDataObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetMatrices( 
            /* [in] */ IRdMatrixf *pInView,
            /* [in] */ IRdMatrixf *pInProj,
            /* [in] */ IRdMatrixf *pInViewProj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetViewMatrix( 
            /* [out] */ IRdMatrixf **pOutMatrix) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProjMatrix( 
            /* [out] */ IRdMatrixf **pOutMatrix) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetViewProjMatrix( 
            /* [out] */ IRdMatrixf **pOutMatrix) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdViewProjMatrixSetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdViewProjMatrixSet * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdViewProjMatrixSet * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdViewProjMatrixSet * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdViewProjMatrixSet * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdViewProjMatrixSet * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdViewProjMatrixSet * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdViewProjMatrixSet * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetMatrices )( 
            IRdViewProjMatrixSet * This,
            /* [in] */ IRdMatrixf *pInView,
            /* [in] */ IRdMatrixf *pInProj,
            /* [in] */ IRdMatrixf *pInViewProj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetViewMatrix )( 
            IRdViewProjMatrixSet * This,
            /* [out] */ IRdMatrixf **pOutMatrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProjMatrix )( 
            IRdViewProjMatrixSet * This,
            /* [out] */ IRdMatrixf **pOutMatrix);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetViewProjMatrix )( 
            IRdViewProjMatrixSet * This,
            /* [out] */ IRdMatrixf **pOutMatrix);
        
        END_INTERFACE
    } IRdViewProjMatrixSetVtbl;

    interface IRdViewProjMatrixSet
    {
        CONST_VTBL struct IRdViewProjMatrixSetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdViewProjMatrixSet_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdViewProjMatrixSet_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdViewProjMatrixSet_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdViewProjMatrixSet_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdViewProjMatrixSet_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdViewProjMatrixSet_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdViewProjMatrixSet_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdViewProjMatrixSet_SetMatrices(This,pInView,pInProj,pInViewProj)	\
    (This)->lpVtbl -> SetMatrices(This,pInView,pInProj,pInViewProj)

#define IRdViewProjMatrixSet_GetViewMatrix(This,pOutMatrix)	\
    (This)->lpVtbl -> GetViewMatrix(This,pOutMatrix)

#define IRdViewProjMatrixSet_GetProjMatrix(This,pOutMatrix)	\
    (This)->lpVtbl -> GetProjMatrix(This,pOutMatrix)

#define IRdViewProjMatrixSet_GetViewProjMatrix(This,pOutMatrix)	\
    (This)->lpVtbl -> GetViewProjMatrix(This,pOutMatrix)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdViewProjMatrixSet_Clear_Proxy( 
    IRdViewProjMatrixSet * This);


void __RPC_STUB IRdViewProjMatrixSet_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdViewProjMatrixSet_SetMatrices_Proxy( 
    IRdViewProjMatrixSet * This,
    /* [in] */ IRdMatrixf *pInView,
    /* [in] */ IRdMatrixf *pInProj,
    /* [in] */ IRdMatrixf *pInViewProj);


void __RPC_STUB IRdViewProjMatrixSet_SetMatrices_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdViewProjMatrixSet_GetViewMatrix_Proxy( 
    IRdViewProjMatrixSet * This,
    /* [out] */ IRdMatrixf **pOutMatrix);


void __RPC_STUB IRdViewProjMatrixSet_GetViewMatrix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdViewProjMatrixSet_GetProjMatrix_Proxy( 
    IRdViewProjMatrixSet * This,
    /* [out] */ IRdMatrixf **pOutMatrix);


void __RPC_STUB IRdViewProjMatrixSet_GetProjMatrix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdViewProjMatrixSet_GetViewProjMatrix_Proxy( 
    IRdViewProjMatrixSet * This,
    /* [out] */ IRdMatrixf **pOutMatrix);


void __RPC_STUB IRdViewProjMatrixSet_GetViewProjMatrix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdViewProjMatrixSet_INTERFACE_DEFINED__ */


#ifndef __IRnD3DBitmapToTex_INTERFACE_DEFINED__
#define __IRnD3DBitmapToTex_INTERFACE_DEFINED__

/* interface IRnD3DBitmapToTex */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnD3DBitmapToTex;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30B797C1-4C4C-4a41-B3D7-9CA16B67BD16")
    IRnD3DBitmapToTex : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnD3DBitmapToTexVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnD3DBitmapToTex * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnD3DBitmapToTex * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnD3DBitmapToTex * This);
        
        END_INTERFACE
    } IRnD3DBitmapToTexVtbl;

    interface IRnD3DBitmapToTex
    {
        CONST_VTBL struct IRnD3DBitmapToTexVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnD3DBitmapToTex_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnD3DBitmapToTex_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnD3DBitmapToTex_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnD3DBitmapToTex_INTERFACE_DEFINED__ */


#ifndef __IRnD3DCamera_INTERFACE_DEFINED__
#define __IRnD3DCamera_INTERFACE_DEFINED__

/* interface IRnD3DCamera */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnD3DCamera;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A3840F5E-790D-413A-AB1F-492EE88FF1A5")
    IRnD3DCamera : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnD3DCameraVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnD3DCamera * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnD3DCamera * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnD3DCamera * This);
        
        END_INTERFACE
    } IRnD3DCameraVtbl;

    interface IRnD3DCamera
    {
        CONST_VTBL struct IRnD3DCameraVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnD3DCamera_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnD3DCamera_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnD3DCamera_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnD3DCamera_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__View3D_2045 */
/* [local] */ 


enum ReD3DForcedTransparency
    {	FORCE_T_AS_DEFINED	= 0,
	FORCE_T_TRANSPARENT	= 1,
	FORCE_T_OPAQUE	= 2,
	FORCE_T_DWORDINTERNAL	= -1
    } ;


extern RPC_IF_HANDLE __MIDL_itf__View3D_2045_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__View3D_2045_v0_0_s_ifspec;

#ifndef __IRdME2Material_INTERFACE_DEFINED__
#define __IRdME2Material_INTERFACE_DEFINED__

/* interface IRdME2Material */
/* [unique][helpstring][uuid][object][local] */ 


EXTERN_C const IID IID_IRdME2Material;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B25F965F-3857-459e-8923-FE8BF2BD28AC")
    IRdME2Material : public IRdD3DMaterial
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTimestamp( 
            /* [out] */ DWORD *dwCodeStamp,
            /* [out] */ DWORD *dwInputStamp) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCodeCount( 
            /* [out] */ DWORD *dwCount) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCodePart( 
            /* [in] */ DWORD dwIndex,
            /* [out] */ struct RtME2ShaderCode *pCode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetInputs( 
            /* [out] */ DWORD *dwCount,
            /* [out] */ struct RtME2ShaderInputs **ppInputs) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LockObject( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnlockObject( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMaterialEncaps( 
            /* [out] */ BSTR *bsEncaps) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAlphaTest( 
            /* [in] */ BOOL bEnableTest,
            /* [in] */ float fTestValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAlphaTest( 
            /* [out] */ BOOL *pbEnableTest,
            /* [out] */ float *pfTestValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetForcedTransparency( 
            /* [in] */ enum ReD3DForcedTransparency eForcedTranparencyValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetForcedTransparency( 
            /* [retval][out] */ enum ReD3DForcedTransparency *eForcedTranparencyValue) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdME2MaterialVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdME2Material * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdME2Material * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdME2Material * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdME2Material * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdME2Material * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdME2Material * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdME2Material * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetID )( 
            IRdME2Material * This,
            /* [out] */ RtDWORD *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetID )( 
            IRdME2Material * This,
            /* [in] */ RtDWORD pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameterCount )( 
            IRdME2Material * This,
            /* [out] */ RtDWORD *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameter )( 
            IRdME2Material * This,
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ BSTR *pVariableName,
            /* [out] */ BSTR *pNodeName,
            /* [out] */ BSTR *pConnectorName,
            /* [out] */ BSTR *pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddInputParameter )( 
            IRdME2Material * This,
            /* [in] */ BSTR pVariableName,
            /* [in] */ BSTR pNodeName,
            /* [in] */ BSTR pConnectorName,
            /* [in] */ BSTR pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AppendInputParameters )( 
            IRdME2Material * This,
            /* [in] */ IRdMEMaterial *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTimestamp )( 
            IRdME2Material * This,
            /* [out] */ DWORD *dwCodeStamp,
            /* [out] */ DWORD *dwInputStamp);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCodeCount )( 
            IRdME2Material * This,
            /* [out] */ DWORD *dwCount);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCodePart )( 
            IRdME2Material * This,
            /* [in] */ DWORD dwIndex,
            /* [out] */ struct RtME2ShaderCode *pCode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputs )( 
            IRdME2Material * This,
            /* [out] */ DWORD *dwCount,
            /* [out] */ struct RtME2ShaderInputs **ppInputs);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LockObject )( 
            IRdME2Material * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnlockObject )( 
            IRdME2Material * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMaterialEncaps )( 
            IRdME2Material * This,
            /* [out] */ BSTR *bsEncaps);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAlphaTest )( 
            IRdME2Material * This,
            /* [in] */ BOOL bEnableTest,
            /* [in] */ float fTestValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAlphaTest )( 
            IRdME2Material * This,
            /* [out] */ BOOL *pbEnableTest,
            /* [out] */ float *pfTestValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetForcedTransparency )( 
            IRdME2Material * This,
            /* [in] */ enum ReD3DForcedTransparency eForcedTranparencyValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetForcedTransparency )( 
            IRdME2Material * This,
            /* [retval][out] */ enum ReD3DForcedTransparency *eForcedTranparencyValue);
        
        END_INTERFACE
    } IRdME2MaterialVtbl;

    interface IRdME2Material
    {
        CONST_VTBL struct IRdME2MaterialVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdME2Material_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdME2Material_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdME2Material_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdME2Material_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdME2Material_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdME2Material_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdME2Material_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdME2Material_GetID(This,pVal)	\
    (This)->lpVtbl -> GetID(This,pVal)

#define IRdME2Material_SetID(This,pVal)	\
    (This)->lpVtbl -> SetID(This,pVal)

#define IRdME2Material_GetInputParameterCount(This,pVal)	\
    (This)->lpVtbl -> GetInputParameterCount(This,pVal)

#define IRdME2Material_GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdME2Material_AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdME2Material_AppendInputParameters(This,pVal)	\
    (This)->lpVtbl -> AppendInputParameters(This,pVal)


#define IRdME2Material_GetTimestamp(This,dwCodeStamp,dwInputStamp)	\
    (This)->lpVtbl -> GetTimestamp(This,dwCodeStamp,dwInputStamp)

#define IRdME2Material_GetCodeCount(This,dwCount)	\
    (This)->lpVtbl -> GetCodeCount(This,dwCount)

#define IRdME2Material_GetCodePart(This,dwIndex,pCode)	\
    (This)->lpVtbl -> GetCodePart(This,dwIndex,pCode)

#define IRdME2Material_GetInputs(This,dwCount,ppInputs)	\
    (This)->lpVtbl -> GetInputs(This,dwCount,ppInputs)

#define IRdME2Material_LockObject(This)	\
    (This)->lpVtbl -> LockObject(This)

#define IRdME2Material_UnlockObject(This)	\
    (This)->lpVtbl -> UnlockObject(This)

#define IRdME2Material_GetMaterialEncaps(This,bsEncaps)	\
    (This)->lpVtbl -> GetMaterialEncaps(This,bsEncaps)

#define IRdME2Material_SetAlphaTest(This,bEnableTest,fTestValue)	\
    (This)->lpVtbl -> SetAlphaTest(This,bEnableTest,fTestValue)

#define IRdME2Material_GetAlphaTest(This,pbEnableTest,pfTestValue)	\
    (This)->lpVtbl -> GetAlphaTest(This,pbEnableTest,pfTestValue)

#define IRdME2Material_SetForcedTransparency(This,eForcedTranparencyValue)	\
    (This)->lpVtbl -> SetForcedTransparency(This,eForcedTranparencyValue)

#define IRdME2Material_GetForcedTransparency(This,eForcedTranparencyValue)	\
    (This)->lpVtbl -> GetForcedTransparency(This,eForcedTranparencyValue)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdME2Material_GetTimestamp_Proxy( 
    IRdME2Material * This,
    /* [out] */ DWORD *dwCodeStamp,
    /* [out] */ DWORD *dwInputStamp);


void __RPC_STUB IRdME2Material_GetTimestamp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdME2Material_GetCodeCount_Proxy( 
    IRdME2Material * This,
    /* [out] */ DWORD *dwCount);


void __RPC_STUB IRdME2Material_GetCodeCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdME2Material_GetCodePart_Proxy( 
    IRdME2Material * This,
    /* [in] */ DWORD dwIndex,
    /* [out] */ struct RtME2ShaderCode *pCode);


void __RPC_STUB IRdME2Material_GetCodePart_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdME2Material_GetInputs_Proxy( 
    IRdME2Material * This,
    /* [out] */ DWORD *dwCount,
    /* [out] */ struct RtME2ShaderInputs **ppInputs);


void __RPC_STUB IRdME2Material_GetInputs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdME2Material_LockObject_Proxy( 
    IRdME2Material * This);


void __RPC_STUB IRdME2Material_LockObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdME2Material_UnlockObject_Proxy( 
    IRdME2Material * This);


void __RPC_STUB IRdME2Material_UnlockObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdME2Material_GetMaterialEncaps_Proxy( 
    IRdME2Material * This,
    /* [out] */ BSTR *bsEncaps);


void __RPC_STUB IRdME2Material_GetMaterialEncaps_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdME2Material_SetAlphaTest_Proxy( 
    IRdME2Material * This,
    /* [in] */ BOOL bEnableTest,
    /* [in] */ float fTestValue);


void __RPC_STUB IRdME2Material_SetAlphaTest_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdME2Material_GetAlphaTest_Proxy( 
    IRdME2Material * This,
    /* [out] */ BOOL *pbEnableTest,
    /* [out] */ float *pfTestValue);


void __RPC_STUB IRdME2Material_GetAlphaTest_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdME2Material_SetForcedTransparency_Proxy( 
    IRdME2Material * This,
    /* [in] */ enum ReD3DForcedTransparency eForcedTranparencyValue);


void __RPC_STUB IRdME2Material_SetForcedTransparency_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdME2Material_GetForcedTransparency_Proxy( 
    IRdME2Material * This,
    /* [retval][out] */ enum ReD3DForcedTransparency *eForcedTranparencyValue);


void __RPC_STUB IRdME2Material_GetForcedTransparency_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdME2Material_INTERFACE_DEFINED__ */


#ifndef __IRnD3DGrid_INTERFACE_DEFINED__
#define __IRnD3DGrid_INTERFACE_DEFINED__

/* interface IRnD3DGrid */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnD3DGrid;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("04135590-E7AB-4618-9E94-6E969CEAAB7A")
    IRnD3DGrid : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnD3DGridVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnD3DGrid * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnD3DGrid * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnD3DGrid * This);
        
        END_INTERFACE
    } IRnD3DGridVtbl;

    interface IRnD3DGrid
    {
        CONST_VTBL struct IRnD3DGridVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnD3DGrid_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnD3DGrid_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnD3DGrid_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnD3DGrid_INTERFACE_DEFINED__ */


#ifndef __IRnD3DLightProperties_INTERFACE_DEFINED__
#define __IRnD3DLightProperties_INTERFACE_DEFINED__

/* interface IRnD3DLightProperties */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnD3DLightProperties;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("EE5C0B4A-A9D6-4a46-A0BC-61B39DA936F2")
    IRnD3DLightProperties : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnD3DLightPropertiesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnD3DLightProperties * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnD3DLightProperties * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnD3DLightProperties * This);
        
        END_INTERFACE
    } IRnD3DLightPropertiesVtbl;

    interface IRnD3DLightProperties
    {
        CONST_VTBL struct IRnD3DLightPropertiesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnD3DLightProperties_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnD3DLightProperties_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnD3DLightProperties_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnD3DLightProperties_INTERFACE_DEFINED__ */


#ifndef __IRnD3DObjectPreview_INTERFACE_DEFINED__
#define __IRnD3DObjectPreview_INTERFACE_DEFINED__

/* interface IRnD3DObjectPreview */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnD3DObjectPreview;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4C4740C6-FD83-4947-B872-B2BBFBDB0621")
    IRnD3DObjectPreview : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnD3DObjectPreviewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnD3DObjectPreview * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnD3DObjectPreview * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnD3DObjectPreview * This);
        
        END_INTERFACE
    } IRnD3DObjectPreviewVtbl;

    interface IRnD3DObjectPreview
    {
        CONST_VTBL struct IRnD3DObjectPreviewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnD3DObjectPreview_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnD3DObjectPreview_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnD3DObjectPreview_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnD3DObjectPreview_INTERFACE_DEFINED__ */


#ifndef __IRnD3DTexToBitmap_INTERFACE_DEFINED__
#define __IRnD3DTexToBitmap_INTERFACE_DEFINED__

/* interface IRnD3DTexToBitmap */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnD3DTexToBitmap;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("18D57FB0-535D-41c9-83B8-97ADBC576E9D")
    IRnD3DTexToBitmap : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnD3DTexToBitmapVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnD3DTexToBitmap * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnD3DTexToBitmap * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnD3DTexToBitmap * This);
        
        END_INTERFACE
    } IRnD3DTexToBitmapVtbl;

    interface IRnD3DTexToBitmap
    {
        CONST_VTBL struct IRnD3DTexToBitmapVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnD3DTexToBitmap_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnD3DTexToBitmap_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnD3DTexToBitmap_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnD3DTexToBitmap_INTERFACE_DEFINED__ */


#ifndef __IRnD3DTexture_INTERFACE_DEFINED__
#define __IRnD3DTexture_INTERFACE_DEFINED__

/* interface IRnD3DTexture */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnD3DTexture;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6823D5E2-D03D-48D0-829D-CF50666953BF")
    IRnD3DTexture : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnD3DTextureVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnD3DTexture * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnD3DTexture * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnD3DTexture * This);
        
        END_INTERFACE
    } IRnD3DTextureVtbl;

    interface IRnD3DTexture
    {
        CONST_VTBL struct IRnD3DTextureVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnD3DTexture_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnD3DTexture_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnD3DTexture_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnD3DTexture_INTERFACE_DEFINED__ */


#ifndef __IRnD3DTextureRT_INTERFACE_DEFINED__
#define __IRnD3DTextureRT_INTERFACE_DEFINED__

/* interface IRnD3DTextureRT */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnD3DTextureRT;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("13877EBA-D69A-4abb-ABE6-38CDD587DF53")
    IRnD3DTextureRT : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnD3DTextureRTVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnD3DTextureRT * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnD3DTextureRT * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnD3DTextureRT * This);
        
        END_INTERFACE
    } IRnD3DTextureRTVtbl;

    interface IRnD3DTextureRT
    {
        CONST_VTBL struct IRnD3DTextureRTVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnD3DTextureRT_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnD3DTextureRT_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnD3DTextureRT_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnD3DTextureRT_INTERFACE_DEFINED__ */


#ifndef __IRdD3DLayer_INTERFACE_DEFINED__
#define __IRdD3DLayer_INTERFACE_DEFINED__

/* interface IRdD3DLayer */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdD3DLayer;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A9BBB0BC-867B-473f-9914-81C87E3F1D7B")
    IRdD3DLayer : public IRsDataObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetID( 
            /* [out] */ RtDWORD *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetID( 
            /* [in] */ RtDWORD pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetScanningRootsCount( 
            /* [out] */ RtDWORD *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetScanningRoot( 
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ BSTR *pVal,
            /* [out] */ DWORD *dwRootType) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddScanningRoot( 
            /* [in] */ BSTR pVal,
            /* [in] */ DWORD dwRootType) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AppendScanningRoots( 
            /* [in] */ IRdD3DLayer *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdD3DLayerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdD3DLayer * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdD3DLayer * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdD3DLayer * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdD3DLayer * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdD3DLayer * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdD3DLayer * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdD3DLayer * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetID )( 
            IRdD3DLayer * This,
            /* [out] */ RtDWORD *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetID )( 
            IRdD3DLayer * This,
            /* [in] */ RtDWORD pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetScanningRootsCount )( 
            IRdD3DLayer * This,
            /* [out] */ RtDWORD *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetScanningRoot )( 
            IRdD3DLayer * This,
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ BSTR *pVal,
            /* [out] */ DWORD *dwRootType);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddScanningRoot )( 
            IRdD3DLayer * This,
            /* [in] */ BSTR pVal,
            /* [in] */ DWORD dwRootType);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AppendScanningRoots )( 
            IRdD3DLayer * This,
            /* [in] */ IRdD3DLayer *pVal);
        
        END_INTERFACE
    } IRdD3DLayerVtbl;

    interface IRdD3DLayer
    {
        CONST_VTBL struct IRdD3DLayerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdD3DLayer_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdD3DLayer_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdD3DLayer_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdD3DLayer_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdD3DLayer_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdD3DLayer_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdD3DLayer_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdD3DLayer_GetID(This,pVal)	\
    (This)->lpVtbl -> GetID(This,pVal)

#define IRdD3DLayer_SetID(This,pVal)	\
    (This)->lpVtbl -> SetID(This,pVal)

#define IRdD3DLayer_GetScanningRootsCount(This,pVal)	\
    (This)->lpVtbl -> GetScanningRootsCount(This,pVal)

#define IRdD3DLayer_GetScanningRoot(This,dwIndex,pVal,dwRootType)	\
    (This)->lpVtbl -> GetScanningRoot(This,dwIndex,pVal,dwRootType)

#define IRdD3DLayer_AddScanningRoot(This,pVal,dwRootType)	\
    (This)->lpVtbl -> AddScanningRoot(This,pVal,dwRootType)

#define IRdD3DLayer_AppendScanningRoots(This,pVal)	\
    (This)->lpVtbl -> AppendScanningRoots(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DLayer_Clear_Proxy( 
    IRdD3DLayer * This);


void __RPC_STUB IRdD3DLayer_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DLayer_GetID_Proxy( 
    IRdD3DLayer * This,
    /* [out] */ RtDWORD *pVal);


void __RPC_STUB IRdD3DLayer_GetID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DLayer_SetID_Proxy( 
    IRdD3DLayer * This,
    /* [in] */ RtDWORD pVal);


void __RPC_STUB IRdD3DLayer_SetID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DLayer_GetScanningRootsCount_Proxy( 
    IRdD3DLayer * This,
    /* [out] */ RtDWORD *pVal);


void __RPC_STUB IRdD3DLayer_GetScanningRootsCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DLayer_GetScanningRoot_Proxy( 
    IRdD3DLayer * This,
    /* [in] */ RtDWORD dwIndex,
    /* [out] */ BSTR *pVal,
    /* [out] */ DWORD *dwRootType);


void __RPC_STUB IRdD3DLayer_GetScanningRoot_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DLayer_AddScanningRoot_Proxy( 
    IRdD3DLayer * This,
    /* [in] */ BSTR pVal,
    /* [in] */ DWORD dwRootType);


void __RPC_STUB IRdD3DLayer_AddScanningRoot_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdD3DLayer_AppendScanningRoots_Proxy( 
    IRdD3DLayer * This,
    /* [in] */ IRdD3DLayer *pVal);


void __RPC_STUB IRdD3DLayer_AppendScanningRoots_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdD3DLayer_INTERFACE_DEFINED__ */


#ifndef __IRnD3DTextureRT2_INTERFACE_DEFINED__
#define __IRnD3DTextureRT2_INTERFACE_DEFINED__

/* interface IRnD3DTextureRT2 */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnD3DTextureRT2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("93b8230b-79e1-48ee-af95-834a497ccff4")
    IRnD3DTextureRT2 : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RenderToFile( 
            /* [in] */ LPCTSTR pszFileName,
            /* [in] */ DWORD dwFormat) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnD3DTextureRT2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnD3DTextureRT2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnD3DTextureRT2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnD3DTextureRT2 * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RenderToFile )( 
            IRnD3DTextureRT2 * This,
            /* [in] */ LPCTSTR pszFileName,
            /* [in] */ DWORD dwFormat);
        
        END_INTERFACE
    } IRnD3DTextureRT2Vtbl;

    interface IRnD3DTextureRT2
    {
        CONST_VTBL struct IRnD3DTextureRT2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnD3DTextureRT2_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnD3DTextureRT2_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnD3DTextureRT2_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnD3DTextureRT2_RenderToFile(This,pszFileName,dwFormat)	\
    (This)->lpVtbl -> RenderToFile(This,pszFileName,dwFormat)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnD3DTextureRT2_RenderToFile_Proxy( 
    IRnD3DTextureRT2 * This,
    /* [in] */ LPCTSTR pszFileName,
    /* [in] */ DWORD dwFormat);


void __RPC_STUB IRnD3DTextureRT2_RenderToFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnD3DTextureRT2_INTERFACE_DEFINED__ */


#ifndef __IRnFrustumBoundingVolume_INTERFACE_DEFINED__
#define __IRnFrustumBoundingVolume_INTERFACE_DEFINED__

/* interface IRnFrustumBoundingVolume */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnFrustumBoundingVolume;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("994C1A65-AA7D-450d-9B1B-DA2689CC0BAD")
    IRnFrustumBoundingVolume : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnFrustumBoundingVolumeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnFrustumBoundingVolume * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnFrustumBoundingVolume * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnFrustumBoundingVolume * This);
        
        END_INTERFACE
    } IRnFrustumBoundingVolumeVtbl;

    interface IRnFrustumBoundingVolume
    {
        CONST_VTBL struct IRnFrustumBoundingVolumeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnFrustumBoundingVolume_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnFrustumBoundingVolume_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnFrustumBoundingVolume_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnFrustumBoundingVolume_INTERFACE_DEFINED__ */


#ifndef __IRnFullAttenuationDistance_INTERFACE_DEFINED__
#define __IRnFullAttenuationDistance_INTERFACE_DEFINED__

/* interface IRnFullAttenuationDistance */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnFullAttenuationDistance;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C0D4B455-B868-4d42-A83A-0C2AA0919CBC")
    IRnFullAttenuationDistance : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnFullAttenuationDistanceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnFullAttenuationDistance * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnFullAttenuationDistance * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnFullAttenuationDistance * This);
        
        END_INTERFACE
    } IRnFullAttenuationDistanceVtbl;

    interface IRnFullAttenuationDistance
    {
        CONST_VTBL struct IRnFullAttenuationDistanceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnFullAttenuationDistance_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnFullAttenuationDistance_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnFullAttenuationDistance_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnFullAttenuationDistance_INTERFACE_DEFINED__ */


#ifndef __IRnHDRColor_INTERFACE_DEFINED__
#define __IRnHDRColor_INTERFACE_DEFINED__

/* interface IRnHDRColor */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnHDRColor;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("14125FD1-0501-4413-A012-F16180D288E3")
    IRnHDRColor : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnHDRColorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnHDRColor * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnHDRColor * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnHDRColor * This);
        
        END_INTERFACE
    } IRnHDRColorVtbl;

    interface IRnHDRColor
    {
        CONST_VTBL struct IRnHDRColorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnHDRColor_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnHDRColor_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnHDRColor_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnHDRColor_INTERFACE_DEFINED__ */


#ifndef __IRnMEDirectionalLightMatrix_INTERFACE_DEFINED__
#define __IRnMEDirectionalLightMatrix_INTERFACE_DEFINED__

/* interface IRnMEDirectionalLightMatrix */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMEDirectionalLightMatrix;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("FDC5CD33-98B7-4a52-A627-84DF81612179")
    IRnMEDirectionalLightMatrix : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnMEDirectionalLightMatrixVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMEDirectionalLightMatrix * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMEDirectionalLightMatrix * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMEDirectionalLightMatrix * This);
        
        END_INTERFACE
    } IRnMEDirectionalLightMatrixVtbl;

    interface IRnMEDirectionalLightMatrix
    {
        CONST_VTBL struct IRnMEDirectionalLightMatrixVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMEDirectionalLightMatrix_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMEDirectionalLightMatrix_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMEDirectionalLightMatrix_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnMEDirectionalLightMatrix_INTERFACE_DEFINED__ */


#ifndef __IRnMESpotlightMatrix_INTERFACE_DEFINED__
#define __IRnMESpotlightMatrix_INTERFACE_DEFINED__

/* interface IRnMESpotlightMatrix */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMESpotlightMatrix;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F77EB7BF-D7F7-43dd-B847-E8D2BC5F5F0F")
    IRnMESpotlightMatrix : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnMESpotlightMatrixVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMESpotlightMatrix * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMESpotlightMatrix * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMESpotlightMatrix * This);
        
        END_INTERFACE
    } IRnMESpotlightMatrixVtbl;

    interface IRnMESpotlightMatrix
    {
        CONST_VTBL struct IRnMESpotlightMatrixVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMESpotlightMatrix_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMESpotlightMatrix_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMESpotlightMatrix_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnMESpotlightMatrix_INTERFACE_DEFINED__ */


#ifndef __IRnSphericalBoundingVolume_INTERFACE_DEFINED__
#define __IRnSphericalBoundingVolume_INTERFACE_DEFINED__

/* interface IRnSphericalBoundingVolume */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnSphericalBoundingVolume;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D1677E45-C9FE-43c0-8488-739550CC649A")
    IRnSphericalBoundingVolume : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnSphericalBoundingVolumeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnSphericalBoundingVolume * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnSphericalBoundingVolume * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnSphericalBoundingVolume * This);
        
        END_INTERFACE
    } IRnSphericalBoundingVolumeVtbl;

    interface IRnSphericalBoundingVolume
    {
        CONST_VTBL struct IRnSphericalBoundingVolumeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnSphericalBoundingVolume_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnSphericalBoundingVolume_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnSphericalBoundingVolume_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnSphericalBoundingVolume_INTERFACE_DEFINED__ */


#ifndef __IRnTSCompatibleLight_INTERFACE_DEFINED__
#define __IRnTSCompatibleLight_INTERFACE_DEFINED__

/* interface IRnTSCompatibleLight */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnTSCompatibleLight;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("718B47BC-01DA-44e0-9312-1B6CF8AED698")
    IRnTSCompatibleLight : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnTSCompatibleLightVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnTSCompatibleLight * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnTSCompatibleLight * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnTSCompatibleLight * This);
        
        END_INTERFACE
    } IRnTSCompatibleLightVtbl;

    interface IRnTSCompatibleLight
    {
        CONST_VTBL struct IRnTSCompatibleLightVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnTSCompatibleLight_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnTSCompatibleLight_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnTSCompatibleLight_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnTSCompatibleLight_INTERFACE_DEFINED__ */


#ifndef __IRcRescan_INTERFACE_DEFINED__
#define __IRcRescan_INTERFACE_DEFINED__

/* interface IRcRescan */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcRescan;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6B8CEC77-38B1-4938-8A8F-FB10C2B7E26F")
    IRcRescan : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcRescanVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcRescan * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcRescan * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcRescan * This);
        
        END_INTERFACE
    } IRcRescanVtbl;

    interface IRcRescan
    {
        CONST_VTBL struct IRcRescanVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcRescan_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcRescan_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcRescan_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcRescan_INTERFACE_DEFINED__ */


#ifndef __IRcRefresh_INTERFACE_DEFINED__
#define __IRcRefresh_INTERFACE_DEFINED__

/* interface IRcRefresh */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcRefresh;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8BCB24BE-2513-4AEE-981E-182962A76B67")
    IRcRefresh : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcRefreshVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcRefresh * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcRefresh * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcRefresh * This);
        
        END_INTERFACE
    } IRcRefreshVtbl;

    interface IRcRefresh
    {
        CONST_VTBL struct IRcRefreshVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcRefresh_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcRefresh_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcRefresh_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcRefresh_INTERFACE_DEFINED__ */


#ifndef __IRdMEShaderBrickStatic_INTERFACE_DEFINED__
#define __IRdMEShaderBrickStatic_INTERFACE_DEFINED__

/* interface IRdMEShaderBrickStatic */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdMEShaderBrickStatic;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("28E2E73A-409C-47c4-BA1D-40C7BDDF3FCA")
    IRdMEShaderBrickStatic : public IRdMEShaderBrick
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetBrickDefinition( 
            /* [in] */ BSTR bstrValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetBrickExecution( 
            /* [in] */ BSTR bstrValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetBrickResult( 
            /* [in] */ BSTR bstrValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetType( 
            /* [in] */ BSTR bstrValue) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdMEShaderBrickStaticVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdMEShaderBrickStatic * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdMEShaderBrickStatic * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdMEShaderBrickStatic * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdMEShaderBrickStatic * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBrickDefinition )( 
            IRdMEShaderBrickStatic * This,
            /* [retval][out] */ BSTR *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBrickExecution )( 
            IRdMEShaderBrickStatic * This,
            /* [retval][out] */ BSTR *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBrickResult )( 
            IRdMEShaderBrickStatic * This,
            /* [retval][out] */ BSTR *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetType )( 
            IRdMEShaderBrickStatic * This,
            /* [retval][out] */ BSTR *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameterCount )( 
            IRdMEShaderBrickStatic * This,
            /* [out] */ RtDWORD *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameter )( 
            IRdMEShaderBrickStatic * This,
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ BSTR *pVariableName,
            /* [out] */ BSTR *pNodeName,
            /* [out] */ BSTR *pConnectorName,
            /* [out] */ BSTR *pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddInputParameter )( 
            IRdMEShaderBrickStatic * This,
            /* [in] */ BSTR pVariableName,
            /* [in] */ BSTR pNodeName,
            /* [in] */ BSTR pConnectorName,
            /* [in] */ BSTR pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AppendInputParameters )( 
            IRdMEShaderBrickStatic * This,
            /* [in] */ IRdMEShaderBrick *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetBrickDefinition )( 
            IRdMEShaderBrickStatic * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetBrickExecution )( 
            IRdMEShaderBrickStatic * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetBrickResult )( 
            IRdMEShaderBrickStatic * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetType )( 
            IRdMEShaderBrickStatic * This,
            /* [in] */ BSTR bstrValue);
        
        END_INTERFACE
    } IRdMEShaderBrickStaticVtbl;

    interface IRdMEShaderBrickStatic
    {
        CONST_VTBL struct IRdMEShaderBrickStaticVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdMEShaderBrickStatic_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdMEShaderBrickStatic_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdMEShaderBrickStatic_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdMEShaderBrickStatic_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdMEShaderBrickStatic_GetBrickDefinition(This,pValue)	\
    (This)->lpVtbl -> GetBrickDefinition(This,pValue)

#define IRdMEShaderBrickStatic_GetBrickExecution(This,pValue)	\
    (This)->lpVtbl -> GetBrickExecution(This,pValue)

#define IRdMEShaderBrickStatic_GetBrickResult(This,pValue)	\
    (This)->lpVtbl -> GetBrickResult(This,pValue)

#define IRdMEShaderBrickStatic_GetType(This,pValue)	\
    (This)->lpVtbl -> GetType(This,pValue)

#define IRdMEShaderBrickStatic_GetInputParameterCount(This,pVal)	\
    (This)->lpVtbl -> GetInputParameterCount(This,pVal)

#define IRdMEShaderBrickStatic_GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdMEShaderBrickStatic_AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdMEShaderBrickStatic_AppendInputParameters(This,pVal)	\
    (This)->lpVtbl -> AppendInputParameters(This,pVal)


#define IRdMEShaderBrickStatic_SetBrickDefinition(This,bstrValue)	\
    (This)->lpVtbl -> SetBrickDefinition(This,bstrValue)

#define IRdMEShaderBrickStatic_SetBrickExecution(This,bstrValue)	\
    (This)->lpVtbl -> SetBrickExecution(This,bstrValue)

#define IRdMEShaderBrickStatic_SetBrickResult(This,bstrValue)	\
    (This)->lpVtbl -> SetBrickResult(This,bstrValue)

#define IRdMEShaderBrickStatic_SetType(This,bstrValue)	\
    (This)->lpVtbl -> SetType(This,bstrValue)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShaderBrickStatic_SetBrickDefinition_Proxy( 
    IRdMEShaderBrickStatic * This,
    /* [in] */ BSTR bstrValue);


void __RPC_STUB IRdMEShaderBrickStatic_SetBrickDefinition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShaderBrickStatic_SetBrickExecution_Proxy( 
    IRdMEShaderBrickStatic * This,
    /* [in] */ BSTR bstrValue);


void __RPC_STUB IRdMEShaderBrickStatic_SetBrickExecution_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShaderBrickStatic_SetBrickResult_Proxy( 
    IRdMEShaderBrickStatic * This,
    /* [in] */ BSTR bstrValue);


void __RPC_STUB IRdMEShaderBrickStatic_SetBrickResult_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShaderBrickStatic_SetType_Proxy( 
    IRdMEShaderBrickStatic * This,
    /* [in] */ BSTR bstrValue);


void __RPC_STUB IRdMEShaderBrickStatic_SetType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdMEShaderBrickStatic_INTERFACE_DEFINED__ */


#ifndef __IRnMELightShader_INTERFACE_DEFINED__
#define __IRnMELightShader_INTERFACE_DEFINED__

/* interface IRnMELightShader */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMELightShader;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("732B37F0-D2DC-45f2-9190-CF48ADE3666E")
    IRnMELightShader : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnMELightShaderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMELightShader * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMELightShader * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMELightShader * This);
        
        END_INTERFACE
    } IRnMELightShaderVtbl;

    interface IRnMELightShader
    {
        CONST_VTBL struct IRnMELightShaderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMELightShader_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMELightShader_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMELightShader_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnMELightShader_INTERFACE_DEFINED__ */


#ifndef __IRsView3DObjectPreview_INTERFACE_DEFINED__
#define __IRsView3DObjectPreview_INTERFACE_DEFINED__

/* interface IRsView3DObjectPreview */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsView3DObjectPreview;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("27F1BCF1-0776-481b-896B-094BA5F799AA")
    IRsView3DObjectPreview : public IRsObjectPreviewWorker
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsView3DObjectPreviewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsView3DObjectPreview * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsView3DObjectPreview * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsView3DObjectPreview * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PreviewObject )( 
            IRsView3DObjectPreview * This,
            /* [in] */ IRsObject *pObject,
            /* [in] */ RtObjectPreviewSettings *pSettings,
            /* [out] */ IRdBitmap **pImage);
        
        END_INTERFACE
    } IRsView3DObjectPreviewVtbl;

    interface IRsView3DObjectPreview
    {
        CONST_VTBL struct IRsView3DObjectPreviewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsView3DObjectPreview_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsView3DObjectPreview_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsView3DObjectPreview_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsView3DObjectPreview_PreviewObject(This,pObject,pSettings,pImage)	\
    (This)->lpVtbl -> PreviewObject(This,pObject,pSettings,pImage)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsView3DObjectPreview_INTERFACE_DEFINED__ */


#ifndef __IRdME2ShaderColor_INTERFACE_DEFINED__
#define __IRdME2ShaderColor_INTERFACE_DEFINED__

/* interface IRdME2ShaderColor */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdME2ShaderColor;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("64017AF0-5581-4140-B055-DECA82822AF0")
    IRdME2ShaderColor : public IRsDataObject
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdME2ShaderColorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdME2ShaderColor * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdME2ShaderColor * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdME2ShaderColor * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdME2ShaderColor * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdME2ShaderColor * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdME2ShaderColor * This);
        
        END_INTERFACE
    } IRdME2ShaderColorVtbl;

    interface IRdME2ShaderColor
    {
        CONST_VTBL struct IRdME2ShaderColorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdME2ShaderColor_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdME2ShaderColor_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdME2ShaderColor_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdME2ShaderColor_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdME2ShaderColor_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdME2ShaderColor_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdME2ShaderColor_INTERFACE_DEFINED__ */


#ifndef __IRdMEShaderBrickMethodDef_INTERFACE_DEFINED__
#define __IRdMEShaderBrickMethodDef_INTERFACE_DEFINED__

/* interface IRdMEShaderBrickMethodDef */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdMEShaderBrickMethodDef;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D48808BB-BF02-42ca-B755-DECCFD3B76AD")
    IRdMEShaderBrickMethodDef : public IRsDataObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetMethodName( 
            /* [in] */ BSTR bstrValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMethodName( 
            /* [out] */ BSTR *pbstrValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetMethodDefinition( 
            /* [in] */ BSTR bstrValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMethodDefinition( 
            /* [out] */ BSTR *pbstrValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetUIName( 
            /* [in] */ BSTR bstrValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetUIName( 
            /* [out] */ BSTR *pbstrValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDescription( 
            /* [in] */ BSTR bstrValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDescription( 
            /* [out] */ BSTR *pbstrValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetParamCount( 
            /* [in] */ RtDWORD dwParamCount) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetParamCount( 
            /* [out] */ RtDWORD *pdwParamCount) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetParameter( 
            /* [in] */ RtDWORD dwParamIndex,
            /* [in] */ RtBool bIsOutput,
            /* [in] */ BSTR bstrType,
            /* [in] */ BSTR bstrName,
            /* [in] */ BSTR bstrDescription,
            /* [in] */ GUID DataObjGUID) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetParameter( 
            /* [in] */ RtDWORD dwParamIndex,
            /* [out] */ RtBool *pbIsOutput,
            /* [out] */ BSTR *pbstrType,
            /* [out] */ BSTR *pbstrName,
            /* [out] */ BSTR *pbstrDescription,
            /* [out] */ GUID *pDataObjGUID) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetParameterID( 
            /* [in] */ RtDWORD dwParamIndex,
            /* [in] */ CONID conidParamID) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetParameterID( 
            /* [in] */ RtDWORD dwParamIndex,
            /* [out] */ CONID *pconidParamID) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BuildFromXMLFile( 
            /* [in] */ BSTR bstrXMLFile) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdMEShaderBrickMethodDefVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdMEShaderBrickMethodDef * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdMEShaderBrickMethodDef * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdMEShaderBrickMethodDef * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdMEShaderBrickMethodDef * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdMEShaderBrickMethodDef * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdMEShaderBrickMethodDef * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdMEShaderBrickMethodDef * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetMethodName )( 
            IRdMEShaderBrickMethodDef * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMethodName )( 
            IRdMEShaderBrickMethodDef * This,
            /* [out] */ BSTR *pbstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetMethodDefinition )( 
            IRdMEShaderBrickMethodDef * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMethodDefinition )( 
            IRdMEShaderBrickMethodDef * This,
            /* [out] */ BSTR *pbstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetUIName )( 
            IRdMEShaderBrickMethodDef * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetUIName )( 
            IRdMEShaderBrickMethodDef * This,
            /* [out] */ BSTR *pbstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDescription )( 
            IRdMEShaderBrickMethodDef * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDescription )( 
            IRdMEShaderBrickMethodDef * This,
            /* [out] */ BSTR *pbstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetParamCount )( 
            IRdMEShaderBrickMethodDef * This,
            /* [in] */ RtDWORD dwParamCount);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetParamCount )( 
            IRdMEShaderBrickMethodDef * This,
            /* [out] */ RtDWORD *pdwParamCount);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetParameter )( 
            IRdMEShaderBrickMethodDef * This,
            /* [in] */ RtDWORD dwParamIndex,
            /* [in] */ RtBool bIsOutput,
            /* [in] */ BSTR bstrType,
            /* [in] */ BSTR bstrName,
            /* [in] */ BSTR bstrDescription,
            /* [in] */ GUID DataObjGUID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetParameter )( 
            IRdMEShaderBrickMethodDef * This,
            /* [in] */ RtDWORD dwParamIndex,
            /* [out] */ RtBool *pbIsOutput,
            /* [out] */ BSTR *pbstrType,
            /* [out] */ BSTR *pbstrName,
            /* [out] */ BSTR *pbstrDescription,
            /* [out] */ GUID *pDataObjGUID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetParameterID )( 
            IRdMEShaderBrickMethodDef * This,
            /* [in] */ RtDWORD dwParamIndex,
            /* [in] */ CONID conidParamID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetParameterID )( 
            IRdMEShaderBrickMethodDef * This,
            /* [in] */ RtDWORD dwParamIndex,
            /* [out] */ CONID *pconidParamID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BuildFromXMLFile )( 
            IRdMEShaderBrickMethodDef * This,
            /* [in] */ BSTR bstrXMLFile);
        
        END_INTERFACE
    } IRdMEShaderBrickMethodDefVtbl;

    interface IRdMEShaderBrickMethodDef
    {
        CONST_VTBL struct IRdMEShaderBrickMethodDefVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdMEShaderBrickMethodDef_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdMEShaderBrickMethodDef_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdMEShaderBrickMethodDef_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdMEShaderBrickMethodDef_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdMEShaderBrickMethodDef_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdMEShaderBrickMethodDef_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdMEShaderBrickMethodDef_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdMEShaderBrickMethodDef_SetMethodName(This,bstrValue)	\
    (This)->lpVtbl -> SetMethodName(This,bstrValue)

#define IRdMEShaderBrickMethodDef_GetMethodName(This,pbstrValue)	\
    (This)->lpVtbl -> GetMethodName(This,pbstrValue)

#define IRdMEShaderBrickMethodDef_SetMethodDefinition(This,bstrValue)	\
    (This)->lpVtbl -> SetMethodDefinition(This,bstrValue)

#define IRdMEShaderBrickMethodDef_GetMethodDefinition(This,pbstrValue)	\
    (This)->lpVtbl -> GetMethodDefinition(This,pbstrValue)

#define IRdMEShaderBrickMethodDef_SetUIName(This,bstrValue)	\
    (This)->lpVtbl -> SetUIName(This,bstrValue)

#define IRdMEShaderBrickMethodDef_GetUIName(This,pbstrValue)	\
    (This)->lpVtbl -> GetUIName(This,pbstrValue)

#define IRdMEShaderBrickMethodDef_SetDescription(This,bstrValue)	\
    (This)->lpVtbl -> SetDescription(This,bstrValue)

#define IRdMEShaderBrickMethodDef_GetDescription(This,pbstrValue)	\
    (This)->lpVtbl -> GetDescription(This,pbstrValue)

#define IRdMEShaderBrickMethodDef_SetParamCount(This,dwParamCount)	\
    (This)->lpVtbl -> SetParamCount(This,dwParamCount)

#define IRdMEShaderBrickMethodDef_GetParamCount(This,pdwParamCount)	\
    (This)->lpVtbl -> GetParamCount(This,pdwParamCount)

#define IRdMEShaderBrickMethodDef_SetParameter(This,dwParamIndex,bIsOutput,bstrType,bstrName,bstrDescription,DataObjGUID)	\
    (This)->lpVtbl -> SetParameter(This,dwParamIndex,bIsOutput,bstrType,bstrName,bstrDescription,DataObjGUID)

#define IRdMEShaderBrickMethodDef_GetParameter(This,dwParamIndex,pbIsOutput,pbstrType,pbstrName,pbstrDescription,pDataObjGUID)	\
    (This)->lpVtbl -> GetParameter(This,dwParamIndex,pbIsOutput,pbstrType,pbstrName,pbstrDescription,pDataObjGUID)

#define IRdMEShaderBrickMethodDef_SetParameterID(This,dwParamIndex,conidParamID)	\
    (This)->lpVtbl -> SetParameterID(This,dwParamIndex,conidParamID)

#define IRdMEShaderBrickMethodDef_GetParameterID(This,dwParamIndex,pconidParamID)	\
    (This)->lpVtbl -> GetParameterID(This,dwParamIndex,pconidParamID)

#define IRdMEShaderBrickMethodDef_BuildFromXMLFile(This,bstrXMLFile)	\
    (This)->lpVtbl -> BuildFromXMLFile(This,bstrXMLFile)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShaderBrickMethodDef_Clear_Proxy( 
    IRdMEShaderBrickMethodDef * This);


void __RPC_STUB IRdMEShaderBrickMethodDef_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShaderBrickMethodDef_SetMethodName_Proxy( 
    IRdMEShaderBrickMethodDef * This,
    /* [in] */ BSTR bstrValue);


void __RPC_STUB IRdMEShaderBrickMethodDef_SetMethodName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShaderBrickMethodDef_GetMethodName_Proxy( 
    IRdMEShaderBrickMethodDef * This,
    /* [out] */ BSTR *pbstrValue);


void __RPC_STUB IRdMEShaderBrickMethodDef_GetMethodName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShaderBrickMethodDef_SetMethodDefinition_Proxy( 
    IRdMEShaderBrickMethodDef * This,
    /* [in] */ BSTR bstrValue);


void __RPC_STUB IRdMEShaderBrickMethodDef_SetMethodDefinition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShaderBrickMethodDef_GetMethodDefinition_Proxy( 
    IRdMEShaderBrickMethodDef * This,
    /* [out] */ BSTR *pbstrValue);


void __RPC_STUB IRdMEShaderBrickMethodDef_GetMethodDefinition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShaderBrickMethodDef_SetUIName_Proxy( 
    IRdMEShaderBrickMethodDef * This,
    /* [in] */ BSTR bstrValue);


void __RPC_STUB IRdMEShaderBrickMethodDef_SetUIName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShaderBrickMethodDef_GetUIName_Proxy( 
    IRdMEShaderBrickMethodDef * This,
    /* [out] */ BSTR *pbstrValue);


void __RPC_STUB IRdMEShaderBrickMethodDef_GetUIName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShaderBrickMethodDef_SetDescription_Proxy( 
    IRdMEShaderBrickMethodDef * This,
    /* [in] */ BSTR bstrValue);


void __RPC_STUB IRdMEShaderBrickMethodDef_SetDescription_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShaderBrickMethodDef_GetDescription_Proxy( 
    IRdMEShaderBrickMethodDef * This,
    /* [out] */ BSTR *pbstrValue);


void __RPC_STUB IRdMEShaderBrickMethodDef_GetDescription_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShaderBrickMethodDef_SetParamCount_Proxy( 
    IRdMEShaderBrickMethodDef * This,
    /* [in] */ RtDWORD dwParamCount);


void __RPC_STUB IRdMEShaderBrickMethodDef_SetParamCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShaderBrickMethodDef_GetParamCount_Proxy( 
    IRdMEShaderBrickMethodDef * This,
    /* [out] */ RtDWORD *pdwParamCount);


void __RPC_STUB IRdMEShaderBrickMethodDef_GetParamCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShaderBrickMethodDef_SetParameter_Proxy( 
    IRdMEShaderBrickMethodDef * This,
    /* [in] */ RtDWORD dwParamIndex,
    /* [in] */ RtBool bIsOutput,
    /* [in] */ BSTR bstrType,
    /* [in] */ BSTR bstrName,
    /* [in] */ BSTR bstrDescription,
    /* [in] */ GUID DataObjGUID);


void __RPC_STUB IRdMEShaderBrickMethodDef_SetParameter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShaderBrickMethodDef_GetParameter_Proxy( 
    IRdMEShaderBrickMethodDef * This,
    /* [in] */ RtDWORD dwParamIndex,
    /* [out] */ RtBool *pbIsOutput,
    /* [out] */ BSTR *pbstrType,
    /* [out] */ BSTR *pbstrName,
    /* [out] */ BSTR *pbstrDescription,
    /* [out] */ GUID *pDataObjGUID);


void __RPC_STUB IRdMEShaderBrickMethodDef_GetParameter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShaderBrickMethodDef_SetParameterID_Proxy( 
    IRdMEShaderBrickMethodDef * This,
    /* [in] */ RtDWORD dwParamIndex,
    /* [in] */ CONID conidParamID);


void __RPC_STUB IRdMEShaderBrickMethodDef_SetParameterID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShaderBrickMethodDef_GetParameterID_Proxy( 
    IRdMEShaderBrickMethodDef * This,
    /* [in] */ RtDWORD dwParamIndex,
    /* [out] */ CONID *pconidParamID);


void __RPC_STUB IRdMEShaderBrickMethodDef_GetParameterID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMEShaderBrickMethodDef_BuildFromXMLFile_Proxy( 
    IRdMEShaderBrickMethodDef * This,
    /* [in] */ BSTR bstrXMLFile);


void __RPC_STUB IRdMEShaderBrickMethodDef_BuildFromXMLFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdMEShaderBrickMethodDef_INTERFACE_DEFINED__ */


#ifndef __IRnMEFunctionBrick_INTERFACE_DEFINED__
#define __IRnMEFunctionBrick_INTERFACE_DEFINED__

/* interface IRnMEFunctionBrick */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMEFunctionBrick;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1EDAAD98-DA8B-45fd-B1F5-001D9498AED7")
    IRnMEFunctionBrick : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetFunction( 
            /* [in] */ IRdMEShaderBrickMethodDef *pInputFunction) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnMEFunctionBrickVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMEFunctionBrick * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMEFunctionBrick * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMEFunctionBrick * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetFunction )( 
            IRnMEFunctionBrick * This,
            /* [in] */ IRdMEShaderBrickMethodDef *pInputFunction);
        
        END_INTERFACE
    } IRnMEFunctionBrickVtbl;

    interface IRnMEFunctionBrick
    {
        CONST_VTBL struct IRnMEFunctionBrickVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMEFunctionBrick_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMEFunctionBrick_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMEFunctionBrick_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnMEFunctionBrick_SetFunction(This,pInputFunction)	\
    (This)->lpVtbl -> SetFunction(This,pInputFunction)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnMEFunctionBrick_SetFunction_Proxy( 
    IRnMEFunctionBrick * This,
    /* [in] */ IRdMEShaderBrickMethodDef *pInputFunction);


void __RPC_STUB IRnMEFunctionBrick_SetFunction_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnMEFunctionBrick_INTERFACE_DEFINED__ */


#ifndef __IRcMEImportBrick_INTERFACE_DEFINED__
#define __IRcMEImportBrick_INTERFACE_DEFINED__

/* interface IRcMEImportBrick */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcMEImportBrick;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("23B7EA59-E031-4fe9-80AE-A5DA7118DCA8")
    IRcMEImportBrick : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcMEImportBrickVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcMEImportBrick * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcMEImportBrick * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcMEImportBrick * This);
        
        END_INTERFACE
    } IRcMEImportBrickVtbl;

    interface IRcMEImportBrick
    {
        CONST_VTBL struct IRcMEImportBrickVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcMEImportBrick_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcMEImportBrick_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcMEImportBrick_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcMEImportBrick_INTERFACE_DEFINED__ */


#ifndef __IRcMETBBricks_INTERFACE_DEFINED__
#define __IRcMETBBricks_INTERFACE_DEFINED__

/* interface IRcMETBBricks */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcMETBBricks;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B739F5E5-2854-497b-AEB9-C4536E56F36A")
    IRcMETBBricks : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcMETBBricksVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcMETBBricks * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcMETBBricks * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcMETBBricks * This);
        
        END_INTERFACE
    } IRcMETBBricksVtbl;

    interface IRcMETBBricks
    {
        CONST_VTBL struct IRcMETBBricksVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcMETBBricks_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcMETBBricks_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcMETBBricks_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcMETBBricks_INTERFACE_DEFINED__ */


#ifndef __IRnMECustomBrick_INTERFACE_DEFINED__
#define __IRnMECustomBrick_INTERFACE_DEFINED__

/* interface IRnMECustomBrick */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMECustomBrick;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F0F70F31-82E8-4d0f-BF7A-EDA8CBDC7CE1")
    IRnMECustomBrick : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetFunction( 
            /* [in] */ IRdScriptObject *pInputFunction) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnMECustomBrickVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMECustomBrick * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMECustomBrick * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMECustomBrick * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetFunction )( 
            IRnMECustomBrick * This,
            /* [in] */ IRdScriptObject *pInputFunction);
        
        END_INTERFACE
    } IRnMECustomBrickVtbl;

    interface IRnMECustomBrick
    {
        CONST_VTBL struct IRnMECustomBrickVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMECustomBrick_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMECustomBrick_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMECustomBrick_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnMECustomBrick_SetFunction(This,pInputFunction)	\
    (This)->lpVtbl -> SetFunction(This,pInputFunction)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnMECustomBrick_SetFunction_Proxy( 
    IRnMECustomBrick * This,
    /* [in] */ IRdScriptObject *pInputFunction);


void __RPC_STUB IRnMECustomBrick_SetFunction_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnMECustomBrick_INTERFACE_DEFINED__ */


#ifndef __IRnMEAlphaShader_INTERFACE_DEFINED__
#define __IRnMEAlphaShader_INTERFACE_DEFINED__

/* interface IRnMEAlphaShader */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMEAlphaShader;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0F0020E4-44F7-4584-A545-8B262A00410A")
    IRnMEAlphaShader : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnMEAlphaShaderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMEAlphaShader * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMEAlphaShader * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMEAlphaShader * This);
        
        END_INTERFACE
    } IRnMEAlphaShaderVtbl;

    interface IRnMEAlphaShader
    {
        CONST_VTBL struct IRnMEAlphaShaderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMEAlphaShader_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMEAlphaShader_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMEAlphaShader_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnMEAlphaShader_INTERFACE_DEFINED__ */


#ifndef __IRnMEColorShader_INTERFACE_DEFINED__
#define __IRnMEColorShader_INTERFACE_DEFINED__

/* interface IRnMEColorShader */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMEColorShader;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2B715152-7145-4e7d-A563-538D18E411B8")
    IRnMEColorShader : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnMEColorShaderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMEColorShader * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMEColorShader * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMEColorShader * This);
        
        END_INTERFACE
    } IRnMEColorShaderVtbl;

    interface IRnMEColorShader
    {
        CONST_VTBL struct IRnMEColorShaderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMEColorShader_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMEColorShader_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMEColorShader_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnMEColorShader_INTERFACE_DEFINED__ */


#ifndef __IRnMETexCoordShader_INTERFACE_DEFINED__
#define __IRnMETexCoordShader_INTERFACE_DEFINED__

/* interface IRnMETexCoordShader */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMETexCoordShader;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("68CA89B7-7A89-4b5a-A0F9-EBDEDAFDF217")
    IRnMETexCoordShader : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnMETexCoordShaderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMETexCoordShader * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMETexCoordShader * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMETexCoordShader * This);
        
        END_INTERFACE
    } IRnMETexCoordShaderVtbl;

    interface IRnMETexCoordShader
    {
        CONST_VTBL struct IRnMETexCoordShaderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMETexCoordShader_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMETexCoordShader_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMETexCoordShader_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnMETexCoordShader_INTERFACE_DEFINED__ */


#ifndef __IRnMENormalShader_INTERFACE_DEFINED__
#define __IRnMENormalShader_INTERFACE_DEFINED__

/* interface IRnMENormalShader */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMENormalShader;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2A21BB8E-3507-4dfa-A5EE-29E36B1F82D5")
    IRnMENormalShader : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnMENormalShaderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMENormalShader * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMENormalShader * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMENormalShader * This);
        
        END_INTERFACE
    } IRnMENormalShaderVtbl;

    interface IRnMENormalShader
    {
        CONST_VTBL struct IRnMENormalShaderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMENormalShader_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMENormalShader_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMENormalShader_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnMENormalShader_INTERFACE_DEFINED__ */


#ifndef __IRnMEModelShader_INTERFACE_DEFINED__
#define __IRnMEModelShader_INTERFACE_DEFINED__

/* interface IRnMEModelShader */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMEModelShader;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4AFD8D13-2CD3-44df-9D56-050E99961BEE")
    IRnMEModelShader : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnMEModelShaderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMEModelShader * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMEModelShader * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMEModelShader * This);
        
        END_INTERFACE
    } IRnMEModelShaderVtbl;

    interface IRnMEModelShader
    {
        CONST_VTBL struct IRnMEModelShaderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMEModelShader_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMEModelShader_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMEModelShader_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnMEModelShader_INTERFACE_DEFINED__ */


#ifndef __IRnMEVertexLightShader_INTERFACE_DEFINED__
#define __IRnMEVertexLightShader_INTERFACE_DEFINED__

/* interface IRnMEVertexLightShader */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMEVertexLightShader;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("547BFF30-5F56-41d0-A093-BF0ADFCF5EB6")
    IRnMEVertexLightShader : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnMEVertexLightShaderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMEVertexLightShader * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMEVertexLightShader * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMEVertexLightShader * This);
        
        END_INTERFACE
    } IRnMEVertexLightShaderVtbl;

    interface IRnMEVertexLightShader
    {
        CONST_VTBL struct IRnMEVertexLightShaderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMEVertexLightShader_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMEVertexLightShader_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMEVertexLightShader_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnMEVertexLightShader_INTERFACE_DEFINED__ */


#ifndef __IRnMEMaterial_INTERFACE_DEFINED__
#define __IRnMEMaterial_INTERFACE_DEFINED__

/* interface IRnMEMaterial */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMEMaterial;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("582541EB-0994-469b-8577-B5C5343D2D60")
    IRnMEMaterial : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnMEMaterialVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMEMaterial * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMEMaterial * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMEMaterial * This);
        
        END_INTERFACE
    } IRnMEMaterialVtbl;

    interface IRnMEMaterial
    {
        CONST_VTBL struct IRnMEMaterialVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMEMaterial_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMEMaterial_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMEMaterial_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnMEMaterial_INTERFACE_DEFINED__ */


#ifndef __IRnD3DMaterialFromME_INTERFACE_DEFINED__
#define __IRnD3DMaterialFromME_INTERFACE_DEFINED__

/* interface IRnD3DMaterialFromME */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnD3DMaterialFromME;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0F3AC0CF-6215-4d86-A2B4-CCA2334D0505")
    IRnD3DMaterialFromME : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnD3DMaterialFromMEVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnD3DMaterialFromME * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnD3DMaterialFromME * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnD3DMaterialFromME * This);
        
        END_INTERFACE
    } IRnD3DMaterialFromMEVtbl;

    interface IRnD3DMaterialFromME
    {
        CONST_VTBL struct IRnD3DMaterialFromMEVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnD3DMaterialFromME_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnD3DMaterialFromME_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnD3DMaterialFromME_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnD3DMaterialFromME_INTERFACE_DEFINED__ */


#ifndef __IRnMEFShaderInput_INTERFACE_DEFINED__
#define __IRnMEFShaderInput_INTERFACE_DEFINED__

/* interface IRnMEFShaderInput */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMEFShaderInput;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B1AC1D22-E90E-487b-AF25-037E4C93D614")
    IRnMEFShaderInput : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnMEFShaderInputVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMEFShaderInput * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMEFShaderInput * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMEFShaderInput * This);
        
        END_INTERFACE
    } IRnMEFShaderInputVtbl;

    interface IRnMEFShaderInput
    {
        CONST_VTBL struct IRnMEFShaderInputVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMEFShaderInput_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMEFShaderInput_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMEFShaderInput_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnMEFShaderInput_INTERFACE_DEFINED__ */


#ifndef __IRnMEInputBitmap_INTERFACE_DEFINED__
#define __IRnMEInputBitmap_INTERFACE_DEFINED__

/* interface IRnMEInputBitmap */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMEInputBitmap;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D4DED6B1-17E3-402f-95DC-6AA1923A2D70")
    IRnMEInputBitmap : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnMEInputBitmapVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMEInputBitmap * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMEInputBitmap * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMEInputBitmap * This);
        
        END_INTERFACE
    } IRnMEInputBitmapVtbl;

    interface IRnMEInputBitmap
    {
        CONST_VTBL struct IRnMEInputBitmapVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMEInputBitmap_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMEInputBitmap_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMEInputBitmap_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnMEInputBitmap_INTERFACE_DEFINED__ */


#ifndef __IRnMEInputBitmap1D_INTERFACE_DEFINED__
#define __IRnMEInputBitmap1D_INTERFACE_DEFINED__

/* interface IRnMEInputBitmap1D */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMEInputBitmap1D;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("897D5277-D1C4-4eaf-8820-E7F87A31109B")
    IRnMEInputBitmap1D : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnMEInputBitmap1DVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMEInputBitmap1D * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMEInputBitmap1D * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMEInputBitmap1D * This);
        
        END_INTERFACE
    } IRnMEInputBitmap1DVtbl;

    interface IRnMEInputBitmap1D
    {
        CONST_VTBL struct IRnMEInputBitmap1DVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMEInputBitmap1D_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMEInputBitmap1D_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMEInputBitmap1D_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnMEInputBitmap1D_INTERFACE_DEFINED__ */


#ifndef __IRnMEInputColor_INTERFACE_DEFINED__
#define __IRnMEInputColor_INTERFACE_DEFINED__

/* interface IRnMEInputColor */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMEInputColor;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2232F748-5E81-4c89-B8DC-EF6F1D76ECDE")
    IRnMEInputColor : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnMEInputColorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMEInputColor * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMEInputColor * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMEInputColor * This);
        
        END_INTERFACE
    } IRnMEInputColorVtbl;

    interface IRnMEInputColor
    {
        CONST_VTBL struct IRnMEInputColorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMEInputColor_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMEInputColor_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMEInputColor_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnMEInputColor_INTERFACE_DEFINED__ */


#ifndef __IRnMEInputFloat_INTERFACE_DEFINED__
#define __IRnMEInputFloat_INTERFACE_DEFINED__

/* interface IRnMEInputFloat */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMEInputFloat;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6F343321-3D9C-4211-9AA6-6418FF169D5B")
    IRnMEInputFloat : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnMEInputFloatVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMEInputFloat * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMEInputFloat * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMEInputFloat * This);
        
        END_INTERFACE
    } IRnMEInputFloatVtbl;

    interface IRnMEInputFloat
    {
        CONST_VTBL struct IRnMEInputFloatVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMEInputFloat_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMEInputFloat_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMEInputFloat_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnMEInputFloat_INTERFACE_DEFINED__ */


#ifndef __IRnMEInputMatrix_INTERFACE_DEFINED__
#define __IRnMEInputMatrix_INTERFACE_DEFINED__

/* interface IRnMEInputMatrix */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMEInputMatrix;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F208D66E-7E4F-4971-95ED-525CF7CBFA0D")
    IRnMEInputMatrix : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnMEInputMatrixVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMEInputMatrix * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMEInputMatrix * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMEInputMatrix * This);
        
        END_INTERFACE
    } IRnMEInputMatrixVtbl;

    interface IRnMEInputMatrix
    {
        CONST_VTBL struct IRnMEInputMatrixVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMEInputMatrix_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMEInputMatrix_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMEInputMatrix_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnMEInputMatrix_INTERFACE_DEFINED__ */


#ifndef __IRnMEInputPoint_INTERFACE_DEFINED__
#define __IRnMEInputPoint_INTERFACE_DEFINED__

/* interface IRnMEInputPoint */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMEInputPoint;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2822AE31-FCB1-4147-8028-0F9CD33369FA")
    IRnMEInputPoint : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnMEInputPointVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMEInputPoint * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMEInputPoint * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMEInputPoint * This);
        
        END_INTERFACE
    } IRnMEInputPointVtbl;

    interface IRnMEInputPoint
    {
        CONST_VTBL struct IRnMEInputPointVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMEInputPoint_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMEInputPoint_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMEInputPoint_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnMEInputPoint_INTERFACE_DEFINED__ */


#ifndef __IRnMEShadowMap_INTERFACE_DEFINED__
#define __IRnMEShadowMap_INTERFACE_DEFINED__

/* interface IRnMEShadowMap */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMEShadowMap;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F59F6252-430D-4382-88BA-7B9F431BB8E7")
    IRnMEShadowMap : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnMEShadowMapVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMEShadowMap * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMEShadowMap * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMEShadowMap * This);
        
        END_INTERFACE
    } IRnMEShadowMapVtbl;

    interface IRnMEShadowMap
    {
        CONST_VTBL struct IRnMEShadowMapVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMEShadowMap_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMEShadowMap_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMEShadowMap_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnMEShadowMap_INTERFACE_DEFINED__ */


#ifndef __IRdMEShaderAlpha_INTERFACE_DEFINED__
#define __IRdMEShaderAlpha_INTERFACE_DEFINED__

/* interface IRdMEShaderAlpha */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdMEShaderAlpha;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("03457604-C8B7-4873-8287-4380E3367E1F")
    IRdMEShaderAlpha : public IRdMEShader
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdMEShaderAlphaVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdMEShaderAlpha * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdMEShaderAlpha * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdMEShaderAlpha * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdMEShaderAlpha * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetShaderName )( 
            IRdMEShaderAlpha * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetShaderType )( 
            IRdMEShaderAlpha * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShaderType )( 
            IRdMEShaderAlpha * This,
            /* [retval][out] */ BSTR *pbstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShaderShortName )( 
            IRdMEShaderAlpha * This,
            /* [retval][out] */ BSTR *pbstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShaderFullName )( 
            IRdMEShaderAlpha * This,
            /* [retval][out] */ BSTR *pbstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetShader )( 
            IRdMEShaderAlpha * This,
            /* [in] */ BSTR bstrShader);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShader )( 
            IRdMEShaderAlpha * This,
            /* [retval][out] */ BSTR *pbstrShader);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameterCount )( 
            IRdMEShaderAlpha * This,
            /* [out] */ RtDWORD *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameter )( 
            IRdMEShaderAlpha * This,
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ BSTR *pVariableName,
            /* [out] */ BSTR *pNodeName,
            /* [out] */ BSTR *pConnectorName,
            /* [out] */ BSTR *pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddInputParameter )( 
            IRdMEShaderAlpha * This,
            /* [in] */ BSTR pVariableName,
            /* [in] */ BSTR pNodeName,
            /* [in] */ BSTR pConnectorName,
            /* [in] */ BSTR pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AppendInputParameters )( 
            IRdMEShaderAlpha * This,
            /* [in] */ IRdMEShaderBrick *pVal);
        
        END_INTERFACE
    } IRdMEShaderAlphaVtbl;

    interface IRdMEShaderAlpha
    {
        CONST_VTBL struct IRdMEShaderAlphaVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdMEShaderAlpha_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdMEShaderAlpha_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdMEShaderAlpha_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdMEShaderAlpha_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdMEShaderAlpha_SetShaderName(This,bstrValue)	\
    (This)->lpVtbl -> SetShaderName(This,bstrValue)

#define IRdMEShaderAlpha_SetShaderType(This,bstrValue)	\
    (This)->lpVtbl -> SetShaderType(This,bstrValue)

#define IRdMEShaderAlpha_GetShaderType(This,pbstrValue)	\
    (This)->lpVtbl -> GetShaderType(This,pbstrValue)

#define IRdMEShaderAlpha_GetShaderShortName(This,pbstrValue)	\
    (This)->lpVtbl -> GetShaderShortName(This,pbstrValue)

#define IRdMEShaderAlpha_GetShaderFullName(This,pbstrValue)	\
    (This)->lpVtbl -> GetShaderFullName(This,pbstrValue)

#define IRdMEShaderAlpha_SetShader(This,bstrShader)	\
    (This)->lpVtbl -> SetShader(This,bstrShader)

#define IRdMEShaderAlpha_GetShader(This,pbstrShader)	\
    (This)->lpVtbl -> GetShader(This,pbstrShader)

#define IRdMEShaderAlpha_GetInputParameterCount(This,pVal)	\
    (This)->lpVtbl -> GetInputParameterCount(This,pVal)

#define IRdMEShaderAlpha_GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdMEShaderAlpha_AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdMEShaderAlpha_AppendInputParameters(This,pVal)	\
    (This)->lpVtbl -> AppendInputParameters(This,pVal)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdMEShaderAlpha_INTERFACE_DEFINED__ */


#ifndef __IRdMEShaderBrickStaticInput_INTERFACE_DEFINED__
#define __IRdMEShaderBrickStaticInput_INTERFACE_DEFINED__

/* interface IRdMEShaderBrickStaticInput */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdMEShaderBrickStaticInput;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0385CEC6-590F-4822-BA6D-E706C01FDB36")
    IRdMEShaderBrickStaticInput : public IRdMEShaderBrickStatic
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdMEShaderBrickStaticInputVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdMEShaderBrickStaticInput * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdMEShaderBrickStaticInput * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdMEShaderBrickStaticInput * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdMEShaderBrickStaticInput * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBrickDefinition )( 
            IRdMEShaderBrickStaticInput * This,
            /* [retval][out] */ BSTR *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBrickExecution )( 
            IRdMEShaderBrickStaticInput * This,
            /* [retval][out] */ BSTR *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBrickResult )( 
            IRdMEShaderBrickStaticInput * This,
            /* [retval][out] */ BSTR *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetType )( 
            IRdMEShaderBrickStaticInput * This,
            /* [retval][out] */ BSTR *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameterCount )( 
            IRdMEShaderBrickStaticInput * This,
            /* [out] */ RtDWORD *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameter )( 
            IRdMEShaderBrickStaticInput * This,
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ BSTR *pVariableName,
            /* [out] */ BSTR *pNodeName,
            /* [out] */ BSTR *pConnectorName,
            /* [out] */ BSTR *pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddInputParameter )( 
            IRdMEShaderBrickStaticInput * This,
            /* [in] */ BSTR pVariableName,
            /* [in] */ BSTR pNodeName,
            /* [in] */ BSTR pConnectorName,
            /* [in] */ BSTR pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AppendInputParameters )( 
            IRdMEShaderBrickStaticInput * This,
            /* [in] */ IRdMEShaderBrick *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetBrickDefinition )( 
            IRdMEShaderBrickStaticInput * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetBrickExecution )( 
            IRdMEShaderBrickStaticInput * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetBrickResult )( 
            IRdMEShaderBrickStaticInput * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetType )( 
            IRdMEShaderBrickStaticInput * This,
            /* [in] */ BSTR bstrValue);
        
        END_INTERFACE
    } IRdMEShaderBrickStaticInputVtbl;

    interface IRdMEShaderBrickStaticInput
    {
        CONST_VTBL struct IRdMEShaderBrickStaticInputVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdMEShaderBrickStaticInput_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdMEShaderBrickStaticInput_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdMEShaderBrickStaticInput_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdMEShaderBrickStaticInput_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdMEShaderBrickStaticInput_GetBrickDefinition(This,pValue)	\
    (This)->lpVtbl -> GetBrickDefinition(This,pValue)

#define IRdMEShaderBrickStaticInput_GetBrickExecution(This,pValue)	\
    (This)->lpVtbl -> GetBrickExecution(This,pValue)

#define IRdMEShaderBrickStaticInput_GetBrickResult(This,pValue)	\
    (This)->lpVtbl -> GetBrickResult(This,pValue)

#define IRdMEShaderBrickStaticInput_GetType(This,pValue)	\
    (This)->lpVtbl -> GetType(This,pValue)

#define IRdMEShaderBrickStaticInput_GetInputParameterCount(This,pVal)	\
    (This)->lpVtbl -> GetInputParameterCount(This,pVal)

#define IRdMEShaderBrickStaticInput_GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdMEShaderBrickStaticInput_AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdMEShaderBrickStaticInput_AppendInputParameters(This,pVal)	\
    (This)->lpVtbl -> AppendInputParameters(This,pVal)


#define IRdMEShaderBrickStaticInput_SetBrickDefinition(This,bstrValue)	\
    (This)->lpVtbl -> SetBrickDefinition(This,bstrValue)

#define IRdMEShaderBrickStaticInput_SetBrickExecution(This,bstrValue)	\
    (This)->lpVtbl -> SetBrickExecution(This,bstrValue)

#define IRdMEShaderBrickStaticInput_SetBrickResult(This,bstrValue)	\
    (This)->lpVtbl -> SetBrickResult(This,bstrValue)

#define IRdMEShaderBrickStaticInput_SetType(This,bstrValue)	\
    (This)->lpVtbl -> SetType(This,bstrValue)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdMEShaderBrickStaticInput_INTERFACE_DEFINED__ */


#ifndef __IRdMEShaderBrickStaticSampler1D_INTERFACE_DEFINED__
#define __IRdMEShaderBrickStaticSampler1D_INTERFACE_DEFINED__

/* interface IRdMEShaderBrickStaticSampler1D */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdMEShaderBrickStaticSampler1D;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("351A4534-F3BB-403a-BA23-58ADFDC9D051")
    IRdMEShaderBrickStaticSampler1D : public IRdMEShaderBrickStatic
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdMEShaderBrickStaticSampler1DVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdMEShaderBrickStaticSampler1D * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdMEShaderBrickStaticSampler1D * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdMEShaderBrickStaticSampler1D * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdMEShaderBrickStaticSampler1D * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBrickDefinition )( 
            IRdMEShaderBrickStaticSampler1D * This,
            /* [retval][out] */ BSTR *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBrickExecution )( 
            IRdMEShaderBrickStaticSampler1D * This,
            /* [retval][out] */ BSTR *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBrickResult )( 
            IRdMEShaderBrickStaticSampler1D * This,
            /* [retval][out] */ BSTR *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetType )( 
            IRdMEShaderBrickStaticSampler1D * This,
            /* [retval][out] */ BSTR *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameterCount )( 
            IRdMEShaderBrickStaticSampler1D * This,
            /* [out] */ RtDWORD *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameter )( 
            IRdMEShaderBrickStaticSampler1D * This,
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ BSTR *pVariableName,
            /* [out] */ BSTR *pNodeName,
            /* [out] */ BSTR *pConnectorName,
            /* [out] */ BSTR *pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddInputParameter )( 
            IRdMEShaderBrickStaticSampler1D * This,
            /* [in] */ BSTR pVariableName,
            /* [in] */ BSTR pNodeName,
            /* [in] */ BSTR pConnectorName,
            /* [in] */ BSTR pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AppendInputParameters )( 
            IRdMEShaderBrickStaticSampler1D * This,
            /* [in] */ IRdMEShaderBrick *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetBrickDefinition )( 
            IRdMEShaderBrickStaticSampler1D * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetBrickExecution )( 
            IRdMEShaderBrickStaticSampler1D * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetBrickResult )( 
            IRdMEShaderBrickStaticSampler1D * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetType )( 
            IRdMEShaderBrickStaticSampler1D * This,
            /* [in] */ BSTR bstrValue);
        
        END_INTERFACE
    } IRdMEShaderBrickStaticSampler1DVtbl;

    interface IRdMEShaderBrickStaticSampler1D
    {
        CONST_VTBL struct IRdMEShaderBrickStaticSampler1DVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdMEShaderBrickStaticSampler1D_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdMEShaderBrickStaticSampler1D_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdMEShaderBrickStaticSampler1D_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdMEShaderBrickStaticSampler1D_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdMEShaderBrickStaticSampler1D_GetBrickDefinition(This,pValue)	\
    (This)->lpVtbl -> GetBrickDefinition(This,pValue)

#define IRdMEShaderBrickStaticSampler1D_GetBrickExecution(This,pValue)	\
    (This)->lpVtbl -> GetBrickExecution(This,pValue)

#define IRdMEShaderBrickStaticSampler1D_GetBrickResult(This,pValue)	\
    (This)->lpVtbl -> GetBrickResult(This,pValue)

#define IRdMEShaderBrickStaticSampler1D_GetType(This,pValue)	\
    (This)->lpVtbl -> GetType(This,pValue)

#define IRdMEShaderBrickStaticSampler1D_GetInputParameterCount(This,pVal)	\
    (This)->lpVtbl -> GetInputParameterCount(This,pVal)

#define IRdMEShaderBrickStaticSampler1D_GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdMEShaderBrickStaticSampler1D_AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdMEShaderBrickStaticSampler1D_AppendInputParameters(This,pVal)	\
    (This)->lpVtbl -> AppendInputParameters(This,pVal)


#define IRdMEShaderBrickStaticSampler1D_SetBrickDefinition(This,bstrValue)	\
    (This)->lpVtbl -> SetBrickDefinition(This,bstrValue)

#define IRdMEShaderBrickStaticSampler1D_SetBrickExecution(This,bstrValue)	\
    (This)->lpVtbl -> SetBrickExecution(This,bstrValue)

#define IRdMEShaderBrickStaticSampler1D_SetBrickResult(This,bstrValue)	\
    (This)->lpVtbl -> SetBrickResult(This,bstrValue)

#define IRdMEShaderBrickStaticSampler1D_SetType(This,bstrValue)	\
    (This)->lpVtbl -> SetType(This,bstrValue)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdMEShaderBrickStaticSampler1D_INTERFACE_DEFINED__ */


#ifndef __IRdMEShaderBrickStaticSampler2D_INTERFACE_DEFINED__
#define __IRdMEShaderBrickStaticSampler2D_INTERFACE_DEFINED__

/* interface IRdMEShaderBrickStaticSampler2D */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdMEShaderBrickStaticSampler2D;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9EEE4C86-5613-4f7c-9676-E4B7E1FE9317")
    IRdMEShaderBrickStaticSampler2D : public IRdMEShaderBrickStatic
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdMEShaderBrickStaticSampler2DVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdMEShaderBrickStaticSampler2D * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdMEShaderBrickStaticSampler2D * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdMEShaderBrickStaticSampler2D * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdMEShaderBrickStaticSampler2D * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBrickDefinition )( 
            IRdMEShaderBrickStaticSampler2D * This,
            /* [retval][out] */ BSTR *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBrickExecution )( 
            IRdMEShaderBrickStaticSampler2D * This,
            /* [retval][out] */ BSTR *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBrickResult )( 
            IRdMEShaderBrickStaticSampler2D * This,
            /* [retval][out] */ BSTR *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetType )( 
            IRdMEShaderBrickStaticSampler2D * This,
            /* [retval][out] */ BSTR *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameterCount )( 
            IRdMEShaderBrickStaticSampler2D * This,
            /* [out] */ RtDWORD *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameter )( 
            IRdMEShaderBrickStaticSampler2D * This,
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ BSTR *pVariableName,
            /* [out] */ BSTR *pNodeName,
            /* [out] */ BSTR *pConnectorName,
            /* [out] */ BSTR *pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddInputParameter )( 
            IRdMEShaderBrickStaticSampler2D * This,
            /* [in] */ BSTR pVariableName,
            /* [in] */ BSTR pNodeName,
            /* [in] */ BSTR pConnectorName,
            /* [in] */ BSTR pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AppendInputParameters )( 
            IRdMEShaderBrickStaticSampler2D * This,
            /* [in] */ IRdMEShaderBrick *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetBrickDefinition )( 
            IRdMEShaderBrickStaticSampler2D * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetBrickExecution )( 
            IRdMEShaderBrickStaticSampler2D * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetBrickResult )( 
            IRdMEShaderBrickStaticSampler2D * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetType )( 
            IRdMEShaderBrickStaticSampler2D * This,
            /* [in] */ BSTR bstrValue);
        
        END_INTERFACE
    } IRdMEShaderBrickStaticSampler2DVtbl;

    interface IRdMEShaderBrickStaticSampler2D
    {
        CONST_VTBL struct IRdMEShaderBrickStaticSampler2DVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdMEShaderBrickStaticSampler2D_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdMEShaderBrickStaticSampler2D_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdMEShaderBrickStaticSampler2D_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdMEShaderBrickStaticSampler2D_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdMEShaderBrickStaticSampler2D_GetBrickDefinition(This,pValue)	\
    (This)->lpVtbl -> GetBrickDefinition(This,pValue)

#define IRdMEShaderBrickStaticSampler2D_GetBrickExecution(This,pValue)	\
    (This)->lpVtbl -> GetBrickExecution(This,pValue)

#define IRdMEShaderBrickStaticSampler2D_GetBrickResult(This,pValue)	\
    (This)->lpVtbl -> GetBrickResult(This,pValue)

#define IRdMEShaderBrickStaticSampler2D_GetType(This,pValue)	\
    (This)->lpVtbl -> GetType(This,pValue)

#define IRdMEShaderBrickStaticSampler2D_GetInputParameterCount(This,pVal)	\
    (This)->lpVtbl -> GetInputParameterCount(This,pVal)

#define IRdMEShaderBrickStaticSampler2D_GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdMEShaderBrickStaticSampler2D_AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdMEShaderBrickStaticSampler2D_AppendInputParameters(This,pVal)	\
    (This)->lpVtbl -> AppendInputParameters(This,pVal)


#define IRdMEShaderBrickStaticSampler2D_SetBrickDefinition(This,bstrValue)	\
    (This)->lpVtbl -> SetBrickDefinition(This,bstrValue)

#define IRdMEShaderBrickStaticSampler2D_SetBrickExecution(This,bstrValue)	\
    (This)->lpVtbl -> SetBrickExecution(This,bstrValue)

#define IRdMEShaderBrickStaticSampler2D_SetBrickResult(This,bstrValue)	\
    (This)->lpVtbl -> SetBrickResult(This,bstrValue)

#define IRdMEShaderBrickStaticSampler2D_SetType(This,bstrValue)	\
    (This)->lpVtbl -> SetType(This,bstrValue)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdMEShaderBrickStaticSampler2D_INTERFACE_DEFINED__ */


#ifndef __IRdMEShaderColor_INTERFACE_DEFINED__
#define __IRdMEShaderColor_INTERFACE_DEFINED__

/* interface IRdMEShaderColor */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdMEShaderColor;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F4338672-D75B-41a7-9BAE-07859883E612")
    IRdMEShaderColor : public IRdMEShader
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdMEShaderColorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdMEShaderColor * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdMEShaderColor * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdMEShaderColor * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdMEShaderColor * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetShaderName )( 
            IRdMEShaderColor * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetShaderType )( 
            IRdMEShaderColor * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShaderType )( 
            IRdMEShaderColor * This,
            /* [retval][out] */ BSTR *pbstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShaderShortName )( 
            IRdMEShaderColor * This,
            /* [retval][out] */ BSTR *pbstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShaderFullName )( 
            IRdMEShaderColor * This,
            /* [retval][out] */ BSTR *pbstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetShader )( 
            IRdMEShaderColor * This,
            /* [in] */ BSTR bstrShader);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShader )( 
            IRdMEShaderColor * This,
            /* [retval][out] */ BSTR *pbstrShader);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameterCount )( 
            IRdMEShaderColor * This,
            /* [out] */ RtDWORD *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameter )( 
            IRdMEShaderColor * This,
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ BSTR *pVariableName,
            /* [out] */ BSTR *pNodeName,
            /* [out] */ BSTR *pConnectorName,
            /* [out] */ BSTR *pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddInputParameter )( 
            IRdMEShaderColor * This,
            /* [in] */ BSTR pVariableName,
            /* [in] */ BSTR pNodeName,
            /* [in] */ BSTR pConnectorName,
            /* [in] */ BSTR pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AppendInputParameters )( 
            IRdMEShaderColor * This,
            /* [in] */ IRdMEShaderBrick *pVal);
        
        END_INTERFACE
    } IRdMEShaderColorVtbl;

    interface IRdMEShaderColor
    {
        CONST_VTBL struct IRdMEShaderColorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdMEShaderColor_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdMEShaderColor_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdMEShaderColor_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdMEShaderColor_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdMEShaderColor_SetShaderName(This,bstrValue)	\
    (This)->lpVtbl -> SetShaderName(This,bstrValue)

#define IRdMEShaderColor_SetShaderType(This,bstrValue)	\
    (This)->lpVtbl -> SetShaderType(This,bstrValue)

#define IRdMEShaderColor_GetShaderType(This,pbstrValue)	\
    (This)->lpVtbl -> GetShaderType(This,pbstrValue)

#define IRdMEShaderColor_GetShaderShortName(This,pbstrValue)	\
    (This)->lpVtbl -> GetShaderShortName(This,pbstrValue)

#define IRdMEShaderColor_GetShaderFullName(This,pbstrValue)	\
    (This)->lpVtbl -> GetShaderFullName(This,pbstrValue)

#define IRdMEShaderColor_SetShader(This,bstrShader)	\
    (This)->lpVtbl -> SetShader(This,bstrShader)

#define IRdMEShaderColor_GetShader(This,pbstrShader)	\
    (This)->lpVtbl -> GetShader(This,pbstrShader)

#define IRdMEShaderColor_GetInputParameterCount(This,pVal)	\
    (This)->lpVtbl -> GetInputParameterCount(This,pVal)

#define IRdMEShaderColor_GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdMEShaderColor_AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdMEShaderColor_AppendInputParameters(This,pVal)	\
    (This)->lpVtbl -> AppendInputParameters(This,pVal)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdMEShaderColor_INTERFACE_DEFINED__ */


#ifndef __IRdMEShaderModel_INTERFACE_DEFINED__
#define __IRdMEShaderModel_INTERFACE_DEFINED__

/* interface IRdMEShaderModel */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdMEShaderModel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("243996FA-1CAC-4295-9D6A-F4E17D793232")
    IRdMEShaderModel : public IRdMEShader
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdMEShaderModelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdMEShaderModel * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdMEShaderModel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdMEShaderModel * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdMEShaderModel * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetShaderName )( 
            IRdMEShaderModel * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetShaderType )( 
            IRdMEShaderModel * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShaderType )( 
            IRdMEShaderModel * This,
            /* [retval][out] */ BSTR *pbstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShaderShortName )( 
            IRdMEShaderModel * This,
            /* [retval][out] */ BSTR *pbstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShaderFullName )( 
            IRdMEShaderModel * This,
            /* [retval][out] */ BSTR *pbstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetShader )( 
            IRdMEShaderModel * This,
            /* [in] */ BSTR bstrShader);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShader )( 
            IRdMEShaderModel * This,
            /* [retval][out] */ BSTR *pbstrShader);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameterCount )( 
            IRdMEShaderModel * This,
            /* [out] */ RtDWORD *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameter )( 
            IRdMEShaderModel * This,
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ BSTR *pVariableName,
            /* [out] */ BSTR *pNodeName,
            /* [out] */ BSTR *pConnectorName,
            /* [out] */ BSTR *pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddInputParameter )( 
            IRdMEShaderModel * This,
            /* [in] */ BSTR pVariableName,
            /* [in] */ BSTR pNodeName,
            /* [in] */ BSTR pConnectorName,
            /* [in] */ BSTR pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AppendInputParameters )( 
            IRdMEShaderModel * This,
            /* [in] */ IRdMEShaderBrick *pVal);
        
        END_INTERFACE
    } IRdMEShaderModelVtbl;

    interface IRdMEShaderModel
    {
        CONST_VTBL struct IRdMEShaderModelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdMEShaderModel_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdMEShaderModel_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdMEShaderModel_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdMEShaderModel_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdMEShaderModel_SetShaderName(This,bstrValue)	\
    (This)->lpVtbl -> SetShaderName(This,bstrValue)

#define IRdMEShaderModel_SetShaderType(This,bstrValue)	\
    (This)->lpVtbl -> SetShaderType(This,bstrValue)

#define IRdMEShaderModel_GetShaderType(This,pbstrValue)	\
    (This)->lpVtbl -> GetShaderType(This,pbstrValue)

#define IRdMEShaderModel_GetShaderShortName(This,pbstrValue)	\
    (This)->lpVtbl -> GetShaderShortName(This,pbstrValue)

#define IRdMEShaderModel_GetShaderFullName(This,pbstrValue)	\
    (This)->lpVtbl -> GetShaderFullName(This,pbstrValue)

#define IRdMEShaderModel_SetShader(This,bstrShader)	\
    (This)->lpVtbl -> SetShader(This,bstrShader)

#define IRdMEShaderModel_GetShader(This,pbstrShader)	\
    (This)->lpVtbl -> GetShader(This,pbstrShader)

#define IRdMEShaderModel_GetInputParameterCount(This,pVal)	\
    (This)->lpVtbl -> GetInputParameterCount(This,pVal)

#define IRdMEShaderModel_GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdMEShaderModel_AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdMEShaderModel_AppendInputParameters(This,pVal)	\
    (This)->lpVtbl -> AppendInputParameters(This,pVal)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdMEShaderModel_INTERFACE_DEFINED__ */


#ifndef __IRdMEShaderNormal_INTERFACE_DEFINED__
#define __IRdMEShaderNormal_INTERFACE_DEFINED__

/* interface IRdMEShaderNormal */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdMEShaderNormal;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9711D0A8-0704-4c73-AC6D-7B27AB0624BC")
    IRdMEShaderNormal : public IRdMEShader
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdMEShaderNormalVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdMEShaderNormal * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdMEShaderNormal * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdMEShaderNormal * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdMEShaderNormal * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetShaderName )( 
            IRdMEShaderNormal * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetShaderType )( 
            IRdMEShaderNormal * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShaderType )( 
            IRdMEShaderNormal * This,
            /* [retval][out] */ BSTR *pbstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShaderShortName )( 
            IRdMEShaderNormal * This,
            /* [retval][out] */ BSTR *pbstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShaderFullName )( 
            IRdMEShaderNormal * This,
            /* [retval][out] */ BSTR *pbstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetShader )( 
            IRdMEShaderNormal * This,
            /* [in] */ BSTR bstrShader);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShader )( 
            IRdMEShaderNormal * This,
            /* [retval][out] */ BSTR *pbstrShader);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameterCount )( 
            IRdMEShaderNormal * This,
            /* [out] */ RtDWORD *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameter )( 
            IRdMEShaderNormal * This,
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ BSTR *pVariableName,
            /* [out] */ BSTR *pNodeName,
            /* [out] */ BSTR *pConnectorName,
            /* [out] */ BSTR *pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddInputParameter )( 
            IRdMEShaderNormal * This,
            /* [in] */ BSTR pVariableName,
            /* [in] */ BSTR pNodeName,
            /* [in] */ BSTR pConnectorName,
            /* [in] */ BSTR pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AppendInputParameters )( 
            IRdMEShaderNormal * This,
            /* [in] */ IRdMEShaderBrick *pVal);
        
        END_INTERFACE
    } IRdMEShaderNormalVtbl;

    interface IRdMEShaderNormal
    {
        CONST_VTBL struct IRdMEShaderNormalVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdMEShaderNormal_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdMEShaderNormal_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdMEShaderNormal_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdMEShaderNormal_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdMEShaderNormal_SetShaderName(This,bstrValue)	\
    (This)->lpVtbl -> SetShaderName(This,bstrValue)

#define IRdMEShaderNormal_SetShaderType(This,bstrValue)	\
    (This)->lpVtbl -> SetShaderType(This,bstrValue)

#define IRdMEShaderNormal_GetShaderType(This,pbstrValue)	\
    (This)->lpVtbl -> GetShaderType(This,pbstrValue)

#define IRdMEShaderNormal_GetShaderShortName(This,pbstrValue)	\
    (This)->lpVtbl -> GetShaderShortName(This,pbstrValue)

#define IRdMEShaderNormal_GetShaderFullName(This,pbstrValue)	\
    (This)->lpVtbl -> GetShaderFullName(This,pbstrValue)

#define IRdMEShaderNormal_SetShader(This,bstrShader)	\
    (This)->lpVtbl -> SetShader(This,bstrShader)

#define IRdMEShaderNormal_GetShader(This,pbstrShader)	\
    (This)->lpVtbl -> GetShader(This,pbstrShader)

#define IRdMEShaderNormal_GetInputParameterCount(This,pVal)	\
    (This)->lpVtbl -> GetInputParameterCount(This,pVal)

#define IRdMEShaderNormal_GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdMEShaderNormal_AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdMEShaderNormal_AppendInputParameters(This,pVal)	\
    (This)->lpVtbl -> AppendInputParameters(This,pVal)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdMEShaderNormal_INTERFACE_DEFINED__ */


#ifndef __IRdMEShaderTexCoord_INTERFACE_DEFINED__
#define __IRdMEShaderTexCoord_INTERFACE_DEFINED__

/* interface IRdMEShaderTexCoord */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdMEShaderTexCoord;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1E1D4A08-AAAC-482d-A16E-3B129E32FED3")
    IRdMEShaderTexCoord : public IRdMEShader
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdMEShaderTexCoordVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdMEShaderTexCoord * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdMEShaderTexCoord * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdMEShaderTexCoord * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdMEShaderTexCoord * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetShaderName )( 
            IRdMEShaderTexCoord * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetShaderType )( 
            IRdMEShaderTexCoord * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShaderType )( 
            IRdMEShaderTexCoord * This,
            /* [retval][out] */ BSTR *pbstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShaderShortName )( 
            IRdMEShaderTexCoord * This,
            /* [retval][out] */ BSTR *pbstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShaderFullName )( 
            IRdMEShaderTexCoord * This,
            /* [retval][out] */ BSTR *pbstrValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetShader )( 
            IRdMEShaderTexCoord * This,
            /* [in] */ BSTR bstrShader);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShader )( 
            IRdMEShaderTexCoord * This,
            /* [retval][out] */ BSTR *pbstrShader);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameterCount )( 
            IRdMEShaderTexCoord * This,
            /* [out] */ RtDWORD *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameter )( 
            IRdMEShaderTexCoord * This,
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ BSTR *pVariableName,
            /* [out] */ BSTR *pNodeName,
            /* [out] */ BSTR *pConnectorName,
            /* [out] */ BSTR *pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddInputParameter )( 
            IRdMEShaderTexCoord * This,
            /* [in] */ BSTR pVariableName,
            /* [in] */ BSTR pNodeName,
            /* [in] */ BSTR pConnectorName,
            /* [in] */ BSTR pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AppendInputParameters )( 
            IRdMEShaderTexCoord * This,
            /* [in] */ IRdMEShaderBrick *pVal);
        
        END_INTERFACE
    } IRdMEShaderTexCoordVtbl;

    interface IRdMEShaderTexCoord
    {
        CONST_VTBL struct IRdMEShaderTexCoordVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdMEShaderTexCoord_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdMEShaderTexCoord_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdMEShaderTexCoord_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdMEShaderTexCoord_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdMEShaderTexCoord_SetShaderName(This,bstrValue)	\
    (This)->lpVtbl -> SetShaderName(This,bstrValue)

#define IRdMEShaderTexCoord_SetShaderType(This,bstrValue)	\
    (This)->lpVtbl -> SetShaderType(This,bstrValue)

#define IRdMEShaderTexCoord_GetShaderType(This,pbstrValue)	\
    (This)->lpVtbl -> GetShaderType(This,pbstrValue)

#define IRdMEShaderTexCoord_GetShaderShortName(This,pbstrValue)	\
    (This)->lpVtbl -> GetShaderShortName(This,pbstrValue)

#define IRdMEShaderTexCoord_GetShaderFullName(This,pbstrValue)	\
    (This)->lpVtbl -> GetShaderFullName(This,pbstrValue)

#define IRdMEShaderTexCoord_SetShader(This,bstrShader)	\
    (This)->lpVtbl -> SetShader(This,bstrShader)

#define IRdMEShaderTexCoord_GetShader(This,pbstrShader)	\
    (This)->lpVtbl -> GetShader(This,pbstrShader)

#define IRdMEShaderTexCoord_GetInputParameterCount(This,pVal)	\
    (This)->lpVtbl -> GetInputParameterCount(This,pVal)

#define IRdMEShaderTexCoord_GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdMEShaderTexCoord_AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdMEShaderTexCoord_AppendInputParameters(This,pVal)	\
    (This)->lpVtbl -> AppendInputParameters(This,pVal)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdMEShaderTexCoord_INTERFACE_DEFINED__ */


#ifndef __IRcME2MaterialPickTool_INTERFACE_DEFINED__
#define __IRcME2MaterialPickTool_INTERFACE_DEFINED__

/* interface IRcME2MaterialPickTool */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcME2MaterialPickTool;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1793866F-E5E5-41db-A761-1E635049E504")
    IRcME2MaterialPickTool : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcME2MaterialPickToolVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcME2MaterialPickTool * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcME2MaterialPickTool * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcME2MaterialPickTool * This);
        
        END_INTERFACE
    } IRcME2MaterialPickToolVtbl;

    interface IRcME2MaterialPickTool
    {
        CONST_VTBL struct IRcME2MaterialPickToolVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcME2MaterialPickTool_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcME2MaterialPickTool_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcME2MaterialPickTool_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcME2MaterialPickTool_INTERFACE_DEFINED__ */


#ifndef __IRnME2MaterialPickToolData_INTERFACE_DEFINED__
#define __IRnME2MaterialPickToolData_INTERFACE_DEFINED__

/* interface IRnME2MaterialPickToolData */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2MaterialPickToolData;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D7AB2628-E0C2-4b53-8E27-0B07990C1B5D")
    IRnME2MaterialPickToolData : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2MaterialPickToolDataVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2MaterialPickToolData * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2MaterialPickToolData * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2MaterialPickToolData * This);
        
        END_INTERFACE
    } IRnME2MaterialPickToolDataVtbl;

    interface IRnME2MaterialPickToolData
    {
        CONST_VTBL struct IRnME2MaterialPickToolDataVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2MaterialPickToolData_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2MaterialPickToolData_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2MaterialPickToolData_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2MaterialPickToolData_INTERFACE_DEFINED__ */


#ifndef __IRcME2MaterialPickToolOpenEdit_INTERFACE_DEFINED__
#define __IRcME2MaterialPickToolOpenEdit_INTERFACE_DEFINED__

/* interface IRcME2MaterialPickToolOpenEdit */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcME2MaterialPickToolOpenEdit;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D4C9FDAB-2BFA-40f7-99DB-210A7CBFC52A")
    IRcME2MaterialPickToolOpenEdit : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcME2MaterialPickToolOpenEditVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcME2MaterialPickToolOpenEdit * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcME2MaterialPickToolOpenEdit * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcME2MaterialPickToolOpenEdit * This);
        
        END_INTERFACE
    } IRcME2MaterialPickToolOpenEditVtbl;

    interface IRcME2MaterialPickToolOpenEdit
    {
        CONST_VTBL struct IRcME2MaterialPickToolOpenEditVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcME2MaterialPickToolOpenEdit_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcME2MaterialPickToolOpenEdit_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcME2MaterialPickToolOpenEdit_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcME2MaterialPickToolOpenEdit_INTERFACE_DEFINED__ */


#ifndef __IRsME2MaterialPickToolState_INTERFACE_DEFINED__
#define __IRsME2MaterialPickToolState_INTERFACE_DEFINED__

/* interface IRsME2MaterialPickToolState */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsME2MaterialPickToolState;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("631F742E-C484-4faf-8A81-2F73FF4BF1E4")
    IRsME2MaterialPickToolState : public IRsSimpleUIUpdateAgent
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsME2MaterialPickToolStateVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsME2MaterialPickToolState * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsME2MaterialPickToolState * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsME2MaterialPickToolState * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsME2MaterialPickToolState * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsME2MaterialPickToolState * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Register )( 
            IRsME2MaterialPickToolState * This,
            /* [in] */ IRsUIControl *uictl);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Unregister )( 
            IRsME2MaterialPickToolState * This,
            /* [in] */ IRsUIControl *uictl);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DoUpdate )( 
            IRsME2MaterialPickToolState * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DoGraphUpdate )( 
            IRsME2MaterialPickToolState * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsChecked )( 
            IRsME2MaterialPickToolState * This,
            /* [in] */ int tag,
            /* [retval][out] */ RtBOOL *state);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsEnabled )( 
            IRsME2MaterialPickToolState * This,
            /* [in] */ int tag,
            /* [retval][out] */ RtBOOL *state);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTagFromString )( 
            IRsME2MaterialPickToolState * This,
            /* [in] */ int tagType,
            /* [in] */ BSTR bszTagString,
            /* [retval][out] */ int *tag);
        
        END_INTERFACE
    } IRsME2MaterialPickToolStateVtbl;

    interface IRsME2MaterialPickToolState
    {
        CONST_VTBL struct IRsME2MaterialPickToolStateVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsME2MaterialPickToolState_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsME2MaterialPickToolState_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsME2MaterialPickToolState_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsME2MaterialPickToolState_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsME2MaterialPickToolState_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsME2MaterialPickToolState_Register(This,uictl)	\
    (This)->lpVtbl -> Register(This,uictl)

#define IRsME2MaterialPickToolState_Unregister(This,uictl)	\
    (This)->lpVtbl -> Unregister(This,uictl)

#define IRsME2MaterialPickToolState_DoUpdate(This)	\
    (This)->lpVtbl -> DoUpdate(This)

#define IRsME2MaterialPickToolState_DoGraphUpdate(This)	\
    (This)->lpVtbl -> DoGraphUpdate(This)


#define IRsME2MaterialPickToolState_IsChecked(This,tag,state)	\
    (This)->lpVtbl -> IsChecked(This,tag,state)

#define IRsME2MaterialPickToolState_IsEnabled(This,tag,state)	\
    (This)->lpVtbl -> IsEnabled(This,tag,state)

#define IRsME2MaterialPickToolState_GetTagFromString(This,tagType,bszTagString,tag)	\
    (This)->lpVtbl -> GetTagFromString(This,tagType,bszTagString,tag)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsME2MaterialPickToolState_INTERFACE_DEFINED__ */


#ifndef __IRcME2MaterialPickToolToggle_INTERFACE_DEFINED__
#define __IRcME2MaterialPickToolToggle_INTERFACE_DEFINED__

/* interface IRcME2MaterialPickToolToggle */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcME2MaterialPickToolToggle;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9C44BBD1-0840-4750-8072-3F41091603D7")
    IRcME2MaterialPickToolToggle : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcME2MaterialPickToolToggleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcME2MaterialPickToolToggle * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcME2MaterialPickToolToggle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcME2MaterialPickToolToggle * This);
        
        END_INTERFACE
    } IRcME2MaterialPickToolToggleVtbl;

    interface IRcME2MaterialPickToolToggle
    {
        CONST_VTBL struct IRcME2MaterialPickToolToggleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcME2MaterialPickToolToggle_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcME2MaterialPickToolToggle_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcME2MaterialPickToolToggle_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcME2MaterialPickToolToggle_INTERFACE_DEFINED__ */


#ifndef __IRcLowFrequencyTask_INTERFACE_DEFINED__
#define __IRcLowFrequencyTask_INTERFACE_DEFINED__

/* interface IRcLowFrequencyTask */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcLowFrequencyTask;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D2A235FF-6726-4d1c-AFEC-66131B0457AE")
    IRcLowFrequencyTask : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcLowFrequencyTaskVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcLowFrequencyTask * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcLowFrequencyTask * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcLowFrequencyTask * This);
        
        END_INTERFACE
    } IRcLowFrequencyTaskVtbl;

    interface IRcLowFrequencyTask
    {
        CONST_VTBL struct IRcLowFrequencyTaskVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcLowFrequencyTask_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcLowFrequencyTask_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcLowFrequencyTask_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcLowFrequencyTask_INTERFACE_DEFINED__ */


#ifndef __IRnD3DLightCache2_INTERFACE_DEFINED__
#define __IRnD3DLightCache2_INTERFACE_DEFINED__

/* interface IRnD3DLightCache2 */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnD3DLightCache2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BBDE72D1-7877-4cc5-AACE-A49AAFB02452")
    IRnD3DLightCache2 : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnD3DLightCache2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnD3DLightCache2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnD3DLightCache2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnD3DLightCache2 * This);
        
        END_INTERFACE
    } IRnD3DLightCache2Vtbl;

    interface IRnD3DLightCache2
    {
        CONST_VTBL struct IRnD3DLightCache2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnD3DLightCache2_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnD3DLightCache2_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnD3DLightCache2_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnD3DLightCache2_INTERFACE_DEFINED__ */


#ifndef __IRnD3DWidgetCache_INTERFACE_DEFINED__
#define __IRnD3DWidgetCache_INTERFACE_DEFINED__

/* interface IRnD3DWidgetCache */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnD3DWidgetCache;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E4533740-B368-4659-AE83-E95069301CCF")
    IRnD3DWidgetCache : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnD3DWidgetCacheVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnD3DWidgetCache * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnD3DWidgetCache * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnD3DWidgetCache * This);
        
        END_INTERFACE
    } IRnD3DWidgetCacheVtbl;

    interface IRnD3DWidgetCache
    {
        CONST_VTBL struct IRnD3DWidgetCacheVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnD3DWidgetCache_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnD3DWidgetCache_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnD3DWidgetCache_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnD3DWidgetCache_INTERFACE_DEFINED__ */


#ifndef __IRnME2LightProperties_INTERFACE_DEFINED__
#define __IRnME2LightProperties_INTERFACE_DEFINED__

/* interface IRnME2LightProperties */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2LightProperties;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8839D95D-6C9D-4746-BA9D-125AFE2712DB")
    IRnME2LightProperties : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2LightPropertiesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2LightProperties * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2LightProperties * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2LightProperties * This);
        
        END_INTERFACE
    } IRnME2LightPropertiesVtbl;

    interface IRnME2LightProperties
    {
        CONST_VTBL struct IRnME2LightPropertiesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2LightProperties_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2LightProperties_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2LightProperties_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2LightProperties_INTERFACE_DEFINED__ */


#ifndef __IRcCreateView3DNavigationToolbar_INTERFACE_DEFINED__
#define __IRcCreateView3DNavigationToolbar_INTERFACE_DEFINED__

/* interface IRcCreateView3DNavigationToolbar */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcCreateView3DNavigationToolbar;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("525C53BC-3C25-4f74-844C-62AC82FB843B")
    IRcCreateView3DNavigationToolbar : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ExecuteDirectByName( 
            /* [in] */ BSTR bsViewNodeName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ExecuteDirectByNode( 
            /* [in] */ IRsNode *pViewNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRcCreateView3DNavigationToolbarVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcCreateView3DNavigationToolbar * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcCreateView3DNavigationToolbar * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcCreateView3DNavigationToolbar * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ExecuteDirectByName )( 
            IRcCreateView3DNavigationToolbar * This,
            /* [in] */ BSTR bsViewNodeName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ExecuteDirectByNode )( 
            IRcCreateView3DNavigationToolbar * This,
            /* [in] */ IRsNode *pViewNode);
        
        END_INTERFACE
    } IRcCreateView3DNavigationToolbarVtbl;

    interface IRcCreateView3DNavigationToolbar
    {
        CONST_VTBL struct IRcCreateView3DNavigationToolbarVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcCreateView3DNavigationToolbar_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcCreateView3DNavigationToolbar_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcCreateView3DNavigationToolbar_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRcCreateView3DNavigationToolbar_ExecuteDirectByName(This,bsViewNodeName)	\
    (This)->lpVtbl -> ExecuteDirectByName(This,bsViewNodeName)

#define IRcCreateView3DNavigationToolbar_ExecuteDirectByNode(This,pViewNode)	\
    (This)->lpVtbl -> ExecuteDirectByNode(This,pViewNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRcCreateView3DNavigationToolbar_ExecuteDirectByName_Proxy( 
    IRcCreateView3DNavigationToolbar * This,
    /* [in] */ BSTR bsViewNodeName);


void __RPC_STUB IRcCreateView3DNavigationToolbar_ExecuteDirectByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRcCreateView3DNavigationToolbar_ExecuteDirectByNode_Proxy( 
    IRcCreateView3DNavigationToolbar * This,
    /* [in] */ IRsNode *pViewNode);


void __RPC_STUB IRcCreateView3DNavigationToolbar_ExecuteDirectByNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRcCreateView3DNavigationToolbar_INTERFACE_DEFINED__ */


#ifndef __IRsME2MaterialsState_INTERFACE_DEFINED__
#define __IRsME2MaterialsState_INTERFACE_DEFINED__

/* interface IRsME2MaterialsState */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsME2MaterialsState;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5989DA61-E513-4689-B2CD-DDA097A354CB")
    IRsME2MaterialsState : public IRsSimpleUIUpdateAgent
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsME2MaterialsStateVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsME2MaterialsState * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsME2MaterialsState * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsME2MaterialsState * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsME2MaterialsState * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsME2MaterialsState * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Register )( 
            IRsME2MaterialsState * This,
            /* [in] */ IRsUIControl *uictl);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Unregister )( 
            IRsME2MaterialsState * This,
            /* [in] */ IRsUIControl *uictl);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DoUpdate )( 
            IRsME2MaterialsState * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DoGraphUpdate )( 
            IRsME2MaterialsState * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsChecked )( 
            IRsME2MaterialsState * This,
            /* [in] */ int tag,
            /* [retval][out] */ RtBOOL *state);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsEnabled )( 
            IRsME2MaterialsState * This,
            /* [in] */ int tag,
            /* [retval][out] */ RtBOOL *state);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTagFromString )( 
            IRsME2MaterialsState * This,
            /* [in] */ int tagType,
            /* [in] */ BSTR bszTagString,
            /* [retval][out] */ int *tag);
        
        END_INTERFACE
    } IRsME2MaterialsStateVtbl;

    interface IRsME2MaterialsState
    {
        CONST_VTBL struct IRsME2MaterialsStateVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsME2MaterialsState_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsME2MaterialsState_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsME2MaterialsState_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsME2MaterialsState_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsME2MaterialsState_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsME2MaterialsState_Register(This,uictl)	\
    (This)->lpVtbl -> Register(This,uictl)

#define IRsME2MaterialsState_Unregister(This,uictl)	\
    (This)->lpVtbl -> Unregister(This,uictl)

#define IRsME2MaterialsState_DoUpdate(This)	\
    (This)->lpVtbl -> DoUpdate(This)

#define IRsME2MaterialsState_DoGraphUpdate(This)	\
    (This)->lpVtbl -> DoGraphUpdate(This)


#define IRsME2MaterialsState_IsChecked(This,tag,state)	\
    (This)->lpVtbl -> IsChecked(This,tag,state)

#define IRsME2MaterialsState_IsEnabled(This,tag,state)	\
    (This)->lpVtbl -> IsEnabled(This,tag,state)

#define IRsME2MaterialsState_GetTagFromString(This,tagType,bszTagString,tag)	\
    (This)->lpVtbl -> GetTagFromString(This,tagType,bszTagString,tag)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsME2MaterialsState_INTERFACE_DEFINED__ */


#ifndef __IRcHideNAVToolbar_INTERFACE_DEFINED__
#define __IRcHideNAVToolbar_INTERFACE_DEFINED__

/* interface IRcHideNAVToolbar */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcHideNAVToolbar;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5E81D7BD-4A55-4677-8E22-D0E9B44994EE")
    IRcHideNAVToolbar : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcHideNAVToolbarVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcHideNAVToolbar * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcHideNAVToolbar * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcHideNAVToolbar * This);
        
        END_INTERFACE
    } IRcHideNAVToolbarVtbl;

    interface IRcHideNAVToolbar
    {
        CONST_VTBL struct IRcHideNAVToolbarVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcHideNAVToolbar_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcHideNAVToolbar_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcHideNAVToolbar_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcHideNAVToolbar_INTERFACE_DEFINED__ */


#ifndef __IRcLoadRAPreset_INTERFACE_DEFINED__
#define __IRcLoadRAPreset_INTERFACE_DEFINED__

/* interface IRcLoadRAPreset */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcLoadRAPreset;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("594ab904-043f-4be4-934f-e7926043196e")
    IRcLoadRAPreset : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcLoadRAPresetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcLoadRAPreset * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcLoadRAPreset * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcLoadRAPreset * This);
        
        END_INTERFACE
    } IRcLoadRAPresetVtbl;

    interface IRcLoadRAPreset
    {
        CONST_VTBL struct IRcLoadRAPresetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcLoadRAPreset_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcLoadRAPreset_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcLoadRAPreset_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcLoadRAPreset_INTERFACE_DEFINED__ */


#ifndef __IRnD3DSceneLayer_INTERFACE_DEFINED__
#define __IRnD3DSceneLayer_INTERFACE_DEFINED__

/* interface IRnD3DSceneLayer */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnD3DSceneLayer;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0F56B99C-6A1F-41B1-819D-D5F67181E43F")
    IRnD3DSceneLayer : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnD3DSceneLayerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnD3DSceneLayer * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnD3DSceneLayer * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnD3DSceneLayer * This);
        
        END_INTERFACE
    } IRnD3DSceneLayerVtbl;

    interface IRnD3DSceneLayer
    {
        CONST_VTBL struct IRnD3DSceneLayerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnD3DSceneLayer_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnD3DSceneLayer_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnD3DSceneLayer_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnD3DSceneLayer_INTERFACE_DEFINED__ */


#ifndef __IRcSaveScreenShot_INTERFACE_DEFINED__
#define __IRcSaveScreenShot_INTERFACE_DEFINED__

/* interface IRcSaveScreenShot */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcSaveScreenShot;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D6E31D26-E3F1-467d-B7D5-08870AE5F00E")
    IRcSaveScreenShot : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcSaveScreenShotVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcSaveScreenShot * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcSaveScreenShot * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcSaveScreenShot * This);
        
        END_INTERFACE
    } IRcSaveScreenShotVtbl;

    interface IRcSaveScreenShot
    {
        CONST_VTBL struct IRcSaveScreenShotVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcSaveScreenShot_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcSaveScreenShot_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcSaveScreenShot_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcSaveScreenShot_INTERFACE_DEFINED__ */


#ifndef __IRcSendCustomMessage_INTERFACE_DEFINED__
#define __IRcSendCustomMessage_INTERFACE_DEFINED__

/* interface IRcSendCustomMessage */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcSendCustomMessage;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D7A2375C-EE14-4e30-967E-70C352C17CC6")
    IRcSendCustomMessage : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcSendCustomMessageVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcSendCustomMessage * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcSendCustomMessage * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcSendCustomMessage * This);
        
        END_INTERFACE
    } IRcSendCustomMessageVtbl;

    interface IRcSendCustomMessage
    {
        CONST_VTBL struct IRcSendCustomMessageVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcSendCustomMessage_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcSendCustomMessage_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcSendCustomMessage_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcSendCustomMessage_INTERFACE_DEFINED__ */


#ifndef __IRcShowLayerRenderAttribsPanel_INTERFACE_DEFINED__
#define __IRcShowLayerRenderAttribsPanel_INTERFACE_DEFINED__

/* interface IRcShowLayerRenderAttribsPanel */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcShowLayerRenderAttribsPanel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6D915E6B-7CD2-4052-8C13-923113ED4F62")
    IRcShowLayerRenderAttribsPanel : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcShowLayerRenderAttribsPanelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcShowLayerRenderAttribsPanel * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcShowLayerRenderAttribsPanel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcShowLayerRenderAttribsPanel * This);
        
        END_INTERFACE
    } IRcShowLayerRenderAttribsPanelVtbl;

    interface IRcShowLayerRenderAttribsPanel
    {
        CONST_VTBL struct IRcShowLayerRenderAttribsPanelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcShowLayerRenderAttribsPanel_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcShowLayerRenderAttribsPanel_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcShowLayerRenderAttribsPanel_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcShowLayerRenderAttribsPanel_INTERFACE_DEFINED__ */


#ifndef __IRcShowPostProcess_INTERFACE_DEFINED__
#define __IRcShowPostProcess_INTERFACE_DEFINED__

/* interface IRcShowPostProcess */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcShowPostProcess;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A8E56ECE-4046-4642-AF2D-185EE8CB50AB")
    IRcShowPostProcess : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcShowPostProcessVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcShowPostProcess * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcShowPostProcess * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcShowPostProcess * This);
        
        END_INTERFACE
    } IRcShowPostProcessVtbl;

    interface IRcShowPostProcess
    {
        CONST_VTBL struct IRcShowPostProcessVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcShowPostProcess_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcShowPostProcess_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcShowPostProcess_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcShowPostProcess_INTERFACE_DEFINED__ */


#ifndef __IRnD3DViewPostProcessingSetup_INTERFACE_DEFINED__
#define __IRnD3DViewPostProcessingSetup_INTERFACE_DEFINED__

/* interface IRnD3DViewPostProcessingSetup */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnD3DViewPostProcessingSetup;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F235AD28-CBBA-456b-AA04-DFADE8DFDA75")
    IRnD3DViewPostProcessingSetup : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnD3DViewPostProcessingSetupVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnD3DViewPostProcessingSetup * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnD3DViewPostProcessingSetup * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnD3DViewPostProcessingSetup * This);
        
        END_INTERFACE
    } IRnD3DViewPostProcessingSetupVtbl;

    interface IRnD3DViewPostProcessingSetup
    {
        CONST_VTBL struct IRnD3DViewPostProcessingSetupVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnD3DViewPostProcessingSetup_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnD3DViewPostProcessingSetup_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnD3DViewPostProcessingSetup_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnD3DViewPostProcessingSetup_INTERFACE_DEFINED__ */


#ifndef __IRsShowGridPanel_INTERFACE_DEFINED__
#define __IRsShowGridPanel_INTERFACE_DEFINED__

/* interface IRsShowGridPanel */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsShowGridPanel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0F2A9627-7D58-458F-A0EF-1BE081C6F5CB")
    IRsShowGridPanel : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsShowGridPanelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsShowGridPanel * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsShowGridPanel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsShowGridPanel * This);
        
        END_INTERFACE
    } IRsShowGridPanelVtbl;

    interface IRsShowGridPanel
    {
        CONST_VTBL struct IRsShowGridPanelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsShowGridPanel_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsShowGridPanel_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsShowGridPanel_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsShowGridPanel_INTERFACE_DEFINED__ */


#ifndef __IRcSetActiveCamera_INTERFACE_DEFINED__
#define __IRcSetActiveCamera_INTERFACE_DEFINED__

/* interface IRcSetActiveCamera */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcSetActiveCamera;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("401D4BE7-B8D2-40c6-8963-DDFE448BCF2C")
    IRcSetActiveCamera : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcSetActiveCameraVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcSetActiveCamera * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcSetActiveCamera * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcSetActiveCamera * This);
        
        END_INTERFACE
    } IRcSetActiveCameraVtbl;

    interface IRcSetActiveCamera
    {
        CONST_VTBL struct IRcSetActiveCameraVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcSetActiveCamera_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcSetActiveCamera_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcSetActiveCamera_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcSetActiveCamera_INTERFACE_DEFINED__ */


#ifndef __IRcSwitchEyeCamera_INTERFACE_DEFINED__
#define __IRcSwitchEyeCamera_INTERFACE_DEFINED__

/* interface IRcSwitchEyeCamera */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcSwitchEyeCamera;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("37F773DB-3E73-48f5-B7C1-4A89C848EEC0")
    IRcSwitchEyeCamera : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcSwitchEyeCameraVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcSwitchEyeCamera * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcSwitchEyeCamera * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcSwitchEyeCamera * This);
        
        END_INTERFACE
    } IRcSwitchEyeCameraVtbl;

    interface IRcSwitchEyeCamera
    {
        CONST_VTBL struct IRcSwitchEyeCameraVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcSwitchEyeCamera_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcSwitchEyeCamera_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcSwitchEyeCamera_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcSwitchEyeCamera_INTERFACE_DEFINED__ */


#ifndef __IRfD3DSerialization_INTERFACE_DEFINED__
#define __IRfD3DSerialization_INTERFACE_DEFINED__

/* interface IRfD3DSerialization */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRfD3DSerialization;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CF7ED658-2B74-46fa-B1D4-2240BAEE1775")
    IRfD3DSerialization : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAnyScene( 
            /* [in] */ IRsObject *pObject,
            /* [retval][out] */ IRsNode **ppSpace3DNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DeleteSceneLights( 
            /* [in] */ IRsNode *pSceneNode,
            /* [retval][out] */ IRsObjectList **ppObjList) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateSceneLightsList( 
            /* [in] */ IRsNode *pSceneNode,
            /* [retval][out] */ IRsObjectList **ppObjList) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddSceneLightsFromList( 
            /* [in] */ IRsNode *pSceneNode,
            /* [in] */ IRsObjectList *pObjList) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DestroyObjectsInList( 
            /* [in] */ IRsObjectList *pObjList) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveSceneLightsList( 
            /* [in] */ IRsFileHandle *pRsFileHandle,
            /* [in] */ IRsObjectList *pObjList) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveSceneLights( 
            /* [in] */ BSTR bstrFileName,
            /* [in] */ BSTR bstrAuthor,
            /* [in] */ BSTR bstrDescr,
            /* [in] */ IRdBitmap *pThumbnail,
            /* [in] */ IRsNode *pScene) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadSceneLightsList( 
            /* [in] */ IRsFileHandle *pRsFileHandle,
            /* [retval][out] */ IRsObjectList **ppObjList) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRfD3DSerializationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfD3DSerialization * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfD3DSerialization * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfD3DSerialization * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAnyScene )( 
            IRfD3DSerialization * This,
            /* [in] */ IRsObject *pObject,
            /* [retval][out] */ IRsNode **ppSpace3DNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DeleteSceneLights )( 
            IRfD3DSerialization * This,
            /* [in] */ IRsNode *pSceneNode,
            /* [retval][out] */ IRsObjectList **ppObjList);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateSceneLightsList )( 
            IRfD3DSerialization * This,
            /* [in] */ IRsNode *pSceneNode,
            /* [retval][out] */ IRsObjectList **ppObjList);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddSceneLightsFromList )( 
            IRfD3DSerialization * This,
            /* [in] */ IRsNode *pSceneNode,
            /* [in] */ IRsObjectList *pObjList);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DestroyObjectsInList )( 
            IRfD3DSerialization * This,
            /* [in] */ IRsObjectList *pObjList);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveSceneLightsList )( 
            IRfD3DSerialization * This,
            /* [in] */ IRsFileHandle *pRsFileHandle,
            /* [in] */ IRsObjectList *pObjList);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveSceneLights )( 
            IRfD3DSerialization * This,
            /* [in] */ BSTR bstrFileName,
            /* [in] */ BSTR bstrAuthor,
            /* [in] */ BSTR bstrDescr,
            /* [in] */ IRdBitmap *pThumbnail,
            /* [in] */ IRsNode *pScene);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LoadSceneLightsList )( 
            IRfD3DSerialization * This,
            /* [in] */ IRsFileHandle *pRsFileHandle,
            /* [retval][out] */ IRsObjectList **ppObjList);
        
        END_INTERFACE
    } IRfD3DSerializationVtbl;

    interface IRfD3DSerialization
    {
        CONST_VTBL struct IRfD3DSerializationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRfD3DSerialization_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRfD3DSerialization_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRfD3DSerialization_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRfD3DSerialization_GetAnyScene(This,pObject,ppSpace3DNode)	\
    (This)->lpVtbl -> GetAnyScene(This,pObject,ppSpace3DNode)

#define IRfD3DSerialization_DeleteSceneLights(This,pSceneNode,ppObjList)	\
    (This)->lpVtbl -> DeleteSceneLights(This,pSceneNode,ppObjList)

#define IRfD3DSerialization_CreateSceneLightsList(This,pSceneNode,ppObjList)	\
    (This)->lpVtbl -> CreateSceneLightsList(This,pSceneNode,ppObjList)

#define IRfD3DSerialization_AddSceneLightsFromList(This,pSceneNode,pObjList)	\
    (This)->lpVtbl -> AddSceneLightsFromList(This,pSceneNode,pObjList)

#define IRfD3DSerialization_DestroyObjectsInList(This,pObjList)	\
    (This)->lpVtbl -> DestroyObjectsInList(This,pObjList)

#define IRfD3DSerialization_SaveSceneLightsList(This,pRsFileHandle,pObjList)	\
    (This)->lpVtbl -> SaveSceneLightsList(This,pRsFileHandle,pObjList)

#define IRfD3DSerialization_SaveSceneLights(This,bstrFileName,bstrAuthor,bstrDescr,pThumbnail,pScene)	\
    (This)->lpVtbl -> SaveSceneLights(This,bstrFileName,bstrAuthor,bstrDescr,pThumbnail,pScene)

#define IRfD3DSerialization_LoadSceneLightsList(This,pRsFileHandle,ppObjList)	\
    (This)->lpVtbl -> LoadSceneLightsList(This,pRsFileHandle,ppObjList)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfD3DSerialization_GetAnyScene_Proxy( 
    IRfD3DSerialization * This,
    /* [in] */ IRsObject *pObject,
    /* [retval][out] */ IRsNode **ppSpace3DNode);


void __RPC_STUB IRfD3DSerialization_GetAnyScene_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfD3DSerialization_DeleteSceneLights_Proxy( 
    IRfD3DSerialization * This,
    /* [in] */ IRsNode *pSceneNode,
    /* [retval][out] */ IRsObjectList **ppObjList);


void __RPC_STUB IRfD3DSerialization_DeleteSceneLights_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfD3DSerialization_CreateSceneLightsList_Proxy( 
    IRfD3DSerialization * This,
    /* [in] */ IRsNode *pSceneNode,
    /* [retval][out] */ IRsObjectList **ppObjList);


void __RPC_STUB IRfD3DSerialization_CreateSceneLightsList_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfD3DSerialization_AddSceneLightsFromList_Proxy( 
    IRfD3DSerialization * This,
    /* [in] */ IRsNode *pSceneNode,
    /* [in] */ IRsObjectList *pObjList);


void __RPC_STUB IRfD3DSerialization_AddSceneLightsFromList_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfD3DSerialization_DestroyObjectsInList_Proxy( 
    IRfD3DSerialization * This,
    /* [in] */ IRsObjectList *pObjList);


void __RPC_STUB IRfD3DSerialization_DestroyObjectsInList_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfD3DSerialization_SaveSceneLightsList_Proxy( 
    IRfD3DSerialization * This,
    /* [in] */ IRsFileHandle *pRsFileHandle,
    /* [in] */ IRsObjectList *pObjList);


void __RPC_STUB IRfD3DSerialization_SaveSceneLightsList_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfD3DSerialization_SaveSceneLights_Proxy( 
    IRfD3DSerialization * This,
    /* [in] */ BSTR bstrFileName,
    /* [in] */ BSTR bstrAuthor,
    /* [in] */ BSTR bstrDescr,
    /* [in] */ IRdBitmap *pThumbnail,
    /* [in] */ IRsNode *pScene);


void __RPC_STUB IRfD3DSerialization_SaveSceneLights_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfD3DSerialization_LoadSceneLightsList_Proxy( 
    IRfD3DSerialization * This,
    /* [in] */ IRsFileHandle *pRsFileHandle,
    /* [retval][out] */ IRsObjectList **ppObjList);


void __RPC_STUB IRfD3DSerialization_LoadSceneLightsList_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRfD3DSerialization_INTERFACE_DEFINED__ */


#ifndef __IRcLoadSceneLights_INTERFACE_DEFINED__
#define __IRcLoadSceneLights_INTERFACE_DEFINED__

/* interface IRcLoadSceneLights */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcLoadSceneLights;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CD732DED-73C1-4e09-AB41-D3E9724F59E8")
    IRcLoadSceneLights : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcLoadSceneLightsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcLoadSceneLights * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcLoadSceneLights * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcLoadSceneLights * This);
        
        END_INTERFACE
    } IRcLoadSceneLightsVtbl;

    interface IRcLoadSceneLights
    {
        CONST_VTBL struct IRcLoadSceneLightsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcLoadSceneLights_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcLoadSceneLights_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcLoadSceneLights_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcLoadSceneLights_INTERFACE_DEFINED__ */


#ifndef __IRiView3D_INTERFACE_DEFINED__
#define __IRiView3D_INTERFACE_DEFINED__

/* interface IRiView3D */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IRiView3D;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6C931087-72B3-4464-A976-67156028B323")
    IRiView3D : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CreateD3DRenderer( void) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Rescan( void) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Refresh( void) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ImportBrick( 
            /* [in] */ VARIANT vFileName,
            /* [in] */ VARIANT vOwner,
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_BuildBrickLibrary( 
            /* [in] */ BSTR bsOwnerName) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_RendererUpdateFromNode( 
            /* [in] */ BSTR bsNodeName) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_InsertNodeAt3D( 
            /* [in] */ VARIANT vTarget,
            /* [in] */ VARIANT vSrcNode,
            /* [in] */ VARIANT vPosX,
            /* [in] */ VARIANT vPosY,
            /* [in] */ VARIANT vPosZ,
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ApplyMaterial( 
            /* [in] */ BSTR bsTarget,
            /* [in] */ BSTR bsNode,
            /* [in] */ VARIANT vPosX,
            /* [in] */ VARIANT vPosY,
            /* [in] */ VARIANT vPosZ,
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SendCustomMessage( 
            /* [in] */ VARIANT bsNode,
            /* [in] */ VARIANT bsMessageUUID,
            /* [in] */ VARIANT vData) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SetActiveCamera( 
            /* [in] */ VARIANT bsCameraName,
            /* [in] */ VARIANT bsViewName) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CreateNavToolbar( 
            /* [in] */ VARIANT bsViewName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ConConvert( 
            /* [in] */ BSTR szNodeName,
            /* [in] */ BSTR bszViewPanelID,
            /* [in] */ BSTR szConName,
            /* [in] */ BSTR szInNodeName,
            /* [in] */ BSTR szInConName,
            /* [in] */ RtUlong Action) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_HideNavToolbar( 
            /* [in] */ VARIANT bsViewName,
            /* [in] */ VARIANT bHardKill) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ShowRenderAttribsForObject( 
            /* [in] */ VARIANT bsWinID,
            /* [in] */ VARIANT bsNodeName) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ShowRenderAttribsForLayer( 
            /* [in] */ VARIANT bsWinID) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ShowMaterials( 
            /* [in] */ VARIANT bsWinID,
            /* [in] */ VARIANT bsNodeName) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ShowPostProcessing( 
            /* [in] */ VARIANT bsWinID) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SwitchEyeCameraType( 
            /* [in] */ VARIANT bsWinID,
            /* [in] */ VARIANT vType) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ToggleMaterialPick( 
            /* [in] */ VARIANT vAction) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ShowSettingsDialog( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OpenMaterialInLE( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RenderToFile( 
            /* [in] */ VARIANT bsWinID,
            /* [in] */ VARIANT bsMode) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ShowGridPanel( 
            /* [in] */ VARIANT bsWinID) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE LoadRAPreset( 
            /* [in] */ VARIANT bsPresetNameAttribs,
            /* [in] */ VARIANT fFaceOpacity,
            /* [in] */ VARIANT fWireOpacity,
            /* [in] */ VARIANT bsPresetNameGrid,
            /* [in] */ VARIANT bsViewName) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DropObject( 
            /* [in] */ VARIANT vSourceObj,
            /* [in] */ VARIANT vDestObj,
            /* [in] */ VARIANT vDestPosX,
            /* [in] */ VARIANT vDestPosY,
            /* [in] */ VARIANT vDestPosZ,
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE LoadSceneLights( 
            /* [in] */ VARIANT vFileName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SaveSceneLights( 
            /* [in] */ VARIANT vFileName) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRiView3DVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRiView3D * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRiView3D * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRiView3D * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRiView3D * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRiView3D * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRiView3D * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRiView3D * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CreateD3DRenderer )( 
            IRiView3D * This);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rescan )( 
            IRiView3D * This);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Refresh )( 
            IRiView3D * This);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ImportBrick )( 
            IRiView3D * This,
            /* [in] */ VARIANT vFileName,
            /* [in] */ VARIANT vOwner,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BuildBrickLibrary )( 
            IRiView3D * This,
            /* [in] */ BSTR bsOwnerName);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RendererUpdateFromNode )( 
            IRiView3D * This,
            /* [in] */ BSTR bsNodeName);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InsertNodeAt3D )( 
            IRiView3D * This,
            /* [in] */ VARIANT vTarget,
            /* [in] */ VARIANT vSrcNode,
            /* [in] */ VARIANT vPosX,
            /* [in] */ VARIANT vPosY,
            /* [in] */ VARIANT vPosZ,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ApplyMaterial )( 
            IRiView3D * This,
            /* [in] */ BSTR bsTarget,
            /* [in] */ BSTR bsNode,
            /* [in] */ VARIANT vPosX,
            /* [in] */ VARIANT vPosY,
            /* [in] */ VARIANT vPosZ,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SendCustomMessage )( 
            IRiView3D * This,
            /* [in] */ VARIANT bsNode,
            /* [in] */ VARIANT bsMessageUUID,
            /* [in] */ VARIANT vData);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SetActiveCamera )( 
            IRiView3D * This,
            /* [in] */ VARIANT bsCameraName,
            /* [in] */ VARIANT bsViewName);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CreateNavToolbar )( 
            IRiView3D * This,
            /* [in] */ VARIANT bsViewName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ConConvert )( 
            IRiView3D * This,
            /* [in] */ BSTR szNodeName,
            /* [in] */ BSTR bszViewPanelID,
            /* [in] */ BSTR szConName,
            /* [in] */ BSTR szInNodeName,
            /* [in] */ BSTR szInConName,
            /* [in] */ RtUlong Action);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HideNavToolbar )( 
            IRiView3D * This,
            /* [in] */ VARIANT bsViewName,
            /* [in] */ VARIANT bHardKill);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowRenderAttribsForObject )( 
            IRiView3D * This,
            /* [in] */ VARIANT bsWinID,
            /* [in] */ VARIANT bsNodeName);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowRenderAttribsForLayer )( 
            IRiView3D * This,
            /* [in] */ VARIANT bsWinID);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowMaterials )( 
            IRiView3D * This,
            /* [in] */ VARIANT bsWinID,
            /* [in] */ VARIANT bsNodeName);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowPostProcessing )( 
            IRiView3D * This,
            /* [in] */ VARIANT bsWinID);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SwitchEyeCameraType )( 
            IRiView3D * This,
            /* [in] */ VARIANT bsWinID,
            /* [in] */ VARIANT vType);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToggleMaterialPick )( 
            IRiView3D * This,
            /* [in] */ VARIANT vAction);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowSettingsDialog )( 
            IRiView3D * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *OpenMaterialInLE )( 
            IRiView3D * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RenderToFile )( 
            IRiView3D * This,
            /* [in] */ VARIANT bsWinID,
            /* [in] */ VARIANT bsMode);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ShowGridPanel )( 
            IRiView3D * This,
            /* [in] */ VARIANT bsWinID);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *LoadRAPreset )( 
            IRiView3D * This,
            /* [in] */ VARIANT bsPresetNameAttribs,
            /* [in] */ VARIANT fFaceOpacity,
            /* [in] */ VARIANT fWireOpacity,
            /* [in] */ VARIANT bsPresetNameGrid,
            /* [in] */ VARIANT bsViewName);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DropObject )( 
            IRiView3D * This,
            /* [in] */ VARIANT vSourceObj,
            /* [in] */ VARIANT vDestObj,
            /* [in] */ VARIANT vDestPosX,
            /* [in] */ VARIANT vDestPosY,
            /* [in] */ VARIANT vDestPosZ,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *LoadSceneLights )( 
            IRiView3D * This,
            /* [in] */ VARIANT vFileName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SaveSceneLights )( 
            IRiView3D * This,
            /* [in] */ VARIANT vFileName);
        
        END_INTERFACE
    } IRiView3DVtbl;

    interface IRiView3D
    {
        CONST_VTBL struct IRiView3DVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRiView3D_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRiView3D_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRiView3D_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRiView3D_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IRiView3D_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IRiView3D_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IRiView3D_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IRiView3D_get_CreateD3DRenderer(This)	\
    (This)->lpVtbl -> get_CreateD3DRenderer(This)

#define IRiView3D_get_Rescan(This)	\
    (This)->lpVtbl -> get_Rescan(This)

#define IRiView3D_get_Refresh(This)	\
    (This)->lpVtbl -> get_Refresh(This)

#define IRiView3D_get_ImportBrick(This,vFileName,vOwner,pVal)	\
    (This)->lpVtbl -> get_ImportBrick(This,vFileName,vOwner,pVal)

#define IRiView3D_get_BuildBrickLibrary(This,bsOwnerName)	\
    (This)->lpVtbl -> get_BuildBrickLibrary(This,bsOwnerName)

#define IRiView3D_get_RendererUpdateFromNode(This,bsNodeName)	\
    (This)->lpVtbl -> get_RendererUpdateFromNode(This,bsNodeName)

#define IRiView3D_get_InsertNodeAt3D(This,vTarget,vSrcNode,vPosX,vPosY,vPosZ,pVal)	\
    (This)->lpVtbl -> get_InsertNodeAt3D(This,vTarget,vSrcNode,vPosX,vPosY,vPosZ,pVal)

#define IRiView3D_get_ApplyMaterial(This,bsTarget,bsNode,vPosX,vPosY,vPosZ,pVal)	\
    (This)->lpVtbl -> get_ApplyMaterial(This,bsTarget,bsNode,vPosX,vPosY,vPosZ,pVal)

#define IRiView3D_get_SendCustomMessage(This,bsNode,bsMessageUUID,vData)	\
    (This)->lpVtbl -> get_SendCustomMessage(This,bsNode,bsMessageUUID,vData)

#define IRiView3D_get_SetActiveCamera(This,bsCameraName,bsViewName)	\
    (This)->lpVtbl -> get_SetActiveCamera(This,bsCameraName,bsViewName)

#define IRiView3D_get_CreateNavToolbar(This,bsViewName)	\
    (This)->lpVtbl -> get_CreateNavToolbar(This,bsViewName)

#define IRiView3D_ConConvert(This,szNodeName,bszViewPanelID,szConName,szInNodeName,szInConName,Action)	\
    (This)->lpVtbl -> ConConvert(This,szNodeName,bszViewPanelID,szConName,szInNodeName,szInConName,Action)

#define IRiView3D_get_HideNavToolbar(This,bsViewName,bHardKill)	\
    (This)->lpVtbl -> get_HideNavToolbar(This,bsViewName,bHardKill)

#define IRiView3D_get_ShowRenderAttribsForObject(This,bsWinID,bsNodeName)	\
    (This)->lpVtbl -> get_ShowRenderAttribsForObject(This,bsWinID,bsNodeName)

#define IRiView3D_get_ShowRenderAttribsForLayer(This,bsWinID)	\
    (This)->lpVtbl -> get_ShowRenderAttribsForLayer(This,bsWinID)

#define IRiView3D_get_ShowMaterials(This,bsWinID,bsNodeName)	\
    (This)->lpVtbl -> get_ShowMaterials(This,bsWinID,bsNodeName)

#define IRiView3D_get_ShowPostProcessing(This,bsWinID)	\
    (This)->lpVtbl -> get_ShowPostProcessing(This,bsWinID)

#define IRiView3D_get_SwitchEyeCameraType(This,bsWinID,vType)	\
    (This)->lpVtbl -> get_SwitchEyeCameraType(This,bsWinID,vType)

#define IRiView3D_get_ToggleMaterialPick(This,vAction)	\
    (This)->lpVtbl -> get_ToggleMaterialPick(This,vAction)

#define IRiView3D_get_ShowSettingsDialog(This)	\
    (This)->lpVtbl -> get_ShowSettingsDialog(This)

#define IRiView3D_OpenMaterialInLE(This)	\
    (This)->lpVtbl -> OpenMaterialInLE(This)

#define IRiView3D_RenderToFile(This,bsWinID,bsMode)	\
    (This)->lpVtbl -> RenderToFile(This,bsWinID,bsMode)

#define IRiView3D_ShowGridPanel(This,bsWinID)	\
    (This)->lpVtbl -> ShowGridPanel(This,bsWinID)

#define IRiView3D_LoadRAPreset(This,bsPresetNameAttribs,fFaceOpacity,fWireOpacity,bsPresetNameGrid,bsViewName)	\
    (This)->lpVtbl -> LoadRAPreset(This,bsPresetNameAttribs,fFaceOpacity,fWireOpacity,bsPresetNameGrid,bsViewName)

#define IRiView3D_get_DropObject(This,vSourceObj,vDestObj,vDestPosX,vDestPosY,vDestPosZ,pVal)	\
    (This)->lpVtbl -> get_DropObject(This,vSourceObj,vDestObj,vDestPosX,vDestPosY,vDestPosZ,pVal)

#define IRiView3D_LoadSceneLights(This,vFileName)	\
    (This)->lpVtbl -> LoadSceneLights(This,vFileName)

#define IRiView3D_SaveSceneLights(This,vFileName)	\
    (This)->lpVtbl -> SaveSceneLights(This,vFileName)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiView3D_get_CreateD3DRenderer_Proxy( 
    IRiView3D * This);


void __RPC_STUB IRiView3D_get_CreateD3DRenderer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiView3D_get_Rescan_Proxy( 
    IRiView3D * This);


void __RPC_STUB IRiView3D_get_Rescan_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiView3D_get_Refresh_Proxy( 
    IRiView3D * This);


void __RPC_STUB IRiView3D_get_Refresh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiView3D_get_ImportBrick_Proxy( 
    IRiView3D * This,
    /* [in] */ VARIANT vFileName,
    /* [in] */ VARIANT vOwner,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB IRiView3D_get_ImportBrick_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiView3D_get_BuildBrickLibrary_Proxy( 
    IRiView3D * This,
    /* [in] */ BSTR bsOwnerName);


void __RPC_STUB IRiView3D_get_BuildBrickLibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiView3D_get_RendererUpdateFromNode_Proxy( 
    IRiView3D * This,
    /* [in] */ BSTR bsNodeName);


void __RPC_STUB IRiView3D_get_RendererUpdateFromNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiView3D_get_InsertNodeAt3D_Proxy( 
    IRiView3D * This,
    /* [in] */ VARIANT vTarget,
    /* [in] */ VARIANT vSrcNode,
    /* [in] */ VARIANT vPosX,
    /* [in] */ VARIANT vPosY,
    /* [in] */ VARIANT vPosZ,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB IRiView3D_get_InsertNodeAt3D_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiView3D_get_ApplyMaterial_Proxy( 
    IRiView3D * This,
    /* [in] */ BSTR bsTarget,
    /* [in] */ BSTR bsNode,
    /* [in] */ VARIANT vPosX,
    /* [in] */ VARIANT vPosY,
    /* [in] */ VARIANT vPosZ,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB IRiView3D_get_ApplyMaterial_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiView3D_get_SendCustomMessage_Proxy( 
    IRiView3D * This,
    /* [in] */ VARIANT bsNode,
    /* [in] */ VARIANT bsMessageUUID,
    /* [in] */ VARIANT vData);


void __RPC_STUB IRiView3D_get_SendCustomMessage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiView3D_get_SetActiveCamera_Proxy( 
    IRiView3D * This,
    /* [in] */ VARIANT bsCameraName,
    /* [in] */ VARIANT bsViewName);


void __RPC_STUB IRiView3D_get_SetActiveCamera_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiView3D_get_CreateNavToolbar_Proxy( 
    IRiView3D * This,
    /* [in] */ VARIANT bsViewName);


void __RPC_STUB IRiView3D_get_CreateNavToolbar_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiView3D_ConConvert_Proxy( 
    IRiView3D * This,
    /* [in] */ BSTR szNodeName,
    /* [in] */ BSTR bszViewPanelID,
    /* [in] */ BSTR szConName,
    /* [in] */ BSTR szInNodeName,
    /* [in] */ BSTR szInConName,
    /* [in] */ RtUlong Action);


void __RPC_STUB IRiView3D_ConConvert_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiView3D_get_HideNavToolbar_Proxy( 
    IRiView3D * This,
    /* [in] */ VARIANT bsViewName,
    /* [in] */ VARIANT bHardKill);


void __RPC_STUB IRiView3D_get_HideNavToolbar_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiView3D_get_ShowRenderAttribsForObject_Proxy( 
    IRiView3D * This,
    /* [in] */ VARIANT bsWinID,
    /* [in] */ VARIANT bsNodeName);


void __RPC_STUB IRiView3D_get_ShowRenderAttribsForObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiView3D_get_ShowRenderAttribsForLayer_Proxy( 
    IRiView3D * This,
    /* [in] */ VARIANT bsWinID);


void __RPC_STUB IRiView3D_get_ShowRenderAttribsForLayer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiView3D_get_ShowMaterials_Proxy( 
    IRiView3D * This,
    /* [in] */ VARIANT bsWinID,
    /* [in] */ VARIANT bsNodeName);


void __RPC_STUB IRiView3D_get_ShowMaterials_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiView3D_get_ShowPostProcessing_Proxy( 
    IRiView3D * This,
    /* [in] */ VARIANT bsWinID);


void __RPC_STUB IRiView3D_get_ShowPostProcessing_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiView3D_get_SwitchEyeCameraType_Proxy( 
    IRiView3D * This,
    /* [in] */ VARIANT bsWinID,
    /* [in] */ VARIANT vType);


void __RPC_STUB IRiView3D_get_SwitchEyeCameraType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiView3D_get_ToggleMaterialPick_Proxy( 
    IRiView3D * This,
    /* [in] */ VARIANT vAction);


void __RPC_STUB IRiView3D_get_ToggleMaterialPick_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiView3D_get_ShowSettingsDialog_Proxy( 
    IRiView3D * This);


void __RPC_STUB IRiView3D_get_ShowSettingsDialog_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiView3D_OpenMaterialInLE_Proxy( 
    IRiView3D * This);


void __RPC_STUB IRiView3D_OpenMaterialInLE_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiView3D_RenderToFile_Proxy( 
    IRiView3D * This,
    /* [in] */ VARIANT bsWinID,
    /* [in] */ VARIANT bsMode);


void __RPC_STUB IRiView3D_RenderToFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiView3D_ShowGridPanel_Proxy( 
    IRiView3D * This,
    /* [in] */ VARIANT bsWinID);


void __RPC_STUB IRiView3D_ShowGridPanel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiView3D_LoadRAPreset_Proxy( 
    IRiView3D * This,
    /* [in] */ VARIANT bsPresetNameAttribs,
    /* [in] */ VARIANT fFaceOpacity,
    /* [in] */ VARIANT fWireOpacity,
    /* [in] */ VARIANT bsPresetNameGrid,
    /* [in] */ VARIANT bsViewName);


void __RPC_STUB IRiView3D_LoadRAPreset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiView3D_get_DropObject_Proxy( 
    IRiView3D * This,
    /* [in] */ VARIANT vSourceObj,
    /* [in] */ VARIANT vDestObj,
    /* [in] */ VARIANT vDestPosX,
    /* [in] */ VARIANT vDestPosY,
    /* [in] */ VARIANT vDestPosZ,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB IRiView3D_get_DropObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiView3D_LoadSceneLights_Proxy( 
    IRiView3D * This,
    /* [in] */ VARIANT vFileName);


void __RPC_STUB IRiView3D_LoadSceneLights_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiView3D_SaveSceneLights_Proxy( 
    IRiView3D * This,
    /* [in] */ VARIANT vFileName);


void __RPC_STUB IRiView3D_SaveSceneLights_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRiView3D_INTERFACE_DEFINED__ */


#ifndef __IRcME2TBBricks_INTERFACE_DEFINED__
#define __IRcME2TBBricks_INTERFACE_DEFINED__

/* interface IRcME2TBBricks */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcME2TBBricks;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DDDC018A-C495-49a0-ADB8-4E9D58D3F1F4")
    IRcME2TBBricks : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcME2TBBricksVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcME2TBBricks * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcME2TBBricks * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcME2TBBricks * This);
        
        END_INTERFACE
    } IRcME2TBBricksVtbl;

    interface IRcME2TBBricks
    {
        CONST_VTBL struct IRcME2TBBricksVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcME2TBBricks_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcME2TBBricks_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcME2TBBricks_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcME2TBBricks_INTERFACE_DEFINED__ */


#ifndef __IRcME2OpenMaterials_INTERFACE_DEFINED__
#define __IRcME2OpenMaterials_INTERFACE_DEFINED__

/* interface IRcME2OpenMaterials */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcME2OpenMaterials;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B10B902B-4114-4fae-8373-525D94BFC34A")
    IRcME2OpenMaterials : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcME2OpenMaterialsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcME2OpenMaterials * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcME2OpenMaterials * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcME2OpenMaterials * This);
        
        END_INTERFACE
    } IRcME2OpenMaterialsVtbl;

    interface IRcME2OpenMaterials
    {
        CONST_VTBL struct IRcME2OpenMaterialsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcME2OpenMaterials_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcME2OpenMaterials_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcME2OpenMaterials_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcME2OpenMaterials_INTERFACE_DEFINED__ */


#ifndef __IRlHLSL_INTERFACE_DEFINED__
#define __IRlHLSL_INTERFACE_DEFINED__

/* interface IRlHLSL */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRlHLSL;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D5DA7BAF-1FA7-4bdd-A415-72F0D98CB99F")
    IRlHLSL : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRlHLSLVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRlHLSL * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRlHLSL * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRlHLSL * This);
        
        END_INTERFACE
    } IRlHLSLVtbl;

    interface IRlHLSL
    {
        CONST_VTBL struct IRlHLSLVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRlHLSL_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRlHLSL_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRlHLSL_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRlHLSL_INTERFACE_DEFINED__ */


#ifndef __IRsV3DNodeFactory_INTERFACE_DEFINED__
#define __IRsV3DNodeFactory_INTERFACE_DEFINED__

/* interface IRsV3DNodeFactory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsV3DNodeFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("07AE30FE-28ED-4805-88B3-54FC4F0413ED")
    IRsV3DNodeFactory : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsV3DNodeFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsV3DNodeFactory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsV3DNodeFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsV3DNodeFactory * This);
        
        END_INTERFACE
    } IRsV3DNodeFactoryVtbl;

    interface IRsV3DNodeFactory
    {
        CONST_VTBL struct IRsV3DNodeFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsV3DNodeFactory_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsV3DNodeFactory_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsV3DNodeFactory_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsV3DNodeFactory_INTERFACE_DEFINED__ */


#ifndef __IRsV3DCmdFactory_INTERFACE_DEFINED__
#define __IRsV3DCmdFactory_INTERFACE_DEFINED__

/* interface IRsV3DCmdFactory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsV3DCmdFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9A09EE54-4CAC-496E-A50F-9D098642B623")
    IRsV3DCmdFactory : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsV3DCmdFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsV3DCmdFactory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsV3DCmdFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsV3DCmdFactory * This);
        
        END_INTERFACE
    } IRsV3DCmdFactoryVtbl;

    interface IRsV3DCmdFactory
    {
        CONST_VTBL struct IRsV3DCmdFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsV3DCmdFactory_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsV3DCmdFactory_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsV3DCmdFactory_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsV3DCmdFactory_INTERFACE_DEFINED__ */


#ifndef __IRsV3DDataObjFactory_INTERFACE_DEFINED__
#define __IRsV3DDataObjFactory_INTERFACE_DEFINED__

/* interface IRsV3DDataObjFactory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsV3DDataObjFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C60FE303-B4A2-497A-958F-D8FB67F7926F")
    IRsV3DDataObjFactory : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsV3DDataObjFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsV3DDataObjFactory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsV3DDataObjFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsV3DDataObjFactory * This);
        
        END_INTERFACE
    } IRsV3DDataObjFactoryVtbl;

    interface IRsV3DDataObjFactory
    {
        CONST_VTBL struct IRsV3DDataObjFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsV3DDataObjFactory_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsV3DDataObjFactory_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsV3DDataObjFactory_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsV3DDataObjFactory_INTERFACE_DEFINED__ */


#ifndef __IRsV3DLangObjFactory_INTERFACE_DEFINED__
#define __IRsV3DLangObjFactory_INTERFACE_DEFINED__

/* interface IRsV3DLangObjFactory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsV3DLangObjFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C2D0EE85-574F-43D3-A266-56C8225CAB3A")
    IRsV3DLangObjFactory : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsV3DLangObjFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsV3DLangObjFactory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsV3DLangObjFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsV3DLangObjFactory * This);
        
        END_INTERFACE
    } IRsV3DLangObjFactoryVtbl;

    interface IRsV3DLangObjFactory
    {
        CONST_VTBL struct IRsV3DLangObjFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsV3DLangObjFactory_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsV3DLangObjFactory_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsV3DLangObjFactory_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsV3DLangObjFactory_INTERFACE_DEFINED__ */


#ifndef __IRsD3DUIControlFactory_INTERFACE_DEFINED__
#define __IRsD3DUIControlFactory_INTERFACE_DEFINED__

/* interface IRsD3DUIControlFactory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsD3DUIControlFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("22DF7CB2-F580-47f5-94A0-62A1999A22B1")
    IRsD3DUIControlFactory : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsD3DUIControlFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsD3DUIControlFactory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsD3DUIControlFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsD3DUIControlFactory * This);
        
        END_INTERFACE
    } IRsD3DUIControlFactoryVtbl;

    interface IRsD3DUIControlFactory
    {
        CONST_VTBL struct IRsD3DUIControlFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsD3DUIControlFactory_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsD3DUIControlFactory_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsD3DUIControlFactory_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsD3DUIControlFactory_INTERFACE_DEFINED__ */


#ifndef __IRsD3DFileTypeMaterial_INTERFACE_DEFINED__
#define __IRsD3DFileTypeMaterial_INTERFACE_DEFINED__

/* interface IRsD3DFileTypeMaterial */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsD3DFileTypeMaterial;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c3efd7ff-6e71-4304-9c94-d241b03a437a")
    IRsD3DFileTypeMaterial : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsD3DFileTypeMaterialVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsD3DFileTypeMaterial * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsD3DFileTypeMaterial * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsD3DFileTypeMaterial * This);
        
        END_INTERFACE
    } IRsD3DFileTypeMaterialVtbl;

    interface IRsD3DFileTypeMaterial
    {
        CONST_VTBL struct IRsD3DFileTypeMaterialVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsD3DFileTypeMaterial_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsD3DFileTypeMaterial_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsD3DFileTypeMaterial_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsD3DFileTypeMaterial_INTERFACE_DEFINED__ */


#ifndef __IRsFileTypeScnD3DLights_INTERFACE_DEFINED__
#define __IRsFileTypeScnD3DLights_INTERFACE_DEFINED__

/* interface IRsFileTypeScnD3DLights */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsFileTypeScnD3DLights;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A65E9A4C-E4A9-408f-8B67-E49E8D0C87B7")
    IRsFileTypeScnD3DLights : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsFileTypeScnD3DLightsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsFileTypeScnD3DLights * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsFileTypeScnD3DLights * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsFileTypeScnD3DLights * This);
        
        END_INTERFACE
    } IRsFileTypeScnD3DLightsVtbl;

    interface IRsFileTypeScnD3DLights
    {
        CONST_VTBL struct IRsFileTypeScnD3DLightsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsFileTypeScnD3DLights_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsFileTypeScnD3DLights_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsFileTypeScnD3DLights_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsFileTypeScnD3DLights_INTERFACE_DEFINED__ */


#ifndef __IRsME2UIMaterialCtrl_INTERFACE_DEFINED__
#define __IRsME2UIMaterialCtrl_INTERFACE_DEFINED__

/* interface IRsME2UIMaterialCtrl */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsME2UIMaterialCtrl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BE167D83-D534-4daf-8E82-6AA1EFD03D2B")
    IRsME2UIMaterialCtrl : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsME2UIMaterialCtrlVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsME2UIMaterialCtrl * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsME2UIMaterialCtrl * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsME2UIMaterialCtrl * This);
        
        END_INTERFACE
    } IRsME2UIMaterialCtrlVtbl;

    interface IRsME2UIMaterialCtrl
    {
        CONST_VTBL struct IRsME2UIMaterialCtrlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsME2UIMaterialCtrl_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsME2UIMaterialCtrl_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsME2UIMaterialCtrl_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsME2UIMaterialCtrl_INTERFACE_DEFINED__ */


#ifndef __IRiD3dMaterialEditor_INTERFACE_DEFINED__
#define __IRiD3dMaterialEditor_INTERFACE_DEFINED__

/* interface IRiD3dMaterialEditor */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IRiD3dMaterialEditor;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D24C3471-E49D-4878-A6C3-F65726CDD74B")
    IRiD3dMaterialEditor : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OpenMaterialInLe( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetDefaultD3dMaterial( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRiD3dMaterialEditorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRiD3dMaterialEditor * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRiD3dMaterialEditor * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRiD3dMaterialEditor * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRiD3dMaterialEditor * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRiD3dMaterialEditor * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRiD3dMaterialEditor * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRiD3dMaterialEditor * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *OpenMaterialInLe )( 
            IRiD3dMaterialEditor * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetDefaultD3dMaterial )( 
            IRiD3dMaterialEditor * This);
        
        END_INTERFACE
    } IRiD3dMaterialEditorVtbl;

    interface IRiD3dMaterialEditor
    {
        CONST_VTBL struct IRiD3dMaterialEditorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRiD3dMaterialEditor_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRiD3dMaterialEditor_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRiD3dMaterialEditor_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRiD3dMaterialEditor_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IRiD3dMaterialEditor_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IRiD3dMaterialEditor_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IRiD3dMaterialEditor_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IRiD3dMaterialEditor_OpenMaterialInLe(This)	\
    (This)->lpVtbl -> OpenMaterialInLe(This)

#define IRiD3dMaterialEditor_SetDefaultD3dMaterial(This)	\
    (This)->lpVtbl -> SetDefaultD3dMaterial(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiD3dMaterialEditor_OpenMaterialInLe_Proxy( 
    IRiD3dMaterialEditor * This);


void __RPC_STUB IRiD3dMaterialEditor_OpenMaterialInLe_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiD3dMaterialEditor_SetDefaultD3dMaterial_Proxy( 
    IRiD3dMaterialEditor * This);


void __RPC_STUB IRiD3dMaterialEditor_SetDefaultD3dMaterial_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRiD3dMaterialEditor_INTERFACE_DEFINED__ */


#ifndef __IRdME2ShaderBrickInputFloat3_INTERFACE_DEFINED__
#define __IRdME2ShaderBrickInputFloat3_INTERFACE_DEFINED__

/* interface IRdME2ShaderBrickInputFloat3 */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdME2ShaderBrickInputFloat3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("439B34B3-314E-4ad1-94F5-C3D1464BDAFB")
    IRdME2ShaderBrickInputFloat3 : public IRsDataObject
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdME2ShaderBrickInputFloat3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdME2ShaderBrickInputFloat3 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdME2ShaderBrickInputFloat3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdME2ShaderBrickInputFloat3 * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdME2ShaderBrickInputFloat3 * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdME2ShaderBrickInputFloat3 * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdME2ShaderBrickInputFloat3 * This);
        
        END_INTERFACE
    } IRdME2ShaderBrickInputFloat3Vtbl;

    interface IRdME2ShaderBrickInputFloat3
    {
        CONST_VTBL struct IRdME2ShaderBrickInputFloat3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdME2ShaderBrickInputFloat3_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdME2ShaderBrickInputFloat3_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdME2ShaderBrickInputFloat3_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdME2ShaderBrickInputFloat3_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdME2ShaderBrickInputFloat3_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdME2ShaderBrickInputFloat3_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdME2ShaderBrickInputFloat3_INTERFACE_DEFINED__ */


#ifndef __IRdME2ShaderBrickFShaderInput_INTERFACE_DEFINED__
#define __IRdME2ShaderBrickFShaderInput_INTERFACE_DEFINED__

/* interface IRdME2ShaderBrickFShaderInput */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdME2ShaderBrickFShaderInput;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("56B3DAB2-AFDC-465d-BDD5-83E5B0B2ECF1")
    IRdME2ShaderBrickFShaderInput : public IRsDataObject
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdME2ShaderBrickFShaderInputVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdME2ShaderBrickFShaderInput * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdME2ShaderBrickFShaderInput * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdME2ShaderBrickFShaderInput * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdME2ShaderBrickFShaderInput * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdME2ShaderBrickFShaderInput * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdME2ShaderBrickFShaderInput * This);
        
        END_INTERFACE
    } IRdME2ShaderBrickFShaderInputVtbl;

    interface IRdME2ShaderBrickFShaderInput
    {
        CONST_VTBL struct IRdME2ShaderBrickFShaderInputVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdME2ShaderBrickFShaderInput_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdME2ShaderBrickFShaderInput_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdME2ShaderBrickFShaderInput_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdME2ShaderBrickFShaderInput_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdME2ShaderBrickFShaderInput_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdME2ShaderBrickFShaderInput_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdME2ShaderBrickFShaderInput_INTERFACE_DEFINED__ */


#ifndef __IRdME2ShaderBrickMethodDef_INTERFACE_DEFINED__
#define __IRdME2ShaderBrickMethodDef_INTERFACE_DEFINED__

/* interface IRdME2ShaderBrickMethodDef */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdME2ShaderBrickMethodDef;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("306BE977-DE9E-442e-8FBC-1D58143FA15F")
    IRdME2ShaderBrickMethodDef : public IRsDataObject
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdME2ShaderBrickMethodDefVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdME2ShaderBrickMethodDef * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdME2ShaderBrickMethodDef * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdME2ShaderBrickMethodDef * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdME2ShaderBrickMethodDef * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdME2ShaderBrickMethodDef * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdME2ShaderBrickMethodDef * This);
        
        END_INTERFACE
    } IRdME2ShaderBrickMethodDefVtbl;

    interface IRdME2ShaderBrickMethodDef
    {
        CONST_VTBL struct IRdME2ShaderBrickMethodDefVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdME2ShaderBrickMethodDef_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdME2ShaderBrickMethodDef_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdME2ShaderBrickMethodDef_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdME2ShaderBrickMethodDef_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdME2ShaderBrickMethodDef_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdME2ShaderBrickMethodDef_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdME2ShaderBrickMethodDef_INTERFACE_DEFINED__ */


#ifndef __IRdME2ShaderBrickFunction_INTERFACE_DEFINED__
#define __IRdME2ShaderBrickFunction_INTERFACE_DEFINED__

/* interface IRdME2ShaderBrickFunction */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdME2ShaderBrickFunction;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("EF47C78B-4085-4a75-80F8-EC6FC982E456")
    IRdME2ShaderBrickFunction : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdME2ShaderBrickFunctionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdME2ShaderBrickFunction * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdME2ShaderBrickFunction * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdME2ShaderBrickFunction * This);
        
        END_INTERFACE
    } IRdME2ShaderBrickFunctionVtbl;

    interface IRdME2ShaderBrickFunction
    {
        CONST_VTBL struct IRdME2ShaderBrickFunctionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdME2ShaderBrickFunction_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdME2ShaderBrickFunction_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdME2ShaderBrickFunction_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdME2ShaderBrickFunction_INTERFACE_DEFINED__ */


#ifndef __IRdME2ShaderAlpha_INTERFACE_DEFINED__
#define __IRdME2ShaderAlpha_INTERFACE_DEFINED__

/* interface IRdME2ShaderAlpha */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdME2ShaderAlpha;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6EF18952-87D1-4903-A7A9-B6D14E4E8BB7")
    IRdME2ShaderAlpha : public IRsDataObject
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdME2ShaderAlphaVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdME2ShaderAlpha * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdME2ShaderAlpha * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdME2ShaderAlpha * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdME2ShaderAlpha * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdME2ShaderAlpha * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdME2ShaderAlpha * This);
        
        END_INTERFACE
    } IRdME2ShaderAlphaVtbl;

    interface IRdME2ShaderAlpha
    {
        CONST_VTBL struct IRdME2ShaderAlphaVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdME2ShaderAlpha_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdME2ShaderAlpha_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdME2ShaderAlpha_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdME2ShaderAlpha_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdME2ShaderAlpha_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdME2ShaderAlpha_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdME2ShaderAlpha_INTERFACE_DEFINED__ */


#ifndef __IRdME2ShaderConstant_INTERFACE_DEFINED__
#define __IRdME2ShaderConstant_INTERFACE_DEFINED__

/* interface IRdME2ShaderConstant */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdME2ShaderConstant;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E593B7B8-C751-4F56-A0F4-8A09506B9A40")
    IRdME2ShaderConstant : public IRsDataObject
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdME2ShaderConstantVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdME2ShaderConstant * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdME2ShaderConstant * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdME2ShaderConstant * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdME2ShaderConstant * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdME2ShaderConstant * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdME2ShaderConstant * This);
        
        END_INTERFACE
    } IRdME2ShaderConstantVtbl;

    interface IRdME2ShaderConstant
    {
        CONST_VTBL struct IRdME2ShaderConstantVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdME2ShaderConstant_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdME2ShaderConstant_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdME2ShaderConstant_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdME2ShaderConstant_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdME2ShaderConstant_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdME2ShaderConstant_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdME2ShaderConstant_INTERFACE_DEFINED__ */


#ifndef __IRdME2ShaderModel_INTERFACE_DEFINED__
#define __IRdME2ShaderModel_INTERFACE_DEFINED__

/* interface IRdME2ShaderModel */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdME2ShaderModel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("539D4091-F48A-4572-8681-38E3B2BB7419")
    IRdME2ShaderModel : public IRsDataObject
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdME2ShaderModelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdME2ShaderModel * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdME2ShaderModel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdME2ShaderModel * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdME2ShaderModel * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdME2ShaderModel * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdME2ShaderModel * This);
        
        END_INTERFACE
    } IRdME2ShaderModelVtbl;

    interface IRdME2ShaderModel
    {
        CONST_VTBL struct IRdME2ShaderModelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdME2ShaderModel_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdME2ShaderModel_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdME2ShaderModel_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdME2ShaderModel_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdME2ShaderModel_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdME2ShaderModel_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdME2ShaderModel_INTERFACE_DEFINED__ */


#ifndef __IRdME2ShaderNormal_INTERFACE_DEFINED__
#define __IRdME2ShaderNormal_INTERFACE_DEFINED__

/* interface IRdME2ShaderNormal */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdME2ShaderNormal;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("226258B3-B2D9-4efa-B42B-D634B508E0ED")
    IRdME2ShaderNormal : public IRsDataObject
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdME2ShaderNormalVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdME2ShaderNormal * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdME2ShaderNormal * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdME2ShaderNormal * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdME2ShaderNormal * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdME2ShaderNormal * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdME2ShaderNormal * This);
        
        END_INTERFACE
    } IRdME2ShaderNormalVtbl;

    interface IRdME2ShaderNormal
    {
        CONST_VTBL struct IRdME2ShaderNormalVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdME2ShaderNormal_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdME2ShaderNormal_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdME2ShaderNormal_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdME2ShaderNormal_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdME2ShaderNormal_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdME2ShaderNormal_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdME2ShaderNormal_INTERFACE_DEFINED__ */


#ifndef __IRdME2ShaderTexcoord_INTERFACE_DEFINED__
#define __IRdME2ShaderTexcoord_INTERFACE_DEFINED__

/* interface IRdME2ShaderTexcoord */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdME2ShaderTexcoord;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("95BD726C-4D8A-48ed-9D3B-DAECF11065B7")
    IRdME2ShaderTexcoord : public IRsDataObject
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdME2ShaderTexcoordVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdME2ShaderTexcoord * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdME2ShaderTexcoord * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdME2ShaderTexcoord * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdME2ShaderTexcoord * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdME2ShaderTexcoord * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdME2ShaderTexcoord * This);
        
        END_INTERFACE
    } IRdME2ShaderTexcoordVtbl;

    interface IRdME2ShaderTexcoord
    {
        CONST_VTBL struct IRdME2ShaderTexcoordVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdME2ShaderTexcoord_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdME2ShaderTexcoord_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdME2ShaderTexcoord_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdME2ShaderTexcoord_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdME2ShaderTexcoord_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdME2ShaderTexcoord_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdME2ShaderTexcoord_INTERFACE_DEFINED__ */


#ifndef __IRdME2ShaderVertex_INTERFACE_DEFINED__
#define __IRdME2ShaderVertex_INTERFACE_DEFINED__

/* interface IRdME2ShaderVertex */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdME2ShaderVertex;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1EE37F88-7C6B-4b65-AC77-6A39DB43D471")
    IRdME2ShaderVertex : public IRsDataObject
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdME2ShaderVertexVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdME2ShaderVertex * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdME2ShaderVertex * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdME2ShaderVertex * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdME2ShaderVertex * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdME2ShaderVertex * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdME2ShaderVertex * This);
        
        END_INTERFACE
    } IRdME2ShaderVertexVtbl;

    interface IRdME2ShaderVertex
    {
        CONST_VTBL struct IRdME2ShaderVertexVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdME2ShaderVertex_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdME2ShaderVertex_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdME2ShaderVertex_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdME2ShaderVertex_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdME2ShaderVertex_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdME2ShaderVertex_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdME2ShaderVertex_INTERFACE_DEFINED__ */


#ifndef __IRdME2MaterialExplicit_INTERFACE_DEFINED__
#define __IRdME2MaterialExplicit_INTERFACE_DEFINED__

/* interface IRdME2MaterialExplicit */
/* [unique][helpstring][uuid][object][local] */ 


EXTERN_C const IID IID_IRdME2MaterialExplicit;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BADACD91-7385-4981-88F7-71B2DE64F65A")
    IRdME2MaterialExplicit : public IRdME2Material
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdME2MaterialExplicitVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdME2MaterialExplicit * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdME2MaterialExplicit * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdME2MaterialExplicit * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdME2MaterialExplicit * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdME2MaterialExplicit * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdME2MaterialExplicit * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRdME2MaterialExplicit * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetID )( 
            IRdME2MaterialExplicit * This,
            /* [out] */ RtDWORD *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetID )( 
            IRdME2MaterialExplicit * This,
            /* [in] */ RtDWORD pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameterCount )( 
            IRdME2MaterialExplicit * This,
            /* [out] */ RtDWORD *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputParameter )( 
            IRdME2MaterialExplicit * This,
            /* [in] */ RtDWORD dwIndex,
            /* [out] */ BSTR *pVariableName,
            /* [out] */ BSTR *pNodeName,
            /* [out] */ BSTR *pConnectorName,
            /* [out] */ BSTR *pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddInputParameter )( 
            IRdME2MaterialExplicit * This,
            /* [in] */ BSTR pVariableName,
            /* [in] */ BSTR pNodeName,
            /* [in] */ BSTR pConnectorName,
            /* [in] */ BSTR pUsage);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AppendInputParameters )( 
            IRdME2MaterialExplicit * This,
            /* [in] */ IRdMEMaterial *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTimestamp )( 
            IRdME2MaterialExplicit * This,
            /* [out] */ DWORD *dwCodeStamp,
            /* [out] */ DWORD *dwInputStamp);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCodeCount )( 
            IRdME2MaterialExplicit * This,
            /* [out] */ DWORD *dwCount);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCodePart )( 
            IRdME2MaterialExplicit * This,
            /* [in] */ DWORD dwIndex,
            /* [out] */ struct RtME2ShaderCode *pCode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputs )( 
            IRdME2MaterialExplicit * This,
            /* [out] */ DWORD *dwCount,
            /* [out] */ struct RtME2ShaderInputs **ppInputs);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LockObject )( 
            IRdME2MaterialExplicit * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnlockObject )( 
            IRdME2MaterialExplicit * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMaterialEncaps )( 
            IRdME2MaterialExplicit * This,
            /* [out] */ BSTR *bsEncaps);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAlphaTest )( 
            IRdME2MaterialExplicit * This,
            /* [in] */ BOOL bEnableTest,
            /* [in] */ float fTestValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAlphaTest )( 
            IRdME2MaterialExplicit * This,
            /* [out] */ BOOL *pbEnableTest,
            /* [out] */ float *pfTestValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetForcedTransparency )( 
            IRdME2MaterialExplicit * This,
            /* [in] */ enum ReD3DForcedTransparency eForcedTranparencyValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetForcedTransparency )( 
            IRdME2MaterialExplicit * This,
            /* [retval][out] */ enum ReD3DForcedTransparency *eForcedTranparencyValue);
        
        END_INTERFACE
    } IRdME2MaterialExplicitVtbl;

    interface IRdME2MaterialExplicit
    {
        CONST_VTBL struct IRdME2MaterialExplicitVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdME2MaterialExplicit_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdME2MaterialExplicit_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdME2MaterialExplicit_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdME2MaterialExplicit_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdME2MaterialExplicit_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdME2MaterialExplicit_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdME2MaterialExplicit_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRdME2MaterialExplicit_GetID(This,pVal)	\
    (This)->lpVtbl -> GetID(This,pVal)

#define IRdME2MaterialExplicit_SetID(This,pVal)	\
    (This)->lpVtbl -> SetID(This,pVal)

#define IRdME2MaterialExplicit_GetInputParameterCount(This,pVal)	\
    (This)->lpVtbl -> GetInputParameterCount(This,pVal)

#define IRdME2MaterialExplicit_GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> GetInputParameter(This,dwIndex,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdME2MaterialExplicit_AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)	\
    (This)->lpVtbl -> AddInputParameter(This,pVariableName,pNodeName,pConnectorName,pUsage)

#define IRdME2MaterialExplicit_AppendInputParameters(This,pVal)	\
    (This)->lpVtbl -> AppendInputParameters(This,pVal)


#define IRdME2MaterialExplicit_GetTimestamp(This,dwCodeStamp,dwInputStamp)	\
    (This)->lpVtbl -> GetTimestamp(This,dwCodeStamp,dwInputStamp)

#define IRdME2MaterialExplicit_GetCodeCount(This,dwCount)	\
    (This)->lpVtbl -> GetCodeCount(This,dwCount)

#define IRdME2MaterialExplicit_GetCodePart(This,dwIndex,pCode)	\
    (This)->lpVtbl -> GetCodePart(This,dwIndex,pCode)

#define IRdME2MaterialExplicit_GetInputs(This,dwCount,ppInputs)	\
    (This)->lpVtbl -> GetInputs(This,dwCount,ppInputs)

#define IRdME2MaterialExplicit_LockObject(This)	\
    (This)->lpVtbl -> LockObject(This)

#define IRdME2MaterialExplicit_UnlockObject(This)	\
    (This)->lpVtbl -> UnlockObject(This)

#define IRdME2MaterialExplicit_GetMaterialEncaps(This,bsEncaps)	\
    (This)->lpVtbl -> GetMaterialEncaps(This,bsEncaps)

#define IRdME2MaterialExplicit_SetAlphaTest(This,bEnableTest,fTestValue)	\
    (This)->lpVtbl -> SetAlphaTest(This,bEnableTest,fTestValue)

#define IRdME2MaterialExplicit_GetAlphaTest(This,pbEnableTest,pfTestValue)	\
    (This)->lpVtbl -> GetAlphaTest(This,pbEnableTest,pfTestValue)

#define IRdME2MaterialExplicit_SetForcedTransparency(This,eForcedTranparencyValue)	\
    (This)->lpVtbl -> SetForcedTransparency(This,eForcedTranparencyValue)

#define IRdME2MaterialExplicit_GetForcedTransparency(This,eForcedTranparencyValue)	\
    (This)->lpVtbl -> GetForcedTransparency(This,eForcedTranparencyValue)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdME2MaterialExplicit_INTERFACE_DEFINED__ */


#ifndef __IRdME2MixedBrick_INTERFACE_DEFINED__
#define __IRdME2MixedBrick_INTERFACE_DEFINED__

/* interface IRdME2MixedBrick */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdME2MixedBrick;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8279F83D-D359-4bc6-8B84-83EE85DBF249")
    IRdME2MixedBrick : public IRsDataObject
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRdME2MixedBrickVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdME2MixedBrick * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdME2MixedBrick * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdME2MixedBrick * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdME2MixedBrick * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdME2MixedBrick * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdME2MixedBrick * This);
        
        END_INTERFACE
    } IRdME2MixedBrickVtbl;

    interface IRdME2MixedBrick
    {
        CONST_VTBL struct IRdME2MixedBrickVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdME2MixedBrick_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdME2MixedBrick_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdME2MixedBrick_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdME2MixedBrick_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdME2MixedBrick_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdME2MixedBrick_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRdME2MixedBrick_INTERFACE_DEFINED__ */


#ifndef __IRnD3DMaterialSimple_INTERFACE_DEFINED__
#define __IRnD3DMaterialSimple_INTERFACE_DEFINED__

/* interface IRnD3DMaterialSimple */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnD3DMaterialSimple;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("22E3BE17-E286-41D1-B9A8-1293C08BA1EC")
    IRnD3DMaterialSimple : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnD3DMaterialSimpleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnD3DMaterialSimple * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnD3DMaterialSimple * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnD3DMaterialSimple * This);
        
        END_INTERFACE
    } IRnD3DMaterialSimpleVtbl;

    interface IRnD3DMaterialSimple
    {
        CONST_VTBL struct IRnD3DMaterialSimpleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnD3DMaterialSimple_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnD3DMaterialSimple_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnD3DMaterialSimple_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnD3DMaterialSimple_INTERFACE_DEFINED__ */


#ifndef __IRnME2InputBitmap1D_INTERFACE_DEFINED__
#define __IRnME2InputBitmap1D_INTERFACE_DEFINED__

/* interface IRnME2InputBitmap1D */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2InputBitmap1D;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("755D76FD-771F-4bfc-BEE4-D5FBA95F667E")
    IRnME2InputBitmap1D : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2InputBitmap1DVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2InputBitmap1D * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2InputBitmap1D * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2InputBitmap1D * This);
        
        END_INTERFACE
    } IRnME2InputBitmap1DVtbl;

    interface IRnME2InputBitmap1D
    {
        CONST_VTBL struct IRnME2InputBitmap1DVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2InputBitmap1D_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2InputBitmap1D_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2InputBitmap1D_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2InputBitmap1D_INTERFACE_DEFINED__ */


#ifndef __IRnME2FShaderInput_INTERFACE_DEFINED__
#define __IRnME2FShaderInput_INTERFACE_DEFINED__

/* interface IRnME2FShaderInput */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2FShaderInput;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("567CC32F-FD8B-460a-AAA9-4BF3C67CAFB8")
    IRnME2FShaderInput : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2FShaderInputVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2FShaderInput * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2FShaderInput * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2FShaderInput * This);
        
        END_INTERFACE
    } IRnME2FShaderInputVtbl;

    interface IRnME2FShaderInput
    {
        CONST_VTBL struct IRnME2FShaderInputVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2FShaderInput_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2FShaderInput_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2FShaderInput_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2FShaderInput_INTERFACE_DEFINED__ */


#ifndef __IRnME2FunctionBrick_INTERFACE_DEFINED__
#define __IRnME2FunctionBrick_INTERFACE_DEFINED__

/* interface IRnME2FunctionBrick */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2FunctionBrick;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("301F7B4C-6E06-42c3-A667-BA162960210C")
    IRnME2FunctionBrick : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetFromXML( 
            /* [in] */ BSTR bsFileName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBrickDesc( 
            /* [out] */ BSTR *bsDesc) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnME2FunctionBrickVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2FunctionBrick * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2FunctionBrick * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2FunctionBrick * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetFromXML )( 
            IRnME2FunctionBrick * This,
            /* [in] */ BSTR bsFileName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBrickDesc )( 
            IRnME2FunctionBrick * This,
            /* [out] */ BSTR *bsDesc);
        
        END_INTERFACE
    } IRnME2FunctionBrickVtbl;

    interface IRnME2FunctionBrick
    {
        CONST_VTBL struct IRnME2FunctionBrickVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2FunctionBrick_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2FunctionBrick_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2FunctionBrick_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnME2FunctionBrick_SetFromXML(This,bsFileName)	\
    (This)->lpVtbl -> SetFromXML(This,bsFileName)

#define IRnME2FunctionBrick_GetBrickDesc(This,bsDesc)	\
    (This)->lpVtbl -> GetBrickDesc(This,bsDesc)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnME2FunctionBrick_SetFromXML_Proxy( 
    IRnME2FunctionBrick * This,
    /* [in] */ BSTR bsFileName);


void __RPC_STUB IRnME2FunctionBrick_SetFromXML_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnME2FunctionBrick_GetBrickDesc_Proxy( 
    IRnME2FunctionBrick * This,
    /* [out] */ BSTR *bsDesc);


void __RPC_STUB IRnME2FunctionBrick_GetBrickDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnME2FunctionBrick_INTERFACE_DEFINED__ */


#ifndef __IRnME2CustomBrick_INTERFACE_DEFINED__
#define __IRnME2CustomBrick_INTERFACE_DEFINED__

/* interface IRnME2CustomBrick */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2CustomBrick;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D9745E78-48C8-4d87-A3F0-F85B82DC00F4")
    IRnME2CustomBrick : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2CustomBrickVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2CustomBrick * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2CustomBrick * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2CustomBrick * This);
        
        END_INTERFACE
    } IRnME2CustomBrickVtbl;

    interface IRnME2CustomBrick
    {
        CONST_VTBL struct IRnME2CustomBrickVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2CustomBrick_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2CustomBrick_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2CustomBrick_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2CustomBrick_INTERFACE_DEFINED__ */


#ifndef __IRnME2ShaderAlpha_INTERFACE_DEFINED__
#define __IRnME2ShaderAlpha_INTERFACE_DEFINED__

/* interface IRnME2ShaderAlpha */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2ShaderAlpha;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BF8B578D-D4FB-47d2-8A2E-333B57EF1296")
    IRnME2ShaderAlpha : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2ShaderAlphaVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2ShaderAlpha * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2ShaderAlpha * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2ShaderAlpha * This);
        
        END_INTERFACE
    } IRnME2ShaderAlphaVtbl;

    interface IRnME2ShaderAlpha
    {
        CONST_VTBL struct IRnME2ShaderAlphaVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2ShaderAlpha_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2ShaderAlpha_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2ShaderAlpha_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2ShaderAlpha_INTERFACE_DEFINED__ */


#ifndef __IRnME2ShaderColor_INTERFACE_DEFINED__
#define __IRnME2ShaderColor_INTERFACE_DEFINED__

/* interface IRnME2ShaderColor */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2ShaderColor;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("22FE9083-59AF-4dc8-AF19-DABF245ADFA6")
    IRnME2ShaderColor : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2ShaderColorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2ShaderColor * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2ShaderColor * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2ShaderColor * This);
        
        END_INTERFACE
    } IRnME2ShaderColorVtbl;

    interface IRnME2ShaderColor
    {
        CONST_VTBL struct IRnME2ShaderColorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2ShaderColor_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2ShaderColor_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2ShaderColor_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2ShaderColor_INTERFACE_DEFINED__ */


#ifndef __IRnME2ShaderConstant_INTERFACE_DEFINED__
#define __IRnME2ShaderConstant_INTERFACE_DEFINED__

/* interface IRnME2ShaderConstant */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2ShaderConstant;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("e7d39f4e-10d8-4894-aa7d-3d65217952f6")
    IRnME2ShaderConstant : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2ShaderConstantVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2ShaderConstant * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2ShaderConstant * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2ShaderConstant * This);
        
        END_INTERFACE
    } IRnME2ShaderConstantVtbl;

    interface IRnME2ShaderConstant
    {
        CONST_VTBL struct IRnME2ShaderConstantVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2ShaderConstant_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2ShaderConstant_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2ShaderConstant_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2ShaderConstant_INTERFACE_DEFINED__ */


#ifndef __IRnME2ShaderNormal_INTERFACE_DEFINED__
#define __IRnME2ShaderNormal_INTERFACE_DEFINED__

/* interface IRnME2ShaderNormal */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2ShaderNormal;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0923601F-14E2-4aa6-8E9A-5335CCBF843D")
    IRnME2ShaderNormal : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2ShaderNormalVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2ShaderNormal * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2ShaderNormal * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2ShaderNormal * This);
        
        END_INTERFACE
    } IRnME2ShaderNormalVtbl;

    interface IRnME2ShaderNormal
    {
        CONST_VTBL struct IRnME2ShaderNormalVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2ShaderNormal_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2ShaderNormal_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2ShaderNormal_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2ShaderNormal_INTERFACE_DEFINED__ */


#ifndef __IRnME2ShaderTexcoord_INTERFACE_DEFINED__
#define __IRnME2ShaderTexcoord_INTERFACE_DEFINED__

/* interface IRnME2ShaderTexcoord */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2ShaderTexcoord;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A835E14E-0DBE-4ab0-9E56-453EC63A69A9")
    IRnME2ShaderTexcoord : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2ShaderTexcoordVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2ShaderTexcoord * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2ShaderTexcoord * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2ShaderTexcoord * This);
        
        END_INTERFACE
    } IRnME2ShaderTexcoordVtbl;

    interface IRnME2ShaderTexcoord
    {
        CONST_VTBL struct IRnME2ShaderTexcoordVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2ShaderTexcoord_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2ShaderTexcoord_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2ShaderTexcoord_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2ShaderTexcoord_INTERFACE_DEFINED__ */


#ifndef __IRnME2ShaderModel_INTERFACE_DEFINED__
#define __IRnME2ShaderModel_INTERFACE_DEFINED__

/* interface IRnME2ShaderModel */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2ShaderModel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A1ACA515-F396-4366-9182-7BF68BE36FE7")
    IRnME2ShaderModel : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2ShaderModelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2ShaderModel * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2ShaderModel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2ShaderModel * This);
        
        END_INTERFACE
    } IRnME2ShaderModelVtbl;

    interface IRnME2ShaderModel
    {
        CONST_VTBL struct IRnME2ShaderModelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2ShaderModel_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2ShaderModel_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2ShaderModel_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2ShaderModel_INTERFACE_DEFINED__ */


#ifndef __IRnME2ShaderLight_INTERFACE_DEFINED__
#define __IRnME2ShaderLight_INTERFACE_DEFINED__

/* interface IRnME2ShaderLight */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2ShaderLight;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B68B6C6E-7244-4f8b-B690-E50EB01693BB")
    IRnME2ShaderLight : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2ShaderLightVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2ShaderLight * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2ShaderLight * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2ShaderLight * This);
        
        END_INTERFACE
    } IRnME2ShaderLightVtbl;

    interface IRnME2ShaderLight
    {
        CONST_VTBL struct IRnME2ShaderLightVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2ShaderLight_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2ShaderLight_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2ShaderLight_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2ShaderLight_INTERFACE_DEFINED__ */


#ifndef __IRnME2ShaderLightVertex_INTERFACE_DEFINED__
#define __IRnME2ShaderLightVertex_INTERFACE_DEFINED__

/* interface IRnME2ShaderLightVertex */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2ShaderLightVertex;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8CB32317-ABC3-4eb4-8C77-79A459411FDA")
    IRnME2ShaderLightVertex : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2ShaderLightVertexVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2ShaderLightVertex * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2ShaderLightVertex * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2ShaderLightVertex * This);
        
        END_INTERFACE
    } IRnME2ShaderLightVertexVtbl;

    interface IRnME2ShaderLightVertex
    {
        CONST_VTBL struct IRnME2ShaderLightVertexVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2ShaderLightVertex_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2ShaderLightVertex_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2ShaderLightVertex_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2ShaderLightVertex_INTERFACE_DEFINED__ */


#ifndef __IRnME2ShaderVertex_INTERFACE_DEFINED__
#define __IRnME2ShaderVertex_INTERFACE_DEFINED__

/* interface IRnME2ShaderVertex */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2ShaderVertex;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F41397B1-8A7E-467b-B278-D3E574EC92C2")
    IRnME2ShaderVertex : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2ShaderVertexVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2ShaderVertex * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2ShaderVertex * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2ShaderVertex * This);
        
        END_INTERFACE
    } IRnME2ShaderVertexVtbl;

    interface IRnME2ShaderVertex
    {
        CONST_VTBL struct IRnME2ShaderVertexVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2ShaderVertex_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2ShaderVertex_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2ShaderVertex_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2ShaderVertex_INTERFACE_DEFINED__ */


#ifndef __IRnME2Material_INTERFACE_DEFINED__
#define __IRnME2Material_INTERFACE_DEFINED__

/* interface IRnME2Material */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2Material;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A7BCA850-7C63-4285-829D-3BCCC15D3283")
    IRnME2Material : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2MaterialVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2Material * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2Material * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2Material * This);
        
        END_INTERFACE
    } IRnME2MaterialVtbl;

    interface IRnME2Material
    {
        CONST_VTBL struct IRnME2MaterialVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2Material_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2Material_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2Material_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2Material_INTERFACE_DEFINED__ */


#ifndef __IRnME2ShadowMap_INTERFACE_DEFINED__
#define __IRnME2ShadowMap_INTERFACE_DEFINED__

/* interface IRnME2ShadowMap */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2ShadowMap;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E61967DB-71CC-4e4f-AF51-BEEA96E11A16")
    IRnME2ShadowMap : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2ShadowMapVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2ShadowMap * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2ShadowMap * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2ShadowMap * This);
        
        END_INTERFACE
    } IRnME2ShadowMapVtbl;

    interface IRnME2ShadowMap
    {
        CONST_VTBL struct IRnME2ShadowMapVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2ShadowMap_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2ShadowMap_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2ShadowMap_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2ShadowMap_INTERFACE_DEFINED__ */


#ifndef __IRnME2Material_TS_SPOS_INTERFACE_DEFINED__
#define __IRnME2Material_TS_SPOS_INTERFACE_DEFINED__

/* interface IRnME2Material_TS_SPOS */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2Material_TS_SPOS;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("16817ED0-1496-4377-9E96-D6EC87801544")
    IRnME2Material_TS_SPOS : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2Material_TS_SPOSVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2Material_TS_SPOS * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2Material_TS_SPOS * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2Material_TS_SPOS * This);
        
        END_INTERFACE
    } IRnME2Material_TS_SPOSVtbl;

    interface IRnME2Material_TS_SPOS
    {
        CONST_VTBL struct IRnME2Material_TS_SPOSVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2Material_TS_SPOS_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2Material_TS_SPOS_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2Material_TS_SPOS_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2Material_TS_SPOS_INTERFACE_DEFINED__ */


#ifndef __IRnME2Material_TS_SPTS_INTERFACE_DEFINED__
#define __IRnME2Material_TS_SPTS_INTERFACE_DEFINED__

/* interface IRnME2Material_TS_SPTS */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2Material_TS_SPTS;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("23BC4978-4B35-4e41-84C0-A08FDFDF1160")
    IRnME2Material_TS_SPTS : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2Material_TS_SPTSVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2Material_TS_SPTS * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2Material_TS_SPTS * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2Material_TS_SPTS * This);
        
        END_INTERFACE
    } IRnME2Material_TS_SPTSVtbl;

    interface IRnME2Material_TS_SPTS
    {
        CONST_VTBL struct IRnME2Material_TS_SPTSVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2Material_TS_SPTS_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2Material_TS_SPTS_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2Material_TS_SPTS_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2Material_TS_SPTS_INTERFACE_DEFINED__ */


#ifndef __IRnME2Material_TS_TNAS_INTERFACE_DEFINED__
#define __IRnME2Material_TS_TNAS_INTERFACE_DEFINED__

/* interface IRnME2Material_TS_TNAS */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2Material_TS_TNAS;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("FCA17BEC-B1B0-41de-A178-EBAD2C45F7CB")
    IRnME2Material_TS_TNAS : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2Material_TS_TNASVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2Material_TS_TNAS * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2Material_TS_TNAS * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2Material_TS_TNAS * This);
        
        END_INTERFACE
    } IRnME2Material_TS_TNASVtbl;

    interface IRnME2Material_TS_TNAS
    {
        CONST_VTBL struct IRnME2Material_TS_TNASVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2Material_TS_TNAS_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2Material_TS_TNAS_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2Material_TS_TNAS_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2Material_TS_TNAS_INTERFACE_DEFINED__ */


#ifndef __IRnME2Material_TS_TNOS_INTERFACE_DEFINED__
#define __IRnME2Material_TS_TNOS_INTERFACE_DEFINED__

/* interface IRnME2Material_TS_TNOS */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2Material_TS_TNOS;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5A0FA3F0-9C26-4b7f-8551-1153F4DF1480")
    IRnME2Material_TS_TNOS : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2Material_TS_TNOSVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2Material_TS_TNOS * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2Material_TS_TNOS * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2Material_TS_TNOS * This);
        
        END_INTERFACE
    } IRnME2Material_TS_TNOSVtbl;

    interface IRnME2Material_TS_TNOS
    {
        CONST_VTBL struct IRnME2Material_TS_TNOSVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2Material_TS_TNOS_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2Material_TS_TNOS_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2Material_TS_TNOS_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2Material_TS_TNOS_INTERFACE_DEFINED__ */


#ifndef __IRnME2Material_TS_TNTS_INTERFACE_DEFINED__
#define __IRnME2Material_TS_TNTS_INTERFACE_DEFINED__

/* interface IRnME2Material_TS_TNTS */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2Material_TS_TNTS;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CD18F268-89B7-4380-A4C6-750D56A3F52D")
    IRnME2Material_TS_TNTS : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2Material_TS_TNTSVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2Material_TS_TNTS * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2Material_TS_TNTS * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2Material_TS_TNTS * This);
        
        END_INTERFACE
    } IRnME2Material_TS_TNTSVtbl;

    interface IRnME2Material_TS_TNTS
    {
        CONST_VTBL struct IRnME2Material_TS_TNTSVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2Material_TS_TNTS_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2Material_TS_TNTS_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2Material_TS_TNTS_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2Material_TS_TNTS_INTERFACE_DEFINED__ */


#ifndef __IRnME2Material_TS_TPOS_INTERFACE_DEFINED__
#define __IRnME2Material_TS_TPOS_INTERFACE_DEFINED__

/* interface IRnME2Material_TS_TPOS */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2Material_TS_TPOS;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9BB4EBD5-37F9-402e-9E44-370547B383B5")
    IRnME2Material_TS_TPOS : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2Material_TS_TPOSVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2Material_TS_TPOS * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2Material_TS_TPOS * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2Material_TS_TPOS * This);
        
        END_INTERFACE
    } IRnME2Material_TS_TPOSVtbl;

    interface IRnME2Material_TS_TPOS
    {
        CONST_VTBL struct IRnME2Material_TS_TPOSVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2Material_TS_TPOS_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2Material_TS_TPOS_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2Material_TS_TPOS_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2Material_TS_TPOS_INTERFACE_DEFINED__ */


#ifndef __IRnME2Material_TS_SPOM_INTERFACE_DEFINED__
#define __IRnME2Material_TS_SPOM_INTERFACE_DEFINED__

/* interface IRnME2Material_TS_SPOM */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2Material_TS_SPOM;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3488ADC8-668D-458f-A432-2D65337A0B0A")
    IRnME2Material_TS_SPOM : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2Material_TS_SPOMVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2Material_TS_SPOM * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2Material_TS_SPOM * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2Material_TS_SPOM * This);
        
        END_INTERFACE
    } IRnME2Material_TS_SPOMVtbl;

    interface IRnME2Material_TS_SPOM
    {
        CONST_VTBL struct IRnME2Material_TS_SPOMVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2Material_TS_SPOM_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2Material_TS_SPOM_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2Material_TS_SPOM_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2Material_TS_SPOM_INTERFACE_DEFINED__ */


#ifndef __IRnME2Material_TS_SPTM_INTERFACE_DEFINED__
#define __IRnME2Material_TS_SPTM_INTERFACE_DEFINED__

/* interface IRnME2Material_TS_SPTM */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2Material_TS_SPTM;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("34E2EE8C-29FF-422c-AD58-FD8A399241A6")
    IRnME2Material_TS_SPTM : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2Material_TS_SPTMVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2Material_TS_SPTM * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2Material_TS_SPTM * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2Material_TS_SPTM * This);
        
        END_INTERFACE
    } IRnME2Material_TS_SPTMVtbl;

    interface IRnME2Material_TS_SPTM
    {
        CONST_VTBL struct IRnME2Material_TS_SPTMVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2Material_TS_SPTM_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2Material_TS_SPTM_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2Material_TS_SPTM_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2Material_TS_SPTM_INTERFACE_DEFINED__ */


#ifndef __IRnME2Material_TS_TNAM_INTERFACE_DEFINED__
#define __IRnME2Material_TS_TNAM_INTERFACE_DEFINED__

/* interface IRnME2Material_TS_TNAM */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2Material_TS_TNAM;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2214AC54-B179-424d-BEF4-8A05F9E6A2AE")
    IRnME2Material_TS_TNAM : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2Material_TS_TNAMVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2Material_TS_TNAM * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2Material_TS_TNAM * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2Material_TS_TNAM * This);
        
        END_INTERFACE
    } IRnME2Material_TS_TNAMVtbl;

    interface IRnME2Material_TS_TNAM
    {
        CONST_VTBL struct IRnME2Material_TS_TNAMVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2Material_TS_TNAM_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2Material_TS_TNAM_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2Material_TS_TNAM_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2Material_TS_TNAM_INTERFACE_DEFINED__ */


#ifndef __IRnME2Material_TS_TNOM_INTERFACE_DEFINED__
#define __IRnME2Material_TS_TNOM_INTERFACE_DEFINED__

/* interface IRnME2Material_TS_TNOM */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2Material_TS_TNOM;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6648EB8E-2F06-4eff-8425-5452AA8E4CC3")
    IRnME2Material_TS_TNOM : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2Material_TS_TNOMVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2Material_TS_TNOM * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2Material_TS_TNOM * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2Material_TS_TNOM * This);
        
        END_INTERFACE
    } IRnME2Material_TS_TNOMVtbl;

    interface IRnME2Material_TS_TNOM
    {
        CONST_VTBL struct IRnME2Material_TS_TNOMVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2Material_TS_TNOM_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2Material_TS_TNOM_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2Material_TS_TNOM_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2Material_TS_TNOM_INTERFACE_DEFINED__ */


#ifndef __IRnME2Material_TS_TNTM_INTERFACE_DEFINED__
#define __IRnME2Material_TS_TNTM_INTERFACE_DEFINED__

/* interface IRnME2Material_TS_TNTM */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2Material_TS_TNTM;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2648CC29-8EC5-4bc7-A266-49D11585732F")
    IRnME2Material_TS_TNTM : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2Material_TS_TNTMVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2Material_TS_TNTM * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2Material_TS_TNTM * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2Material_TS_TNTM * This);
        
        END_INTERFACE
    } IRnME2Material_TS_TNTMVtbl;

    interface IRnME2Material_TS_TNTM
    {
        CONST_VTBL struct IRnME2Material_TS_TNTMVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2Material_TS_TNTM_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2Material_TS_TNTM_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2Material_TS_TNTM_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2Material_TS_TNTM_INTERFACE_DEFINED__ */


#ifndef __IRnME2Material_TS_TPOM_INTERFACE_DEFINED__
#define __IRnME2Material_TS_TPOM_INTERFACE_DEFINED__

/* interface IRnME2Material_TS_TPOM */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnME2Material_TS_TPOM;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("34BE9B2C-5F25-40d1-B852-56400A0F5171")
    IRnME2Material_TS_TPOM : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnME2Material_TS_TPOMVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnME2Material_TS_TPOM * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnME2Material_TS_TPOM * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnME2Material_TS_TPOM * This);
        
        END_INTERFACE
    } IRnME2Material_TS_TPOMVtbl;

    interface IRnME2Material_TS_TPOM
    {
        CONST_VTBL struct IRnME2Material_TS_TPOMVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnME2Material_TS_TPOM_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnME2Material_TS_TPOM_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnME2Material_TS_TPOM_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnME2Material_TS_TPOM_INTERFACE_DEFINED__ */


#ifndef __IRnMaterialEditToolHooker_INTERFACE_DEFINED__
#define __IRnMaterialEditToolHooker_INTERFACE_DEFINED__

/* interface IRnMaterialEditToolHooker */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMaterialEditToolHooker;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("66DEDC03-FD87-49cd-A759-22CAB097B62A")
    IRnMaterialEditToolHooker : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnMaterialEditToolHookerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMaterialEditToolHooker * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMaterialEditToolHooker * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMaterialEditToolHooker * This);
        
        END_INTERFACE
    } IRnMaterialEditToolHookerVtbl;

    interface IRnMaterialEditToolHooker
    {
        CONST_VTBL struct IRnMaterialEditToolHookerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMaterialEditToolHooker_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMaterialEditToolHooker_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMaterialEditToolHooker_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnMaterialEditToolHooker_INTERFACE_DEFINED__ */


#ifndef __IRnD3dMaterialEditor_INTERFACE_DEFINED__
#define __IRnD3dMaterialEditor_INTERFACE_DEFINED__

/* interface IRnD3dMaterialEditor */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnD3dMaterialEditor;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D4B47ED6-DA54-4b39-8313-B0C654689365")
    IRnD3dMaterialEditor : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnD3dMaterialEditorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnD3dMaterialEditor * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnD3dMaterialEditor * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnD3dMaterialEditor * This);
        
        END_INTERFACE
    } IRnD3dMaterialEditorVtbl;

    interface IRnD3dMaterialEditor
    {
        CONST_VTBL struct IRnD3dMaterialEditorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnD3dMaterialEditor_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnD3dMaterialEditor_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnD3dMaterialEditor_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnD3dMaterialEditor_INTERFACE_DEFINED__ */



#ifndef __View3D_LIBRARY_DEFINED__
#define __View3D_LIBRARY_DEFINED__

/* library View3D */
/* [helpstring][uuid][version] */ 


EXTERN_C const IID LIBID_View3D;

EXTERN_C const CLSID CLSID_CRpView3D;

#ifdef __cplusplus

class DECLSPEC_UUID("D4282630-9303-428B-9541-458CD16861BC")
CRpView3D;
#endif

EXTERN_C const CLSID CLSID_CRdD3DCamera;

#ifdef __cplusplus

class DECLSPEC_UUID("26EE3331-8FD2-48bf-9DB5-BEEC4EE6122A")
CRdD3DCamera;
#endif

EXTERN_C const CLSID CLSID_CRsD3DWindowedRT;

#ifdef __cplusplus

class DECLSPEC_UUID("773692B1-D398-4166-AE7D-2BDD59C7E258")
CRsD3DWindowedRT;
#endif

EXTERN_C const CLSID CLSID_CRdMEShader;

#ifdef __cplusplus

class DECLSPEC_UUID("315C2597-CC65-4a5a-9015-D60403887B98")
CRdMEShader;
#endif

EXTERN_C const CLSID CLSID_CRdME2ShaderBrickInputFloat;

#ifdef __cplusplus

class DECLSPEC_UUID("F50BAACF-2630-48b5-9F1C-8E63D635B427")
CRdME2ShaderBrickInputFloat;
#endif

EXTERN_C const CLSID CLSID_CRdME2ShaderBrickInputFloat4;

#ifdef __cplusplus

class DECLSPEC_UUID("073C1F43-B144-403b-8A15-0A3E85310282")
CRdME2ShaderBrickInputFloat4;
#endif

EXTERN_C const CLSID CLSID_CRdME2ShaderBrickInputMatrix;

#ifdef __cplusplus

class DECLSPEC_UUID("D5780C5C-FFC3-4c06-AE5B-284EB57F0990")
CRdME2ShaderBrickInputMatrix;
#endif

EXTERN_C const CLSID CLSID_CRdME2ShaderBrickInputBitmap;

#ifdef __cplusplus

class DECLSPEC_UUID("F370759B-9A18-4457-828E-FDFD0A62424E")
CRdME2ShaderBrickInputBitmap;
#endif

EXTERN_C const CLSID CLSID_CRdMEShaderLight;

#ifdef __cplusplus

class DECLSPEC_UUID("DBF117A1-1D7F-4f80-87A5-5E839B990BFA")
CRdMEShaderLight;
#endif

EXTERN_C const CLSID CLSID_CRdMEShaderLightVS;

#ifdef __cplusplus

class DECLSPEC_UUID("7EE0B77F-3F87-41d5-926A-3FB6192F2BAB")
CRdMEShaderLightVS;
#endif

EXTERN_C const CLSID CLSID_CRdME2ShaderLight;

#ifdef __cplusplus

class DECLSPEC_UUID("02AE245B-E5B0-4e11-885B-A69C0EB47797")
CRdME2ShaderLight;
#endif

EXTERN_C const CLSID CLSID_CRdME2ShaderLightVertex;

#ifdef __cplusplus

class DECLSPEC_UUID("3693F06E-CD0A-46ca-BDD8-6EFE3EADBE89")
CRdME2ShaderLightVertex;
#endif

EXTERN_C const CLSID CLSID_CRdME2Material;

#ifdef __cplusplus

class DECLSPEC_UUID("495C99F1-691E-484c-8190-870556A788E9")
CRdME2Material;
#endif

EXTERN_C const CLSID CLSID_CRdMEShaderBrickStatic;

#ifdef __cplusplus

class DECLSPEC_UUID("FE42370C-D0E6-4eaf-A4CB-F246BCD7FFE8")
CRdMEShaderBrickStatic;
#endif

EXTERN_C const CLSID CLSID_CRdME2ShaderColor;

#ifdef __cplusplus

class DECLSPEC_UUID("73F778DB-0E1D-4e87-8D26-B6FF30B56C5F")
CRdME2ShaderColor;
#endif

EXTERN_C const CLSID CLSID_CRdMEShaderAlpha;

#ifdef __cplusplus

class DECLSPEC_UUID("A269846E-1423-4918-84B7-674640779B78")
CRdMEShaderAlpha;
#endif

EXTERN_C const CLSID CLSID_CRdMEShaderBrickStaticInput;

#ifdef __cplusplus

class DECLSPEC_UUID("D039D76E-4101-474d-BD5F-00AAEE7DC3C2")
CRdMEShaderBrickStaticInput;
#endif

EXTERN_C const CLSID CLSID_CRdMEShaderBrickStaticSampler1D;

#ifdef __cplusplus

class DECLSPEC_UUID("993BA452-9C3D-4475-BBD8-B2C165357E90")
CRdMEShaderBrickStaticSampler1D;
#endif

EXTERN_C const CLSID CLSID_CRdMEShaderBrickStaticSampler2D;

#ifdef __cplusplus

class DECLSPEC_UUID("45B6A899-DABA-402b-837D-2C7129AA5145")
CRdMEShaderBrickStaticSampler2D;
#endif

EXTERN_C const CLSID CLSID_CRdMEShaderColor;

#ifdef __cplusplus

class DECLSPEC_UUID("FF7E74AA-F02D-4886-B624-F040F2ADB86A")
CRdMEShaderColor;
#endif

EXTERN_C const CLSID CLSID_CRdMEShaderModel;

#ifdef __cplusplus

class DECLSPEC_UUID("C52CFEEF-8C51-42ff-ABA7-3EC438817F64")
CRdMEShaderModel;
#endif

EXTERN_C const CLSID CLSID_CRdMEShaderNormal;

#ifdef __cplusplus

class DECLSPEC_UUID("094326FD-4766-4ade-BF01-00CBA5676BA7")
CRdMEShaderNormal;
#endif

EXTERN_C const CLSID CLSID_CRdMEShaderTexCoord;

#ifdef __cplusplus

class DECLSPEC_UUID("0E00081E-8873-4f25-BDF0-2B71BA2DD369")
CRdMEShaderTexCoord;
#endif

EXTERN_C const CLSID CLSID_CRfD3DSerialization;

#ifdef __cplusplus

class DECLSPEC_UUID("F793D19E-5B90-4d13-9E1A-105D6A6686D0")
CRfD3DSerialization;
#endif

EXTERN_C const CLSID CLSID_CRiView3D;

#ifdef __cplusplus

class DECLSPEC_UUID("FB69935B-1E3D-411F-A5F9-8453C9B8B6D5")
CRiView3D;
#endif

EXTERN_C const CLSID CLSID_CRiD3dMaterialEditor;

#ifdef __cplusplus

class DECLSPEC_UUID("74B7553B-17CC-4dee-800B-17061B00883F")
CRiD3dMaterialEditor;
#endif

EXTERN_C const CLSID CLSID_CRdME2ShaderBrickInputFloat3;

#ifdef __cplusplus

class DECLSPEC_UUID("F3D45CD7-990F-436f-9982-082F306F8C53")
CRdME2ShaderBrickInputFloat3;
#endif

EXTERN_C const CLSID CLSID_CRdME2ShaderBrickFShaderInput;

#ifdef __cplusplus

class DECLSPEC_UUID("34040301-FBB9-4c13-BB53-9127F633AD8B")
CRdME2ShaderBrickFShaderInput;
#endif

EXTERN_C const CLSID CLSID_CRdME2ShaderBrickFunction;

#ifdef __cplusplus

class DECLSPEC_UUID("DAFAAAB9-2B4D-4af9-BC68-1ECD2AF8F49D")
CRdME2ShaderBrickFunction;
#endif

EXTERN_C const CLSID CLSID_CRdME2ShaderAlpha;

#ifdef __cplusplus

class DECLSPEC_UUID("CA8D83A5-CD0A-42ab-8177-A974C13C0E44")
CRdME2ShaderAlpha;
#endif

EXTERN_C const CLSID CLSID_CRdME2ShaderConstant;

#ifdef __cplusplus

class DECLSPEC_UUID("f9cc8dea-bf1d-474a-ad1e-ccd6fbef899e")
CRdME2ShaderConstant;
#endif

EXTERN_C const CLSID CLSID_CRdME2ShaderModel;

#ifdef __cplusplus

class DECLSPEC_UUID("17F7F436-A95C-48d4-A99D-A0EB1104851F")
CRdME2ShaderModel;
#endif

EXTERN_C const CLSID CLSID_CRdME2ShaderNormal;

#ifdef __cplusplus

class DECLSPEC_UUID("F784D0BA-BD28-4bb2-B813-6250A24B078C")
CRdME2ShaderNormal;
#endif

EXTERN_C const CLSID CLSID_CRdME2ShaderTexcoord;

#ifdef __cplusplus

class DECLSPEC_UUID("6876485D-40F8-4672-A715-C95A8664475D")
CRdME2ShaderTexcoord;
#endif

EXTERN_C const CLSID CLSID_CRdME2ShaderVertex;

#ifdef __cplusplus

class DECLSPEC_UUID("1D0F3439-5E50-47d2-ABDD-A57869FFC41C")
CRdME2ShaderVertex;
#endif

EXTERN_C const CLSID CLSID_CRdME2MaterialExplicit;

#ifdef __cplusplus

class DECLSPEC_UUID("05308709-68B2-4abd-99B3-BAFCE3F3B855")
CRdME2MaterialExplicit;
#endif

EXTERN_C const CLSID CLSID_CRdME2MixedBrick;

#ifdef __cplusplus

class DECLSPEC_UUID("350736FB-C8D2-4d0e-83BE-B1A6F99E24F6")
CRdME2MixedBrick;
#endif
#endif /* __View3D_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

unsigned long             __RPC_USER  HICON_UserSize(     unsigned long *, unsigned long            , HICON * ); 
unsigned char * __RPC_USER  HICON_UserMarshal(  unsigned long *, unsigned char *, HICON * ); 
unsigned char * __RPC_USER  HICON_UserUnmarshal(unsigned long *, unsigned char *, HICON * ); 
void                      __RPC_USER  HICON_UserFree(     unsigned long *, HICON * ); 

unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


