41# define SO3_SHADOWTYPE_NONE 0
42# define SO3_SHADOWDETAILTYPE_ADDITIVE 1
43# define SO3_SHADOWDETAILTYPE_MODULATIVE 2
44# define SO3_SHADOWDETAILTYPE_INTEGRATED 4
45# define SO3_SHADOWDETAILTYPE_STENCIL 16
46# define SO3_SHADOWDETAILTYPE_TEXTURE 32
47# define SO3_SHADOWTYPE_STENCIL_MODULATIVE 18
48# define SO3_SHADOWTYPE_STENCIL_ADDITIVE 17
49# define SO3_SHADOWTYPE_TEXTURE_MODULATIVE 34
50# define SO3_SHADOWTYPE_TEXTURE_ADDITIVE 33
51# define SO3_SHADOWTYPE_TEXTURE_ADDITIVE_INTEGRATED 37
52# define SO3_SHADOWTYPE_TEXTURE_MODULATIVE_INTEGRATED 38
55# define SO3_DEFAULT_SHADOW_CAMERA 0
56# define SO3_FOCUSED_SHADOW_CAMERA 1
57# define SO3_PLANE_SHADOW_CAMERA 2
58# define SO3_LISPSM_SHADOW_CAMERA 3
73 MMechostr(MSKDEBUG,
"SO3ShadowSetColor\n");
76 int color = MTOI(MMpull(m));
78 if ((s == NIL) || (color == NIL))
84 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
91 SShadowManager* currentShadow = scene->GetShadowManager();
93 currentShadow->SetColour(color);
111 MMechostr(MSKDEBUG,
"SO3ShadowGetColor\n");
121 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
129 SShadowManager* currentShadow = scene->GetShadowManager();
131 val = currentShadow->GetColour();
133 MMset(m, 0, ITOM(val));
150 MMechostr(MSKDEBUG,
"SO3ShadowSetSelfShadow\n");
153 int state = MMpull(m);
161 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
168 SShadowManager* currentShadow = scene->GetShadowManager();
170 if (MTOI(state) == 1)
171 currentShadow->SetSelfShadow(
true);
173 currentShadow->SetSelfShadow(
false);
175 MMset(m, 0, ITOM(1));
191 MMechostr(MSKDEBUG,
"SO3ShadowGetSelfShadow\n");
201 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
209 SShadowManager* currentShadow = scene->GetShadowManager();
211 if (currentShadow->GetSelfShadow())
214 MMset(m, 0, ITOM(val));
231 MMechostr(MSKDEBUG,
"SO3ShadowSetTextureSize\n");
236 if ((s == NIL) || (val == NIL))
242 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
251 SShadowManager* currentShadow = scene->GetShadowManager();
253 currentShadow->SetTextureSize(MTOI(val));
255 catch (Ogre::Exception &e)
257 MMechostr(MSKDEBUG,
"An exception has occurred: %s\n", e.what());
262 MMset(m, 0, ITOM(1));
278 MMechostr(MSKDEBUG,
"SO3ShadowGetTextureSize\n");
288 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
295 SShadowManager* currentShadow = scene->GetShadowManager();
298 int val = currentShadow->GetTextureSize();
299 MMset(m, 0, ITOM(val));
327 MMechostr(MSKDEBUG,
"SO3SceneSetShadowPreset\n");
330 int val = MTOI(MMpull(m));
332 if ((val == NIL) || (s == NIL))
338 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
347 if (val == SShadowManager::SO3_SHADOWS_STENCIL)
348 val = SShadowManager::SO3_SHADOWS_NONE;
350 scene->SetShadowType(
static_cast <SShadowManager::ShadowType
> (val));
352 catch (Ogre::Exception &e)
354 MMechostr(MSKDEBUG,
"An exception has occurred: %s\n", e.what());
358 MMset(m, 0, ITOM(1));
381 MMechostr(MSKDEBUG,
"SO3SceneGetShadowPreset\n");
391 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
398 MMset(m, 0, ITOM(scene->GetShadowType()));
418 MMechostr(MSKDEBUG,
"SO3SceneGetShadowLightingTechnique\n");
428 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
435 SShadowManager* currentShadow = scene->GetShadowManager();
437 MMset(m, 0, ITOM(currentShadow->GetLightingTechnique()));
461 MMechostr(MSKDEBUG,
"SO3SceneSetShadowLightingTechnique\n");
464 int tec = MTOI(MMpull(m));
466 if ((s == NIL) || (tec == NIL))
472 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
479 SShadowManager* currentShadow = scene->GetShadowManager();
481 currentShadow->SetLightingTechnique(
static_cast <SShadowManager::ShadowLightingType
> (tec));
483 MMset(m, 0, ITOM(1));
507 MMechostr(MSKDEBUG,
"SO3SceneSetShadowQuality\n");
510 int val = MTOI(MMpull(m));
512 if ((val == NIL) || (s == NIL))
518 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
526 scene->SetShadowQuality(
static_cast <SShadowManager::ShadowQuality
> (val));
528 catch (Ogre::Exception &e)
530 MMechostr(MSKDEBUG,
"An exception has occurred: %s\n", e.what());
534 MMset(m, 0, ITOM(1));
557 MMechostr(MSKDEBUG,
"SO3SceneGetShadowQuality\n");
567 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
574 MMset(m, 0, ITOM(scene->GetShadowQuality()));
591 MMechostr(MSKDEBUG,
"SO3SceneSetShadowTextureCount\n");
594 int val = MTOI(MMpull(m));
596 if ((s == NIL) || (val == NIL))
601 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
609 scene->O3SceneManager->setShadowTextureCount(val);
611 catch (Ogre::Exception &e)
613 MMechostr(MSKDEBUG,
"An exception has occurred: %s\n", e.what());
618 MMset(m, 0, ITOM(1));
633 MMechostr(MSKDEBUG,
"SO3SceneSetDefaultShadowCamera\n");
642 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
649 scene->SetShadowType(SShadowManager::SO3_SHADOWS_NONE);
651 MMset(m, 0, ITOM(1));
667 MMechostr(MSKDEBUG,
"SO3SceneSetFocusedShadowCamera\n");
676 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
684 scene->O3SceneManager->setShadowCameraSetup(Ogre::ShadowCameraSetupPtr(OGRE_NEW Ogre::FocusedShadowCameraSetup()));
687 catch (Ogre::Exception &e)
689 MMechostr(MSKDEBUG,
"An exception has occurred: %s\n", e.what());
693 MMset(m, 0, ITOM(1));
709 MMechostr(MSKDEBUG,
"SO3SceneSetLISPSMShadowCamera\n");
718 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
726 scene->O3SceneManager->setShadowCameraSetup(Ogre::ShadowCameraSetupPtr(OGRE_NEW Ogre::LiSPSMShadowCameraSetup()));
729 catch (Ogre::Exception &e)
731 MMechostr(MSKDEBUG,
"An exception has occurred: %s\n", e.what());
735 MMset(m, 0, ITOM(1));
753 MMechostr(MSKDEBUG,
"SO3SceneSetPlaneShadowCamera\n");
757 int vec = MTOP(MMpull(m));
759 if ((s == NIL) || (d == NIL))
764 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
773 Ogre::MovablePlane* plane = OGRE_NEW Ogre::MovablePlane(
"PlaneShadowCamera");
774 Ogre::Vector3 vecteur;
777 vecteur.NEGATIVE_UNIT_Y;
781 vecteur.x = MTOF(MMfetch(m, vec, 0));
782 vecteur.y = MTOF(MMfetch(m, vec, 1));
783 vecteur.z = MTOF(MMfetch(m, vec, 2));
786 plane->normal = vecteur;
791 catch (Ogre::Exception &e)
793 MMechostr(MSKDEBUG,
"An exception has occurred: %s\n", e.what());
798 MMset(m, 0, ITOM(1));
815 MMechostr(MSKDEBUG,
"SO3SceneSetShadowDirectionalLightExtrusionDistance\n");
826 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
833 float extr = (val == NIL) ? 0.0f : MTOF(val);
835 SShadowManager* currentShadow = scene->GetShadowManager();
837 currentShadow->SetShadowDirectionalLightExtrusionDistance(extr);
839 MMset(m, 0, ITOM(1));
856 MMechostr(MSKDEBUG,
"SO3SceneSetShadowFarDistance\n");
861 if ((s == NIL) || (val == NIL))
867 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
874 SShadowManager* currentShadow = scene->GetShadowManager();
876 currentShadow->SetShadowFarDistance(MTOF(val));
878 MMset(m, 0, ITOM(1));
895 MMechostr(MSKDEBUG,
"SO3SceneSetShadowTextureFadeStart\n");
900 if ((s == NIL) || (val == NIL))
906 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
913 SShadowManager* currentShadow = scene->GetShadowManager();
915 currentShadow->SetShadowFadeStart(MTOF(val));
917 MMset(m, 0, ITOM(1));
933 MMechostr(MSKDEBUG,
"SO3SceneGetShadowTextureFadeStart\n");
943 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
950 SShadowManager* currentShadow = scene->GetShadowManager();
952 MMset(m, 0, FTOM(currentShadow->GetShadowFadeStart()));
972 MMechostr(MSKDEBUG,
"SO3SceneSetShadowTextureFadeEnd\n");
977 if ((s == NIL) || (val == NIL))
983 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
990 SShadowManager* currentShadow = scene->GetShadowManager();
992 currentShadow->SetShadowFadeEnd(MTOF(val));
994 MMset(m, 0, ITOM(1));
1010 MMechostr(MSKDEBUG,
"SO3SceneGetShadowTextureFadeEnd\n");
1013 int s = MMget(m, 0);
1020 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
1027 SShadowManager* currentShadow = scene->GetShadowManager();
1029 MMset(m, 0, FTOM(currentShadow->GetShadowFadeEnd()));
1062 MMechostr(MSKDEBUG,
"SO3SceneGetShadowTechnique\n");
1065 int s = MMget(m, 0);
1071 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
1077 if (scene->O3SceneManager->getShadowTechnique() == Ogre::SHADOWTYPE_NONE)
1078 MMset(m, 0, ITOM(SO3_SHADOWTYPE_NONE));
1079 else if (scene->O3SceneManager->getShadowTechnique() == Ogre::SHADOWDETAILTYPE_ADDITIVE)
1080 MMset(m, 0, ITOM(SO3_SHADOWDETAILTYPE_ADDITIVE));
1081 else if (scene->O3SceneManager->getShadowTechnique() == Ogre::SHADOWDETAILTYPE_MODULATIVE)
1082 MMset(m, 0, ITOM(SO3_SHADOWDETAILTYPE_MODULATIVE));
1083 else if (scene->O3SceneManager->getShadowTechnique() == Ogre::SHADOWDETAILTYPE_STENCIL)
1084 MMset(m, 0, ITOM(SO3_SHADOWDETAILTYPE_STENCIL));
1085 else if (scene->O3SceneManager->getShadowTechnique() == Ogre::SHADOWDETAILTYPE_TEXTURE)
1086 MMset(m, 0, ITOM(SO3_SHADOWDETAILTYPE_TEXTURE));
1087 else if (scene->O3SceneManager->getShadowTechnique() == Ogre::SHADOWTYPE_STENCIL_MODULATIVE)
1088 MMset(m, 0, ITOM(SO3_SHADOWTYPE_STENCIL_MODULATIVE));
1089 else if (scene->O3SceneManager->getShadowTechnique() == Ogre::SHADOWTYPE_STENCIL_ADDITIVE)
1090 MMset(m, 0, ITOM(SO3_SHADOWTYPE_STENCIL_ADDITIVE));
1091 else if (scene->O3SceneManager->getShadowTechnique() == Ogre::SHADOWTYPE_TEXTURE_MODULATIVE)
1092 MMset(m, 0, ITOM(SO3_SHADOWTYPE_TEXTURE_MODULATIVE));
1093 else if (scene->O3SceneManager->getShadowTechnique() == Ogre::SHADOWTYPE_TEXTURE_ADDITIVE)
1094 MMset(m, 0, ITOM(SO3_SHADOWTYPE_TEXTURE_ADDITIVE));
1095 else if (scene->O3SceneManager->getShadowTechnique() == Ogre::SHADOWTYPE_TEXTURE_ADDITIVE_INTEGRATED)
1096 MMset(m, 0, ITOM(SO3_SHADOWTYPE_TEXTURE_ADDITIVE_INTEGRATED));
1097 else if (scene->O3SceneManager->getShadowTechnique() == Ogre::SHADOWDETAILTYPE_ADDITIVE)
1098 MMset(m, 0, ITOM(SO3_SHADOWDETAILTYPE_ADDITIVE));
1099 else if (scene->O3SceneManager->getShadowTechnique() == Ogre::SHADOWTYPE_TEXTURE_MODULATIVE_INTEGRATED)
1100 MMset(m, 0, ITOM(SO3_SHADOWTYPE_TEXTURE_MODULATIVE_INTEGRATED));
1119 MMechostr(MSKDEBUG,
"SO3SceneSetShadowDirLightTextureOffset\n");
1122 int val = MMpull(m);
1123 int s = MMget(m, 0);
1124 if ((s == NIL) || (val == NIL))
1129 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
1135 scene->O3SceneManager->setShadowDirLightTextureOffset(MTOF(val));
1136 MMset(m, 0, ITOM(1));
1155 MMechostr(MSKDEBUG,
"SO3SceneGetShadowCameraSetup\n");
1158 int s = MMget(m, 0);
1164 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
1171 MMset(m, 0, ITOM(val));
1187 MMechostr(MSKDEBUG,
"SO3SceneGetShadowDirectionalLightExtrusionDistance\n");
1190 int s = MMget(m, 0);
1197 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
1204 SShadowManager* currentShadow = scene->GetShadowManager();
1207 float val = currentShadow->GetShadowDirectionalLightExtrusionDistance();
1208 MMset(m, 0, FTOM(val));
1230 MMechostr(MSKDEBUG,
"SO3SceneGetShadowFarDistance\n");
1233 int s = MMget(m, 0);
1239 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
1246 SShadowManager* currentShadow = scene->GetShadowManager();
1248 MMset(m, 0, FTOM(currentShadow->GetShadowFarDistance()));
1267 MMechostr(MSKDEBUG,
"SO3SceneGetShadowDirLightTextureOffset\n");
1270 int s = MMget(m, 0);
1276 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
1282 float val = scene->O3SceneManager->getShadowDirLightTextureOffset();
1284 MMset(m, 0, FTOM(val));
1300 MMechostr(MSKDEBUG,
"SO3SceneGetShadowTextureCount\n");
1303 int s = MMget(m, 0);
1309 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
1315 int val = (int)scene->O3SceneManager->getShadowTextureConfigList().size();
1316 MMset(m, 0, ITOM(val));
1347 MMechostr(MSKDEBUG,
"SO3SceneSetShadowTechnique\n");
1350 int tec = MTOI(MMpull(m));
1351 int s = MMget(m, 0);
1352 if ((s == NIL) || (tec == NIL))
1357 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
1381 if (((Ogre::ShadowTechnique)tec == SO3_SHADOWTYPE_STENCIL_ADDITIVE || (Ogre::ShadowTechnique)tec == SO3_SHADOWTYPE_STENCIL_MODULATIVE))
1382 tec = SO3_SHADOWTYPE_NONE;
1384 scene->O3SceneManager->setShadowTechnique((Ogre::ShadowTechnique)tec);
1392 MMset(m, 0, ITOM(1));
1409 MMechostr(MSKDEBUG,
"SO3SceneSetShadowCaster\n");
1413 int s = MMget(m, 0);
1414 if ((s == NIL) || (c == NIL))
1420 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
1423 Ogre::MaterialPtr mCaster;
1425 mCaster = scene->O3MaterialManager->getByName(MMstartstr(m, MTOP(c)));
1431 scene->O3SceneManager->setShadowTextureCasterMaterial(mCaster);
1432 scene->materialCaster = mCaster;
1434 catch (Ogre::Exception &e)
1436 MMechostr(MSKDEBUG,
"An exception has occurred: %s\n", e.what());
1441 MMset(m, 0, ITOM(1));
1458 MMechostr(MSKDEBUG,
"SO3SceneSetShadowReceiver\n");
1462 int s = MMget(m, 0);
1463 if ((s == NIL) || (r == NIL))
1469 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
1472 Ogre::MaterialPtr mReceiver;
1475 mReceiver = scene->O3MaterialManager->getByName(MMstartstr(m, MTOP(r)));
1481 scene->O3SceneManager->setShadowTextureReceiverMaterial(mReceiver);
1482 scene->materialReceiver = mReceiver;
1485 catch (Ogre::Exception &e)
1487 MMechostr(MSKDEBUG,
"An exception has occurred: %s\n", e.what());
1492 MMset(m, 0, ITOM(1));
1508 MMechostr(MSKDEBUG,
"SO3SceneGetShadowCaster\n");
1517 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
1520 if (!scene->materialCaster)
1526 return Mpushstrbloc(m, (
char*)(scene->materialCaster->getName().c_str()));
1528 catch (Ogre::Exception &e)
1530 MMechostr(MSKDEBUG,
"An exception has occurred: %s\n", e.what());
1549 MMechostr(MSKDEBUG,
"SO3SceneGetShadowReceiver\n");
1559 SScene* scene = MMgetPointer<SScene*>(m, MTOP(s));
1562 if (!scene->materialReceiver)
1567 return Mpushstrbloc(m, (
char*)(scene->materialReceiver->getName().c_str()));
1570 catch (Ogre::Exception &e)
1572 MMechostr(MSKDEBUG,
"An exception has occurred: %s\n", e.what());
1581 {
"SO3_SHADOWTYPE_NONE", TYPVAR,
"I", SCOL_TYPTYPE(SO3_SHADOWTYPE_NONE) },
1582 {
"SO3_SHADOWDETAILTYPE_ADDITIVE", TYPVAR,
"I", SCOL_TYPTYPE(SO3_SHADOWDETAILTYPE_ADDITIVE) },
1583 {
"SO3_SHADOWDETAILTYPE_MODULATIVE", TYPVAR,
"I", SCOL_TYPTYPE(SO3_SHADOWDETAILTYPE_MODULATIVE) },
1584 {
"SO3_SHADOWDETAILTYPE_INTEGRATED", TYPVAR,
"I", SCOL_TYPTYPE(SO3_SHADOWDETAILTYPE_INTEGRATED) },
1585 {
"SO3_SHADOWDETAILTYPE_STENCIL", TYPVAR,
"I", SCOL_TYPTYPE(SO3_SHADOWDETAILTYPE_STENCIL) },
1586 {
"SO3_SHADOWDETAILTYPE_TEXTURE", TYPVAR,
"I", SCOL_TYPTYPE(SO3_SHADOWDETAILTYPE_TEXTURE) },
1587 {
"SO3_SHADOWTYPE_STENCIL_MODULATIVE", TYPVAR,
"I", SCOL_TYPTYPE(SO3_SHADOWTYPE_STENCIL_MODULATIVE) },
1588 {
"SO3_SHADOWTYPE_STENCIL_ADDITIVE", TYPVAR,
"I", SCOL_TYPTYPE(SO3_SHADOWTYPE_STENCIL_ADDITIVE) },
1589 {
"SO3_SHADOWTYPE_TEXTURE_MODULATIVE", TYPVAR,
"I", SCOL_TYPTYPE(SO3_SHADOWTYPE_TEXTURE_MODULATIVE) },
1590 {
"SO3_SHADOWTYPE_TEXTURE_ADDITIVE", TYPVAR,
"I", SCOL_TYPTYPE(SO3_SHADOWTYPE_TEXTURE_ADDITIVE) },
1591 {
"SO3_SHADOWTYPE_TEXTURE_ADDITIVE_INTEGRATED", TYPVAR,
"I", SCOL_TYPTYPE(SO3_SHADOWTYPE_TEXTURE_ADDITIVE_INTEGRATED) },
1592 {
"SO3_SHADOWTYPE_TEXTURE_MODULATIVE_INTEGRATED", TYPVAR,
"I", SCOL_TYPTYPE(SO3_SHADOWTYPE_TEXTURE_MODULATIVE_INTEGRATED) },
1593 {
"SO3_DEFAULT_SHADOW_CAMERA", TYPVAR,
"I", SCOL_TYPTYPE(SO3_DEFAULT_SHADOW_CAMERA) },
1594 {
"SO3_FOCUSED_SHADOW_CAMERA", TYPVAR,
"I", SCOL_TYPTYPE(SO3_FOCUSED_SHADOW_CAMERA) },
1595 {
"SO3_PLANE_SHADOW_CAMERA", TYPVAR,
"I", SCOL_TYPTYPE(SO3_PLANE_SHADOW_CAMERA) },
1596 {
"SO3_LISPSM_SHADOW_CAMERA", TYPVAR,
"I", SCOL_TYPTYPE(SO3_LISPSM_SHADOW_CAMERA) },
1597 {
"SO3_SHADOWS_PRESET_NONE", TYPVAR,
"I", SCOL_TYPTYPE(SShadowManager::SO3_SHADOWS_NONE) },
1598 {
"SO3_SHADOWS_PRESET_STENCIL", TYPVAR,
"I", SCOL_TYPTYPE(SShadowManager::SO3_SHADOWS_STENCIL) },
1599 {
"SO3_SHADOWS_PRESET_LISPSM", TYPVAR,
"I", SCOL_TYPTYPE(SShadowManager::SO3_SHADOWS_LISPSM) },
1600 {
"SO3_SHADOWS_PRESET_CSM", TYPVAR,
"I", SCOL_TYPTYPE(SShadowManager::SO3_SHADOWS_CSM) },
1601 {
"SO3_SHADOWS_PRESET_PSSM", TYPVAR,
"I", SCOL_TYPTYPE(SShadowManager::SO3_SHADOWS_PSSM) },
1602 {
"SO3_SHADOWS_PRESET_DEFERRED", TYPVAR,
"I", SCOL_TYPTYPE(SShadowManager::SO3_SHADOWS_DEFERRED) },
1603 {
"SO3_ADDITIVE_SHADOWS_PRESET_TECHNIQUE", TYPVAR,
"I", SCOL_TYPTYPE(SShadowManager::SO3_ADDITIVE_SHADOWS_LIGHTING) },
1604 {
"SO3_MODULATIVE_SHADOWS_PRESET_TECHNIQUE", TYPVAR,
"I", SCOL_TYPTYPE(SShadowManager::SO3_MODULATIVE_SHADOWS_LIGHTING) },
1605 {
"SO3_SHADOWS_QUALITY_VERYLOW", TYPVAR,
"I", SCOL_TYPTYPE(SShadowManager::SO3_SHADOWS_QUALITY_VERYLOW) },
1606 {
"SO3_SHADOWS_QUALITY_LOW", TYPVAR,
"I", SCOL_TYPTYPE(SShadowManager::SO3_SHADOWS_QUALITY_LOW) },
1607 {
"SO3_SHADOWS_QUALITY_MEDIUM", TYPVAR,
"I", SCOL_TYPTYPE(SShadowManager::SO3_SHADOWS_QUALITY_MEDIUM) },
1608 {
"SO3_SHADOWS_QUALITY_HIGH", TYPVAR,
"I", SCOL_TYPTYPE(SShadowManager::SO3_SHADOWS_QUALITY_HIGH) },
1609 {
"SO3_SHADOWS_QUALITY_VERYHIGH", TYPVAR,
"I", SCOL_TYPTYPE(SShadowManager::SO3_SHADOWS_QUALITY_VERYHIGH) },
NativeDefinition natSO3Lighting[]
int SCOLfreeLighting()
free the SO3Engine Viewport function
int SCOLloadLighting(mmachine m, cbmachine w)
Load the SO3Engine Shadows functions.
MMechostr(MSKDEBUG, " > Start loading Plugin SO3Engine dll\n")
SCOL_EXPORT int cbmachine w
int SO3SceneSetShadowLightingTechnique(mmachine m)
SO3SceneSetShadowLightingTechnique : function to set the shadows technique.
int SO3SceneGetShadowTextureCount(mmachine m)
SO3SceneGetShadowTextureCount : function to get the shadows texture count.
int SO3SceneSetShadowQuality(mmachine m)
SO3SceneSetShadowQuality : function to defines shadow quality to use with current shadow technique Th...
int SO3SceneSetLISPSMShadowCamera(mmachine m)
SO3SceneSetLISPSMShadowCamera : function to set LISPSM shadow camera.
int SO3SceneGetShadowQuality(mmachine m)
SO3SceneGetShadowQuality : function to get the shadow quality in use This works only with texture sha...
int SO3SceneGetSelfShadowTexture(mmachine m)
SO3SceneGetSelfShadowTexture : function to get the self shadow texture.
int SO3SceneSetShadowTechnique(mmachine m)
SO3SceneSetShadowTechnique : function to get the shadows technique.
int SO3SceneSetShadowReceiver(mmachine m)
SO3SceneSetShadowReceiver : function to defines shadows receiver.
int SO3SceneSetShadowPreset(mmachine m)
SO3SceneSetShadowPreset : function to defines a preset shadow subsystem to use.
int SO3SceneGetShadowTextureFadeEnd(mmachine m)
SO3SceneGetShadowTextureFadeEnd : function to get the shadows fade end distance.
int SO3SceneGetShadowReceiver(mmachine m)
SO3SceneGetShadowReceiver : function to retrieve shadows receiver.
int SO3SceneSetShadowFarDistance(mmachine m)
SO3SceneSetShadowFarDistance : function to defines distance maximum for shadows.
int SO3SceneSetShadowTextureSize(mmachine m)
SO3SceneSetShadowTextureSize : function to defines shadow texture size.
int SO3SceneSetShadowColor(mmachine m)
SO3SceneSetShadowColor : function to defines shadow color of the scene.
int SO3SceneSetDefaultShadowCamera(mmachine m)
SO3SceneSetDefaultShadowCamera : function to defines default shadow camera.
int SO3SceneSetShadowTextureCount(mmachine m)
SO3SceneSetShadowTextureCount : function to defines shadow texture count in the scene.
int SO3SceneGetShadowTechnique(mmachine m)
SO3SceneGetShadowTechnique : function to defines technique for shadows.
int SO3SceneSetShadowDirLightTextureOffset(mmachine m)
SO3SceneSetShadowDirLightTextureOffset : function to defines texture offset.
int SO3SceneSetShadowTextureFadeEnd(mmachine m)
SO3SceneSetShadowTextureFadeEnd : function to defines fade end distance for shadows.
int SO3SceneSetShadowDirectionalLightExtrusionDistance(mmachine m)
SO3SceneSetShadowDirectionalLightExtrusionDistance : function to defines shadow directional light ext...
int SO3SceneGetShadowDirLightTextureOffset(mmachine m)
SO3SceneGetShadowDirLightTextureOffset : function to get the shadows direction light texture offset.
int SO3SceneSetShadowTextureFadeStart(mmachine m)
SO3SceneSetShadowTextureFadeStart : function to defines fade start distance for shadows.
int SO3SceneGetShadowTextureSize(mmachine m)
SO3SceneGetShadowTextureSize : function to get the shadow texture size.
int SO3SceneSetFocusedShadowCamera(mmachine m)
SO3SceneSetFocusedShadowCamera : function to set focused shadow camera.
int SO3SceneGetShadowTextureFadeStart(mmachine m)
SO3SceneGetShadowTextureFadeStart : function to get the shadows fade start distance.
int SO3SceneGetShadowPreset(mmachine m)
SO3SceneGetShadowPreset : function to get the shadow subsystem in use.
int SO3SceneGetShadowCameraSetup(mmachine m)
SO3SceneGetShadowCameraSetup : function to get the shadow camera setup mode.
int SO3SceneSetShadowCaster(mmachine m)
SO3SceneSetShadowCaster : function to defines shadows caster.
int SO3SceneGetShadowFarDistance(mmachine m)
SO3SceneGetShadowFarDistance : function to get the shadows far distance.
int SO3SceneSetPlaneShadowCamera(mmachine m)
SO3SceneSetPlaneShadowCamera : function to set Plane shadow camera.
int SO3SceneGetShadowColor(mmachine m)
SO3SceneGetShadowColor : function to get the shadow color of the scene.
int SO3SceneGetShadowDirectionalLightExtrusionDistance(mmachine m)
SO3SceneGetShadowDirectionalLightExtrusionDistance : function to get the shadows direction light extr...
int SO3SceneGetShadowLightingTechnique(mmachine m)
SO3SceneGetShadowLightingTechnique : function to get technique for shadows.
int SO3SceneSetSelfShadowTexture(mmachine m)
SO3SceneSetSelfShadowTexture : function to defines self shadow texture.
int SO3SceneGetShadowCaster(mmachine m)
SO3SceneGetShadowCaster : function to retrieve shadows caster material name.