00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef _RM_CORE_TYPES_H_
00014 #define _RM_CORE_TYPES_H_
00015
00016
00020
00021
00022
00023
00024
00025
00026 #if _MSC_VER > 1000
00027 #pragma once
00028 #endif // _MSC_VER > 1000
00029
00030 #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
00031
00032 #define OEMRESOURCE
00033
00034 #ifdef _UNICODE
00035 #ifndef UNICODE
00036 #define UNICODE
00037 #endif
00038 #endif
00039
00040
00041
00042
00043 #include <windows.h>
00044 #include <tchar.h>
00045
00046
00047
00048
00049
00050 #include <assert.h>
00051 #include <stdlib.h>
00052 #include <stdio.h>
00053 #include <memory.h>
00054 #include <string.h>
00055 #include <math.h>
00056
00057
00058
00059
00060 #include <objbase.h>
00061
00062
00063
00064
00065 #define RM_API_EXPORT __declspec(dllexport)
00066 #define RM_API_IMPORT __declspec(dllimport)
00067
00068
00069
00070
00071
00072 #ifdef RMCORE_EXPORTS
00073 #define RM_API RM_API_EXPORT
00074 #else
00075 #define RM_API RM_API_IMPORT
00076 #endif
00077
00078
00079
00080
00081 #define RM_CHAR char
00082 #define RM_WCHAR wchar_t
00083
00084 #ifdef _UNICODE
00085 #define RM_TCHAR RM_WCHAR
00086
00087 #ifndef UNICODE
00088 #define UNICODE
00089 #endif
00090 #else
00091 #define RM_TCHAR RM_CHAR
00092 #endif
00093
00094 #define RM_BYTE unsigned char
00095 #define RM_WORD unsigned short
00096 #define RM_DWORD unsigned int
00097
00098 #define RM_INT8 char
00099 #define RM_INT16 short
00100 #define RM_INT32 int
00101 #define RM_INT int
00102
00103 #define RM_LONG long
00104 #define RM_ULONG unsigned long
00105
00106 #define RM_FLOAT float
00107 #define RM_DOUBLE double
00108
00109 #define RM_NODETYPE_COUNT 256
00110
00111 typedef GUID RmPlugInID;
00112
00113
00121
00122 class RM_API RmNodeID
00123 {
00124 public :
00125
00126
00130
00131 RmNodeID()
00132 {
00133 memset( &m_guid, 0, sizeof( GUID ) );
00134
00135 };
00136
00137
00143
00144 RmNodeID( const GUID& guid )
00145 {
00146 memcpy( &m_guid, &guid, sizeof( GUID ) );
00147
00148 };
00149
00150
00156
00157 RmNodeID( const RmNodeID& srcID )
00158 {
00159 memcpy( &m_guid, &srcID.GetGUID(), sizeof( GUID ) );
00160
00161 };
00162
00163
00168
00169 virtual ~RmNodeID() {};
00170
00171
00178
00179 bool operator == ( const RmNodeID& src )
00180 {
00181 if ( ::IsEqualGUID( m_guid, src.GetGUID() ) == TRUE )
00182 {
00183 return true;
00184 }
00185
00186 return false;
00187
00188 };
00189
00190
00196
00197 void operator = ( const RmNodeID &src )
00198 {
00199 memcpy( &m_guid, &src.GetGUID(), sizeof( GUID ) );
00200
00201 };
00202
00203
00209
00210 const GUID& GetGUID() const { return m_guid; };
00211
00212 private :
00213 GUID m_guid;
00214
00215 };
00216
00217
00223
00224 typedef enum
00225 {
00227 RM_PLUGINTYPE_GENERIC = 0,
00228
00230 RM_PLUGINTYPE_EDITOR,
00231
00234 RM_PLUGINTYPE_WORKSPACE_EDITOR,
00235
00239 RM_PLUGINTYPE_IMPORTER,
00240
00243 RM_PLUGINTYPE_EXPORTER,
00244
00247 RM_PLUGINTYPE_EFFECTVIEWER,
00248
00251 RM_PLUGINTYPE_GEOMETRY_LOADER,
00252
00255 RM_PLUGINTYPE_TEXTURE_LOADER,
00256
00260 RM_PLUGINTYPE_GENERATOR
00261
00262 } RmPlugInType;
00263
00264
00272
00273 typedef enum
00274 {
00275 RM_EXPORT_DATA,
00276 RM_SAVE_DATA
00277 } RmExporterPlugInType;
00278
00279
00286
00287 typedef enum
00288 {
00289 RM_WINDOWTYPE_ALL = 0,
00290 RM_WINDOWTYPE_DLG,
00291 RM_WINDOWTYPE_MDI,
00292 RM_WINDOWTYPE_DOCKTOOL,
00293 RM_WINDOWTYPE_NONE
00294 } RmWindowType;
00295
00296
00303
00304 typedef enum
00305 {
00306 RM_WINDOWDOCK_FLOAT = 0,
00307 RM_WINDOWDOCK_LEFT,
00308 RM_WINDOWDOCK_RIGHT,
00309 RM_WINDOWDOCK_TOP,
00310 RM_WINDOWDOCK_BOTTOM,
00311
00312 } RmDockingPaneLayout;
00313
00314
00321
00322 typedef enum
00323 {
00324 RS_ENUM = 0,
00325 RS_BOOLEAN,
00326 RS_MASK,
00327 RS_INT,
00328 RS_FLOAT,
00329 RS_COLOR,
00330 RS_FLAG,
00331 RS_ENUM_WITH_FLAG,
00332 RS_TYPE_COUNT
00333
00334 } RmStateType;
00335
00336
00337
00343
00344 typedef enum
00345 {
00346 RM_ANGLE_DEGREE = 0,
00347 RM_ANGLE_RADIAN
00348
00349 } RmAngleType;
00350
00351
00352 #define RM_RADIAN_TO_DEGREE (360.0/6.2832)
00353 #define RM_DEGREE_TO_RADIAN (6.2832/360.0)
00354
00355
00361
00362 typedef enum
00363 {
00364 RM_MATRIX_RAW = 0,
00365 RM_MATRIX_ROTATE,
00366 RM_MATRIX_TRANSLATE,
00367 RM_MATRIX_SCALE,
00368 RM_MATRIX_ORTHO,
00369 RM_MATRIX_PERSPECTIVE
00370
00371 } RmMatrixType;
00372
00373
00379
00380 typedef enum
00381 {
00382 RM_DX_LIGHT_POINT = 0,
00383 RM_DX_LIGHT_SPOT,
00384 RM_DX_LIGHT_DIRECTIONAL
00385
00386 } RmLightType;
00387
00388
00394
00395 typedef enum
00396 {
00397 RMVSDT_FLOAT1 = 0,
00398 RMVSDT_FLOAT2,
00399 RMVSDT_FLOAT3,
00400 RMVSDT_FLOAT4,
00401 RMVSDT_D3DCOLOR,
00402
00403 RMVSDT_UBYTE4,
00404 RMVSDT_SHORT2,
00405 RMVSDT_SHORT4
00406
00407 } RmStreamChannelDataType;
00408
00409
00415
00416 typedef enum
00417 {
00418 RM_DECLUSAGE_POSITION = 0,
00419 RM_DECLUSAGE_BLENDWEIGHT,
00420 RM_DECLUSAGE_BLENDINDICES,
00421 RM_DECLUSAGE_NORMAL,
00422 RM_DECLUSAGE_PSIZE,
00423 RM_DECLUSAGE_TEXCOORD,
00424 RM_DECLUSAGE_TANGENT,
00425 RM_DECLUSAGE_BINORMAL,
00426 RM_DECLUSAGE_TESSFACTOR,
00427 RM_DECLUSAGE_POSITIONT,
00428 RM_DECLUSAGE_COLOR,
00429 RM_DECLUSAGE_FOG,
00430 RM_DECLUSAGE_DEPTH,
00431 RM_DECLUSAGE_SAMPLE,
00432 RM_DECLUSAGE_NUM
00433
00434 } RmStreamChannelUsageType;
00435
00436
00437
00443
00444 typedef enum
00445 {
00446 RM_PRIMITIVETYPE_POINT = 0,
00447 RM_PRIMITIVETYPE_LINE,
00448 RM_PRIMITIVETYPE_LINESTRIP,
00449 RM_PRIMITIVETYPE_TRIANGLELIST,
00450 RM_PRIMITIVETYPE_TRIANGLEFAN,
00451 RM_PRIMITIVETYPE_TRIANGLESTRIP
00452
00453 } RmPrimitiveType;
00454
00455
00456
00462
00463 typedef enum
00464 {
00465 RM_SHADER_UNKNOWN = 0,
00466 RM_SHADER_DX_VS_1_1,
00467 RM_SHADER_DX_VS_2_0,
00468 RM_SHADER_DX_VS_2_0_SW,
00469 RM_SHADER_DX_VS_3_0,
00470 RM_SHADER_DX_VS_3_0_SW,
00471 RM_SHADER_DX_PS_1_1,
00472 RM_SHADER_DX_PS_1_2,
00473 RM_SHADER_DX_PS_1_3,
00474 RM_SHADER_DX_PS_1_4,
00475 RM_SHADER_DX_PS_2_0,
00476 RM_SHADER_DX_PS_2_A,
00477 RM_SHADER_DX_PS_2_B,
00478 RM_SHADER_DX_PS_2_0_SW,
00479 RM_SHADER_DX_PS_3_0,
00480 RM_SHADER_DX_PS_3_0_SW
00481
00482 } RmShaderVersion;
00483
00484
00485
00491
00492 typedef enum
00493 {
00494 RM_PROJECTIONMODE_PERSPECTIVE = 0,
00495 RM_PROJECTIONMODE_ORTHOGONAL
00496
00497 } RmProjectionMode;
00498
00499
00500
00506
00507 typedef enum
00508 {
00509 RM_COORDINATESYSTEM_LHS = 0,
00510 RM_COORDINATESYSTEM_RHS,
00511
00512 } RmCoordinateSystem;
00513
00514
00520
00521 enum RmModelOrientation
00522
00523 {
00524 RM_ORIENTATION_LHS,
00525 RM_ORIENTATION_RHS
00526
00527 };
00528
00529
00535
00536 enum RmTextureOrigin
00537
00538 {
00539 RM_ORIGIN_TOP_LEFT,
00540 RM_ORIGIN_BOTTOM_LEFT
00541
00542 };
00543
00544
00550
00551 struct RM_API RmGeneralPreferenceData
00552 {
00553 RmGeneralPreferenceData() {};
00554
00556 float fTimeCycle;
00557
00562 BOOL bTextureRefresh;
00563 float fTextureRefreshPeriod;
00564
00569 BOOL bModelRefresh;
00570 float fModelRefreshPeriod;
00571
00573 RM_TCHAR strDefaultTextureDirectory[ MAX_PATH ];
00574
00576 RM_TCHAR strDefaultModelDirectory[ MAX_PATH ];
00577
00579 BOOL bResetCameraOnEffectChange;
00580
00581
00582 RmModelOrientation modelOrientation;
00583
00584
00585 RmTextureOrigin textureOrigin;
00586
00587
00588 BOOL bRestoreDockingWindowSettings;
00589
00590 };
00591
00592
00593
00603
00604 struct RM_API RmWindowPlacementData
00605 {
00606 RmWindowPlacementData();
00607
00610 RECT GetWindowRect() const;
00611
00612
00613
00614
00615 int x;
00616 int y;
00617 int width;
00618 int height;
00619
00620
00621 int minimizedX;
00622 int minimizedY;
00623
00625 int showStatus;
00626
00628 bool bVisible;
00629
00630 };
00631
00632
00644
00645 enum RmNodeUpdateType
00646 {
00650 RM_NODE_GENERAL_UPDATE,
00651
00656 RM_NODE_NAME_CHANGED_UPDATE,
00657
00664 RM_NODE_VALUE_CHANGED_UPDATE,
00665
00669 RM_NODE_ADDED_UPDATE,
00670
00675 RM_NODE_DELETED_UPDATE,
00676
00677 };
00678
00679
00680
00686
00687 enum RmTextureType
00688 {
00689 RM_TEXTURE_2D = 0,
00690 RM_TEXTURE_3D,
00691 RM_TEXTURE_CUBEMAP,
00692 };
00693
00694
00695
00706
00707 enum RmPixelFormatType
00708 {
00709 RM_PIXELFORMAT_UNKNOWN = 0,
00710 RM_PIXELFORMAT_R8G8B8,
00711 RM_PIXELFORMAT_A8R8G8B8,
00712 RM_PIXELFORMAT_X8R8G8B8,
00713 RM_PIXELFORMAT_R5G6B5,
00714 RM_PIXELFORMAT_X1R5G5B5,
00715 RM_PIXELFORMAT_A1R5G5B5,
00716 RM_PIXELFORMAT_A4R4G4B4,
00717 RM_PIXELFORMAT_R3G3B2,
00718 RM_PIXELFORMAT_A8,
00719 RM_PIXELFORMAT_A8R3G3B2,
00720 RM_PIXELFORMAT_X4R4G4B4,
00721 RM_PIXELFORMAT_A2B10G10R10,
00722 RM_PIXELFORMAT_A8B8G8R8,
00723 RM_PIXELFORMAT_X8B8G8R8,
00724 RM_PIXELFORMAT_G16R16,
00725 RM_PIXELFORMAT_A2R10G10B10,
00726 RM_PIXELFORMAT_A16B16G16R16,
00727 RM_PIXELFORMAT_A8P8,
00728 RM_PIXELFORMAT_P8,
00729 RM_PIXELFORMAT_L8,
00730 RM_PIXELFORMAT_L16,
00731 RM_PIXELFORMAT_A8L8,
00732 RM_PIXELFORMAT_A4L4,
00733
00734 RM_PIXELFORMAT_V8U8,
00735 RM_PIXELFORMAT_Q8W8V8U8,
00736 RM_PIXELFORMAT_V16U16,
00737 RM_PIXELFORMAT_Q16W16V16U16,
00738 RM_PIXELFORMAT_CxV8U8,
00739
00740 RM_PIXELFORMAT_L6V5U5,
00741 RM_PIXELFORMAT_X8L8V8U8,
00742 RM_PIXELFORMAT_A2W10V10U10,
00743
00744 RM_PIXELFORMAT_MULTI2_ARGB8,
00745 RM_PIXELFORMAT_G8R8_G8B8,
00746 RM_PIXELFORMAT_R8G8_B8G8,
00747 RM_PIXELFORMAT_DXT1,
00748 RM_PIXELFORMAT_DXT2,
00749 RM_PIXELFORMAT_DXT3,
00750 RM_PIXELFORMAT_DXT4,
00751 RM_PIXELFORMAT_DXT5,
00752 RM_PIXELFORMAT_UYVY,
00753 RM_PIXELFORMAT_YUY2,
00754
00755 RM_PIXELFORMAT_R16F,
00756 RM_PIXELFORMAT_G16R16F,
00757 RM_PIXELFORMAT_A16B16G16R16F,
00758
00759 RM_PIXELFORMAT_R32F,
00760 RM_PIXELFORMAT_G32R32F,
00761 RM_PIXELFORMAT_A32B32G32R32F,
00762
00763 RM_PIXELFORMAT_NUM_FORMATS
00764
00765 };
00766
00767
00768
00774
00775 enum RmCubemapFaceType
00776 {
00777 RM_CUBEMAP_FACE_X_POS = 0,
00778 RM_CUBEMAP_FACE_X_NEG = 1,
00779 RM_CUBEMAP_FACE_Y_POS = 2,
00780 RM_CUBEMAP_FACE_Y_NEG = 3,
00781 RM_CUBEMAP_FACE_Z_POS = 4,
00782 RM_CUBEMAP_FACE_Z_NEG = 5
00783 };
00784
00785
00786
00787
00788
00789 #define RM_DX_API _T("D3D")
00790 #define RM_OPENGL_API _T("OpenGL")
00791 #define RM_API_AGNOSTIC _T("")
00792
00793
00794
00795
00796 #define RM_NODE_TYPE _T("RmNode")
00797 #define RM_EFFECT_WORKSPACE_TYPE _T("RmEffectWorkspace")
00798 #define RM_REGISTRY_BRANCH_TYPE _T("RmRegistryBranch")
00799 #define RM_EFFECT_GROUP_TYPE _T("RmEffectGroup")
00800 #define RM_EFFECT_TYPE _T("RmEffect")
00801 #define RM_OPENGL_EFFECT_TYPE _T("RmOpenGLEffect")
00802 #define RM_DIRECTX_EFFECT_TYPE _T("RmDirectXEffect")
00803 #define RM_VARIABLE_TYPE _T("RmVariable")
00804 #define RM_DYNAMIC_VARIABLE_TYPE _T("RmDynamicVariable" )
00805 #define RM_COLOR_VARIABLE_TYPE _T("RmColorVariable")
00806 #define RM_VECTOR_VARIABLE_TYPE _T("RmVectorVariable")
00807 #define RM_FLOAT_VARIABLE_TYPE _T("RmFloatVariable")
00808 #define RM_FLOAT2_VARIABLE_TYPE _T("RmFloat2Variable")
00809 #define RM_FLOAT3_VARIABLE_TYPE _T("RmFloat3Variable")
00810 #define RM_MATRIX_VARIABLE_TYPE _T("RmMatrixVariable")
00811 #define RM_INTEGER_VARIABLE_TYPE _T("RmIntegerVariable")
00812 #define RM_BOOLEAN_VARIABLE_TYPE _T("RmBooleanVariable")
00813 #define RM_TEXTURE_VARIABLE_TYPE _T("RmTextureVariable")
00814 #define RM_2D_TEXTURE_VARIABLE_TYPE _T("Rm2DTextureVariable")
00815 #define RM_3D_TEXTURE_VARIABLE_TYPE _T("Rm3DTextureVariable")
00816 #define RM_CUBEMAP_TEXTURE_VARIABLE_TYPE _T("RmCubemapVariable")
00817 #define RM_LIGHT_VARIABLE_TYPE _T("RmLightVariable")
00818 #define RM_MATERIAL_VARIABLE_TYPE _T("RmMaterialVariable")
00819 #define RM_PASS_TYPE _T("RmPass")
00820 #define RM_OPENGL_PASS_TYPE _T("RmGLPass")
00821 #define RM_MODEL_DATA_TYPE _T("RmModelData")
00822 #define RM_MODEL_REFERENCE_TYPE _T("RmModelReference")
00823 #define RM_STREAM_MAP_TYPE _T("RmStreamMap")
00824 #define RM_STREAM_MAP_REFERENCE_TYPE _T("RmStreamMapReference")
00825 #define RM_RENDERABLE_TEXTURE_TYPE _T("RmRenderableTexture")
00826 #define RM_RENDER_TARGET_TYPE _T("RmRenderTarget")
00827 #define RM_SHADER_TYPE _T("RmShader")
00828 #define RM_HL_SHADER_TYPE _T("RmHLShader")
00829 #define RM_GL_SHADER_TYPE _T("RmGLShader")
00830 #define RM_HLSL_SHADER_TYPE _T("RmHLSLShader")
00831 #define RM_RENDER_STATE_BLOCK_TYPE _T("RmRenderStateBlock")
00832 #define RM_STATE_TYPE _T("RmState")
00833 #define RM_TEXTURE_OBJECT_TYPE _T("RmTextureObject")
00834 #define RM_TEXTURE_REFERENCE_TYPE _T("RmTextureReference")
00835 #define RM_LIGHT_OBJECT_TYPE _T("RmLightObject")
00836 #define RM_LIGHT_REFERENCE_TYPE _T("RmLightReference")
00837 #define RM_MATERIAL_OBJECT_TYPE _T("RmMaterialObject")
00838 #define RM_MATERIAL_REFERENCE_TYPE _T("RmMaterialReference")
00839 #define RM_STREAM_TYPE _T("RmStream")
00840 #define RM_STREAM_CHANNEL_TYPE _T("RmStreamChannel")
00841 #define RM_STRING_VARIABLE_TYPE _T("RmStringVariable")
00842 #define RM_SHADER_CONSTANT_TYPE _T("RmShaderConstant")
00843 #define RM_SAMPLER_TYPE _T("RmSampler")
00844 #define RM_CAMERA_TYPE _T("RmCamera")
00845 #define RM_CAMERA_REFERENCE_TYPE _T("RmCameraReference")
00846 #define RM_PLUGIN_DATA_TYPE _T("RmPlugInData")
00847 #define RM_CLIPBOARD_NODE_TYPE _T("RmClipboardNode")
00848
00849
00856
00857 typedef enum
00858 {
00859 RM_ICON_SIZE_SMALL = 0,
00860 RM_ICON_SIZE_LARGE,
00861 } RmIconSize;
00862
00863
00864
00865
00866
00867 typedef enum
00868 {
00869 RM_RENDER_MONKEY_ICON_ID = 0,
00870 RM_ATI_ICON_ID,
00871 RM_WORKSPACE_ICON_ID,
00872 RM_REGISTRY_BRANCH_ICON_ID,
00873 RM_FOLDER_OPEN_ICON_ID,
00874 RM_EFFECT_ICON_ID,
00875 RM_OPENGL_ICON_ID,
00876 RM_D3D_ICON_ID,
00877 RM_VARIABLE_ICON_ID,
00878 RM_DYNAMIC_ICON_ID,
00879 RM_COLOR_ICON_ID,
00880 RM_VECTOR_1_ICON_ID,
00881 RM_VECTOR_2_ICON_ID,
00882 RM_VECTOR_3_ICON_ID,
00883 RM_VECTOR_4_ICON_ID,
00884 RM_MATRIX_2x2_ICON_ID,
00885 RM_MATRIX_3x3_ICON_ID,
00886 RM_MATRIX_4x4_ICON_ID,
00887 RM_INTEGER_ICON_ID,
00888 RM_TEXTURE_ICON_ID,
00889 RM_VOLUME_ICON_ID,
00890 RM_CUBEMAP_ICON_ID,
00891 RM_LIGHT_ICON_ID,
00892 RM_MATERIAL_ICON_ID,
00893 RM_PASS_ICON_ID,
00894 RM_PRINT_ICON_ID,
00895 RM_MODEL_ICON_ID,
00896 RM_MODEL_REFERENCE_ICON_ID,
00897 RM_STREAM_MAP_ICON_ID,
00898 RM_STREAM_MAP_REFERENCE_ICON_ID,
00899 RM_RENDERABLE_TEXTURE_ICON_ID,
00900 RM_RENDER_TARGET_ICON_ID,
00901 RM_RENDER_STATE_BLOCK_ICON_ID,
00902 RM_STATE_ICON_ID,
00903 RM_VERTEX_TEXTURE_OBJECT_ICON_ID,
00904 RM_TEXTURE_OBJECT_ICON_ID,
00905 RM_TEXTURE_REFERENCE_ICON_ID,
00906 RM_LIGHT_OBJECT_ICON_ID,
00907 RM_LIGHT_REFERENCE_ICON_ID,
00908 RM_MATERIAL_OBJECT_ICON_ID,
00909 RM_MATERIAL_REFERENCE_ICON_ID,
00910 RM_STREAM_ICON_ID,
00911 RM_STREAM_CHANNEL_ICON_ID,
00912 RM_STRING_ICON_ID,
00913 RM_SHADER_CONSTANT_ICON_ID,
00914 RM_SAMPLER_ICON_ID,
00915 RM_SHADER_ICON_ID,
00916 RM_DISASSEMBLER_ICON_ID,
00917 RM_OUTPUT_ICON_ID,
00918 RM_CAMERA_ICON_ID,
00919 RM_CAMERA_REFERENCE_ICON_ID,
00920 RM_VERTEX_SHADER_ICON_ID,
00921 RM_PIXEL_SHADER_ICON_ID,
00922 RM_RENDER_TARGET_SCREEN_ICON_ID,
00923 RM_BOOLEAN_TRUE_ICON_ID,
00924 RM_BOOLEAN_FALSE_ICON_ID,
00925 RM_CAMERA_ACTIVE_ICON_ID,
00926 RM_ART_ICON_ID,
00927 RM_ART_OVERLAY_ICON_ID,
00928 RM_DISABLED_OVERLAY_ICON_ID,
00929 RM_HLSL_OVERLAY_ICON_ID,
00930 RM_GLSL_OVERLAY_ICON_ID,
00931 RM_PREDEFINED_OVERLAY_ICON_ID,
00932 RM_PRELINKED_OVERLAY_ICON_ID,
00933 RM_CUT_ICON_ID,
00934 RM_COPY_ICON_ID,
00935 RM_PASTE_ICON_ID,
00936 RM_DELETE_ICON_ID,
00937 RM_ERROR_ICON_ID,
00938 RM_FOLDER_CLOSED_ICON_ID,
00939 RM_UNDO_ICON_ID,
00940 RM_REDO_ICON_ID,
00941 RM_INFO_ICON_ID,
00942 RM_WINDOW_CASCADE_ICON_ID,
00943 RM_WINDOW_TILE_HORIZONTAL_ICON_ID,
00944 RM_WINDOW_TILE_VERTICAL_ICON_ID,
00945 RM_PLUGIN_DATA_ICON_ID,
00946
00947 } RmIconID;
00948
00949
00950
00951
00952
00953
00954
00955 #define RENDERMONKEY_SDK_CURRENT_VERSION_MAJOR 1
00956 #define RENDERMONKEY_SDK_CURRENT_VERSION_MINOR 6
00957
00958
00959
00960
00961 #define RENDERMONKEY_XML_VERSION_1_0 _T( "RenderMonkey 1.0" )
00962 #define RENDERMONKEY_XML_VERSION_1_1 _T( "RenderMonkey 1.1" )
00963 #define RENDERMONKEY_XML_VERSION_1_5 _T( "RenderMonkey 1.5" )
00964 #define RENDERMONKEY_XML_VERSION_1_6 _T( "RenderMonkey 1.6" )
00965 #define RENDERMONKEY_XML_DEFAULT_VERSION RENDERMONKEY_XML_VERSION_1_0
00966 #define RENDERMONKEY_XML_CURRENT_VERSION RENDERMONKEY_XML_VERSION_1_6
00967
00968 #define RENDERMONKEY_XML_CURRENT_DTD_VERSION _T( "data\\RmDTDHeader.rfx" )
00969
00970
00971
00972
00973
00974 #define RM_DEFINED_VARIABLE_UPDATE_PER_EFFECT _T("Effect") // The variable needs to be updated for each frame
00975 #define RM_DEFINED_VARIABLE_UPDATE_PER_PASS _T("Pass") // The variable needs to be updated each draw call
00976
00977
00978
00979
00980 #define RM_RENDER_STATE_USAGE _T("RENDER_STATE")
00981 #define RM_TEXTURE_STAGE_STATE_USAGE _T("TEXTURE_STATE")
00982 #define RM_SAMPLER_STATE_USAGE _T("SAMPLER_STATE")
00983
00984
00985
00986
00987 #define RM_TEXTURE_VIEWER_PLUGIN_ID { 0xab857d87, 0xd308, 0x4293, { 0x82, 0x33, 0x5a, 0x2a, 0x51, 0x7a, 0xb9, 0x11 } }
00988 #define RM_EXTERNAL_FILE_EDITOR_PLUGIN_ID { 0x47c91d6, 0x73f9, 0x4e64, { 0xae, 0x72, 0x20, 0x76, 0x7, 0xe5, 0x21, 0x23 } }
00989 #define RM_WORKSPACE_EDITOR_PLUGIN_ID { 0x6c3ed0be, 0xfc21, 0x47fb, { 0xb5, 0x4f, 0xac, 0xbc, 0xf, 0x17, 0xf7, 0xe2 } }
00990 #define RM_DX9_VIEWER_PLUGIN_ID { 0xd158f5f1, 0x9d5d, 0x4173, { 0x9f, 0xe3, 0x90, 0x65, 0x97, 0xdd, 0x96, 0x32 } }
00991 #define RM_OPENGL_VIEWER_PLUGIN_ID { 0x29aaa06f, 0xfae1, 0x4eb6, { 0x81, 0x7, 0x25, 0x6, 0x64, 0x64, 0x84, 0x4a } }
00992 #define RM_TEXTURE_LOADER_PLUGIN_ID { 0xf35b195d, 0xb325, 0x4365, { 0x9e, 0x21, 0x67, 0xc1, 0xd0, 0x8b, 0x4, 0x2 } }
00993
00994
01002
01003 class RmNode;
01004 struct RmHighlightLine
01005 {
01006 RmNode *pNode;
01007 RM_TCHAR *szPassName;
01008 int nLineNumber;
01009 RM_TCHAR *szExtraString;
01010
01011 };
01012
01013
01014
01015
01016
01017 RM_API RM_BYTE* RmAllocateBuffer( int sizeOfData );
01018 RM_API void RmDeallocateBuffer( RM_BYTE* pBuffer );
01019
01020
01027
01028 enum RmViewerUpdateMode
01029 {
01030 RM_UPDATE_FASTEST = 0,
01031 RM_UPDATE_VSYNCH,
01032 RM_UPDATE_REQUEST
01033
01034 };
01035
01036
01042
01043 enum RmViewerUIMode
01044 {
01046 RM_UI_NONE = 0,
01047
01050 RM_UI_CAMERA_ROTATE,
01051
01054 RM_UI_CAMERA_PAN,
01055
01058 RM_UI_CAMERA_ZOOM,
01059
01062 RM_UI_CAMERA_OVERLOAD,
01063
01066 RM_UI_INPUT_MODE
01067
01068 };
01069
01070 #endif // _RM_CORE_TYPES_H