Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00020
00149 #ifndef __VR3LIB_H__
00150 #define __VR3LIB_H__
00151
00152
00153 #include <VR3Config.h>
00154
00155
00156 #include <GL/glew.h>
00157
00159
00162 struct VR3Globals {
00164 static bool VR3InitFlag;
00166 static GLint max_tex_combined_units;
00168 static GLint max_fbo_images;
00170 static GLint max_gemoetry_out_components;
00172 static GLint max_shadow_sources;
00174 static GLfloat max_anisotropy;
00175
00176 private:
00178 VR3Globals();
00179 };
00180
00181
00182
00184
00185
00187
00202 void VR3Init();
00203
00205
00208 void VR3Deinit();
00209
00211
00212
00213
00215
00216
00218 #define VR3_GL_VERSION_MAJOR "3"
00219
00220 #define VR3_GL_VERSION_MINOR "3"
00221
00222
00224
00226
00227
00229 #define VR3_GLSL_VERSION_MAJOR "3"
00230
00231 #define VR3_GLSL_VERSION_MINOR "30"
00232
00233
00235
00236
00237
00239
00240
00242
00246 #define VR3BEGFL_KEEPCOLORS 0x0001
00247
00249
00256 #define VR3BEGFL_KEEPLIGHTS 0x0002
00257
00259
00267 #define VR3BEGFL_KEEPMATRICES 0x0004
00268
00270
00277 #define VR3BEGFL_KEEPSHADOWMAPS 0x0008
00278
00279 #if (defined(_WIN32) || defined(_WIN64)) && !defined(VR3CONF_NOPHYSICS)
00280
00282
00289 #define VR3BEGFL_KEEPPHYSICS 0x0010
00290
00291 #endif
00292
00294
00295
00296
00298
00303
00305
00310 #define VR3DRAWFL_SHADOWMAP 0x0001
00311
00313
00319 #define VR3DRAWFL_RECEIVESHADOWS 0x0002
00320
00321 #if (defined(_WIN32) || defined(_WIN64)) && !defined(VR3CONF_NOPHYSICS)
00322
00324
00329 #define VR3DRAWFL_NOSIMULATE 0x0004
00330
00331 #endif
00332
00334
00335
00336
00338
00339
00341 #define VR3SC_LIGHT 0
00342
00343
00344 #define VR3SC_VF_CULLING 1
00345
00346
00347 #define VR3SC_FACE_CULLING 2
00348
00350
00351
00352
00354
00355
00357 #define VR3CAM_FREE 0
00358
00359 #define VR3CAM_LOOKAT 1
00360
00362
00363
00364
00366
00367
00369 #define VR3LIGHT_AMBIENT 0
00370
00371 #define VR3LIGHT_DIFFUSE 1
00372
00373 #define VR3LIGHT_SPECULAR 2
00374
00376
00377
00378
00380 #define VR3EM_NONE 0x0000
00381
00382 #define VR3EM_DIFFUSE 0x0001
00383
00384 #define VR3EM_SPECULAR 0x0002
00385
00386 #define VR3EM_FULL 0x0003
00387
00388
00389
00391
00392
00394 #define VR3SC_NUM_CAMERAS 8
00395
00396 #define VR3SC_NUM_LIGHTS 16
00397
00398 #define VR3SC_DEF_ZNEAR 0.1f
00399
00400 #define VR3SC_DEF_ZFAR 1000.0f
00401
00403
00404
00405
00407
00408
00410 #define VR3OBJ_NUM_LODS 10
00411
00413
00414
00415
00417
00418
00420 #define VR3MESH_MAX_VER_ATTRIBS 6
00421
00423 #define VR3MESH_VER_POS_INDEX 0
00424
00425 #define VR3MESH_NORM_INDEX 1
00426
00427 #define VR3MESH_DIFF_COORD_INDEX 2
00428
00429 #define VR3MESH_LIGHT_COORD_INDEX 3
00430
00431 #define VR3MESH_NORM_COORD_INDEX 4
00432
00433 #define VR3MESH_DISP_COORD_INDEX 5
00434
00436 #define VR3MESH_DEF_BI 0.0f
00437
00438 #define VR3MESH_DEF_SC 1.0f
00439
00440 #define VR3MESH_DEF_TF 4
00441
00442 #define VR3MESH_MIN_TF 2
00443
00445
00446
00447
00449
00450
00452 #define VR3BG_VER_POS_INDEX 0
00453
00455
00456
00457
00458
00459 #if defined(_WIN32) || defined(_WIN64)
00460
00462
00463
00465 #define VR3TEXT_VER_POS_INDEX 0
00466
00468 #define VR3TEXT_DEF_RESY 32
00469
00470 #define VR3TEXT_DEF_FONT "Times New Roman"
00471
00472 #define VR3TEXT_DEF_CHARSET ANSI_CHARSET
00473
00475 #define VR3TEXT_ZDISPLACEMENT 0.0001f
00476
00478
00479 #endif
00480
00481
00482
00493
00495 #define VR3TEX_RESERVED_UNITS 6
00496
00498 #define VR3TEXUNIT_DIFFUSE GL_TEXTURE0
00499
00500 #define VR3TEXUNIT_LIGHT GL_TEXTURE1
00501
00502 #define VR3TEXUNIT_NORMAL GL_TEXTURE2
00503
00504 #define VR3TEXUNIT_DISPLACEMENT GL_TEXTURE3
00505
00507 #define VR3TEXUNIT_ENVDIFF GL_TEXTURE4
00508
00509 #define VR3TEXUNIT_ENVSPEC GL_TEXTURE5
00510
00512 #define VR3TEXUNIT_BACKGROUND GL_TEXTURE0
00513
00515 #define VR3TEXUNIT_BASE_SHADOW (GL_TEXTURE0+VR3TEX_RESERVED_UNITS)
00516
00518 #define VR3TEXUNIT_BLUR GL_TEXTURE0
00519
00521 #define VR3TEXUNIT_TEXT GL_TEXTURE0
00522
00523
00524
00525
00527
00528
00529
00531
00532
00534 #define VR3TEX_2D GL_TEXTURE_2D
00535
00536 #define VR3TEX_CUBE_MAP GL_TEXTURE_CUBE_MAP
00537
00539
00540
00541
00543
00544
00546 #define VR3TEX_DIFFUSE 0
00547
00548 #define VR3TEX_LIGHT 1
00549
00550 #define VR3TEX_NORMAL 2
00551
00552 #define VR3TEX_DISPLACEMENT 3
00553
00555
00556
00557
00559 #define VR3MAT_NOSUB -2
00560
00561
00562
00564
00565
00567 #define VR3SDOW_NUM_SOURCES 16
00568
00569 #define VR3SDOW_DEF_DEPTHSCALE 40.0f
00570
00571 #define VR3SDOW_DEF_MINVARIANCE 0.00001f
00572
00573 #define VR3SDOW_DEF_INTENSITY 0.4f
00574
00575 #define VR3SDOW_DEF_BLEEDREDUCTION 0.0f
00576
00577 #define VR3SDOW_DEF_FILTERSIZE 3
00578
00580
00585 #define VR3SDOW_MAX_DEPTHSCALE 40.0f
00586
00587 #define VR3SDOW_MAX_FILTERSIZE 10
00588
00589 #define VR3SDOW_MIN_FILTERSIZE 1
00590
00592
00593
00594
00596
00597
00599 #define VR3SDOW_SOURCE 0
00600
00601
00602 #define VR3SDOW_VF_CULLING 1
00603
00604
00605 #define VR3SDOW_FACE_CULLING 2
00606
00607
00608 #define VR3SDOW_SOURCE_CULLING 3
00609
00610
00611
00612
00614
00615
00617 #define VR3SDOWCTRL_AUTOMATIC 0
00618
00619 #define VR3SDOWCTRL_MANUAL 1
00620
00622
00623
00624
00626
00627
00629 #define VR3SDOWCTRL_BLUR_VER_POS_INDEX 0
00630
00632
00633
00634
00636
00637
00639 #define VR3FBO_MAX_IMAGES 16
00640
00642
00643
00644
00656
00658 #define VR3_NUM_STD_UNIFORMS 39
00659
00660
00661
00663 #define VR3UNI_transformMatrix 0
00664
00665
00668 #define VR3UNI_eyePosObj 1
00669
00670 #define VR3UNI_modelMatrix 2
00671
00672 #define VR3UNI_viewMatrix 3
00673
00674 #define VR3UNI_projMatrix 4
00675
00676 #define VR3UNI_normalMatrix 5
00677
00678
00679
00681 #define VR3UNI_matEmission 6
00682
00683 #define VR3UNI_matAmbient 7
00684
00685 #define VR3UNI_matDiffuse 8
00686
00687 #define VR3UNI_matSpecular 9
00688
00689 #define VR3UNI_matOpacity 10
00690
00691 #define VR3UNI_matShininess 11
00692
00693
00694
00696 #define VR3UNI_lightAmbient 12
00697
00698 #define VR3UNI_lightDiffuse 13
00699
00700 #define VR3UNI_lightSpecular 14
00701
00702 #define VR3UNI_lightPosObj 15
00703
00704 #define VR3UNI_numActiveLights 16
00705
00706 #define VR3UNI_lightPos 17
00707
00708
00709
00711 #define VR3UNI_diffMatrix 18
00712
00713 #define VR3UNI_diffFlag 19
00714
00715 #define VR3UNI_lightMatrix 20
00716
00717 #define VR3UNI_lightFlag 21
00718
00719 #define VR3UNI_normMatrix 22
00720
00721 #define VR3UNI_normFlag 23
00722
00723 #define VR3UNI_dispMatrix 24
00724
00725 #define VR3UNI_dispFlag 25
00726
00727 #define VR3UNI_dispBI 26
00728
00729 #define VR3UNI_dispSC 27
00730
00731 #define VR3UNI_dispTF 28
00732
00733
00734
00736 #define VR3UNI_envMode 29
00737
00738
00739
00741 #define VR3UNI_shaNumActiveSources 30
00742
00743 #define VR3UNI_shaModelView 31
00744
00745 #define VR3UNI_shaProj 32
00746
00747 #define VR3UNI_shaMinVariance 33
00748
00749 #define VR3UNI_shaIntensity 34
00750
00751 #define VR3UNI_shaBleedRedFactor 35
00752
00753 #define VR3UNI_shaDepthScale 36
00754
00755 #define VR3UNI_shazFar 37
00756
00757 #define VR3UNI_shazNear 38
00758
00760
00761
00762
00774
00776 #define VR3_NUM_BG_UNIFORMS 1
00777
00779 #define VR3UNI_bg_transformMatrix 0
00780
00782
00783
00784
00795
00797 #define VR3_NUM_SHAD_UNIFORMS 5
00798
00800 #define VR3UNI_shad_modelViewMatrix 0
00801
00802 #define VR3UNI_shad_projMatrix 1
00803
00804 #define VR3UNI_shad_depthScale 2
00805
00806 #define VR3UNI_shad_zFar 3
00807
00808 #define VR3UNI_shad_zNear 4
00809
00811
00812
00813
00824
00826 #define VR3_NUM_BLUR_UNIFORMS 2
00827
00829
00831 #define VR3UNI_blur_texSize 0
00832
00833 #define VR3UNI_blur_filterSize 1
00834
00836
00837
00838
00839
00840 #if defined(_WIN32) || defined(_WIN64)
00841
00852
00854 #define VR3_NUM_TEXT_UNIFORMS 3
00855
00857 #define VR3UNI_text_transformMatrix 0
00858
00859 #define VR3UNI_text_offset 1
00860
00861 #define VR3UNI_text_color 2
00862
00864
00865 #endif
00866
00867
00868
00870
00871
00873 #define VR3SH_GS_COMPONENTS_PER_VERTEX_DIFF 11
00874
00875 #define VR3SH_GS_COMPONENTS_PER_VERTEX_NODIFF 9
00876
00878
00879
00880
00882
00883
00885 #define VR3_MAX_NOTIFICATION_LENGTH 256
00886
00888
00889
00890
00891
00892 #if (defined(_WIN32) || defined(_WIN64)) && !defined(VR3CONF_NOPHYSICS)
00893
00894
00895
00897
00898
00900 #define VR3PHYMESH_DYNAMIC 0
00901
00902 #define VR3PHYMESH_STATIC 1
00903
00904 #define VR3PHYMESH_KINEMATIC 2
00905
00907
00909
00910
00912
00929 #define VR3PHY_DYN_SKINDIVIDER 200.0f
00930
00932
00949 #define VR3PHY_STA_SKINDIVIDER 1000.0f
00950
00952
00957 #define VR3PHY_PROJDISTDIVIDER 1.0f
00958
00960 #define VR3PHY_DEF_SKINWIDTH 0.1f
00961
00963 #define VR3PHY_DEF_GRAVITY 0.0f,-9.80665f,0.0f
00964
00966
00971 #define VR3PHYSIM_DEF_ITERNUM 10
00972
00974
00984 #define VR3PHYSIM_DEF_TIMESTEP (1.0f/120.0f)
00985
00987
00992 #define VR3PHYSIM_DEF_MAXSTEPS 8
00993
00995
00996
00997
00999
01000
01002 #define VR3PHYSIM_AUTOMATIC 0
01003
01004 #define VR3PHYSIM_MANUAL 1
01005
01007
01008 #endif // windows only
01009
01010
01011
01013
01014
01016 #define VR3_INT_STRING_LENGTH 16
01017
01019
01020
01021
01023
01024
01026 #define STRINGIFY2(x) #x
01027
01028 #define STRINGIFY(x) STRINGIFY2(x)
01029
01030
01031
01032
01033
01034
01035
01037
01038 #endif