forked from bartvdbraak/blender
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r22075:22099
This commit is contained in:
commit
0b3fd395ef
@ -53,7 +53,7 @@ static void do_luma_matte(bNode *node, float *out, float *in)
|
||||
if(in[0]>c->t1) {
|
||||
alpha=1.0;
|
||||
}
|
||||
else if(in[1]<c->t2){
|
||||
else if(in[0]<c->t2){
|
||||
alpha=0.0;
|
||||
}
|
||||
else {/*blend */
|
||||
@ -99,7 +99,7 @@ static void node_composit_init_luma_matte(bNode *node)
|
||||
{
|
||||
NodeChroma *c= MEM_callocN(sizeof(NodeChroma), "node chroma");
|
||||
node->storage=c;
|
||||
c->t1= 0.0f;
|
||||
c->t1= 1.0f;
|
||||
c->t2= 0.0f;
|
||||
};
|
||||
|
||||
|
@ -406,7 +406,6 @@ extern "C" void StartKetsjiShell(struct bContext *C, struct ARegion *ar, int alw
|
||||
sceneconverter->ConvertScene(
|
||||
startscene,
|
||||
dictionaryobject,
|
||||
keyboarddevice,
|
||||
rendertools,
|
||||
canvas);
|
||||
ketsjiengine->AddScene(startscene);
|
||||
@ -718,7 +717,6 @@ extern "C" void StartKetsjiShellSimulation(struct wmWindow *win,
|
||||
sceneconverter->ConvertScene(
|
||||
startscene,
|
||||
dictionaryobject,
|
||||
keyboarddevice,
|
||||
rendertools,
|
||||
canvas);
|
||||
ketsjiengine->AddScene(startscene);
|
||||
|
@ -323,8 +323,7 @@ bool ConvertMaterial(
|
||||
MTFace* tface,
|
||||
const char *tfaceName,
|
||||
MFace* mface,
|
||||
MCol* mmcol,
|
||||
int lightlayer,
|
||||
MCol* mmcol,
|
||||
MTF_localLayer *layers,
|
||||
bool glslmat)
|
||||
{
|
||||
@ -720,12 +719,12 @@ bool ConvertMaterial(
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, RAS_IRenderTools* rendertools, KX_Scene* scene, KX_BlenderSceneConverter *converter)
|
||||
/* blenderobj can be NULL, make sure its checked for */
|
||||
RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, KX_Scene* scene, KX_BlenderSceneConverter *converter)
|
||||
{
|
||||
RAS_MeshObject *meshobj;
|
||||
bool skinMesh = false;
|
||||
int lightlayer = blenderobj->lay;
|
||||
int lightlayer = blenderobj ? blenderobj->lay:(1<<20)-1; // all layers if no object.
|
||||
|
||||
if ((meshobj = converter->FindGameMesh(mesh/*, ob->lay*/)) != NULL)
|
||||
return meshobj;
|
||||
@ -748,7 +747,7 @@ RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, RAS_IRenderTools*
|
||||
}
|
||||
|
||||
// Determine if we need to make a skinned mesh
|
||||
if (mesh->dvert || mesh->key || ((blenderobj->gameflag & OB_SOFT_BODY) != 0) || BL_ModifierDeformer::HasCompatibleDeformer(blenderobj))
|
||||
if (blenderobj && (mesh->dvert || mesh->key || ((blenderobj->gameflag & OB_SOFT_BODY) != 0) || BL_ModifierDeformer::HasCompatibleDeformer(blenderobj)))
|
||||
{
|
||||
meshobj = new BL_SkinMeshObject(mesh);
|
||||
skinMesh = true;
|
||||
@ -843,9 +842,8 @@ RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, RAS_IRenderTools*
|
||||
tan3 = tangent[f*4 + 3];
|
||||
}
|
||||
|
||||
/* get material */
|
||||
ma = give_current_material(blenderobj, mface->mat_nr+1);
|
||||
|
||||
ma = give_current_material(blenderobj, mface->mat_nr+1);
|
||||
|
||||
{
|
||||
bool visible = true;
|
||||
bool twoside = false;
|
||||
@ -859,7 +857,7 @@ RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, RAS_IRenderTools*
|
||||
if (!bl_mat)
|
||||
bl_mat = new BL_Material();
|
||||
ConvertMaterial(bl_mat, ma, tface, tfaceName, mface, mcol,
|
||||
lightlayer, layers, converter->GetGLSLMaterials());
|
||||
layers, converter->GetGLSLMaterials());
|
||||
|
||||
visible = ((bl_mat->ras_mode & POLY_VIS)!=0);
|
||||
collider = ((bl_mat->ras_mode & COLLIDER)!=0);
|
||||
@ -882,7 +880,7 @@ RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, RAS_IRenderTools*
|
||||
if (kx_blmat == NULL)
|
||||
kx_blmat = new KX_BlenderMaterial();
|
||||
|
||||
kx_blmat->Initialize(scene, bl_mat, skinMesh, lightlayer);
|
||||
kx_blmat->Initialize(scene, bl_mat, skinMesh);
|
||||
polymat = static_cast<RAS_IPolyMaterial*>(kx_blmat);
|
||||
}
|
||||
else {
|
||||
@ -1066,8 +1064,7 @@ RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, RAS_IRenderTools*
|
||||
|
||||
|
||||
|
||||
static PHY_MaterialProps *CreateMaterialFromBlenderObject(struct Object* blenderobject,
|
||||
KX_Scene *kxscene)
|
||||
static PHY_MaterialProps *CreateMaterialFromBlenderObject(struct Object* blenderobject)
|
||||
{
|
||||
PHY_MaterialProps *materialProps = new PHY_MaterialProps;
|
||||
|
||||
@ -1100,8 +1097,7 @@ static PHY_MaterialProps *CreateMaterialFromBlenderObject(struct Object* blender
|
||||
return materialProps;
|
||||
}
|
||||
|
||||
static PHY_ShapeProps *CreateShapePropsFromBlenderObject(struct Object* blenderobject,
|
||||
KX_Scene *kxscene)
|
||||
static PHY_ShapeProps *CreateShapePropsFromBlenderObject(struct Object* blenderobject)
|
||||
{
|
||||
PHY_ShapeProps *shapeProps = new PHY_ShapeProps;
|
||||
|
||||
@ -1396,12 +1392,11 @@ void BL_CreatePhysicsObjectNew(KX_GameObject* gameobj,
|
||||
|
||||
|
||||
PHY_ShapeProps* shapeprops =
|
||||
CreateShapePropsFromBlenderObject(blenderobject,
|
||||
kxscene);
|
||||
CreateShapePropsFromBlenderObject(blenderobject);
|
||||
|
||||
|
||||
PHY_MaterialProps* smmaterial =
|
||||
CreateMaterialFromBlenderObject(blenderobject, kxscene);
|
||||
CreateMaterialFromBlenderObject(blenderobject);
|
||||
|
||||
KX_ObjectProperties objprop;
|
||||
objprop.m_lockXaxis = (blenderobject->gameflag2 & OB_LOCK_RIGID_BODY_X_AXIS) !=0;
|
||||
@ -1719,7 +1714,7 @@ static KX_GameObject *gameobject_from_blenderobject(
|
||||
Mesh* mesh = static_cast<Mesh*>(ob->data);
|
||||
float center[3], extents[3];
|
||||
float radius = my_boundbox_mesh((Mesh*) ob->data, center, extents);
|
||||
RAS_MeshObject* meshobj = BL_ConvertMesh(mesh,ob,rendertools,kxscene,converter);
|
||||
RAS_MeshObject* meshobj = BL_ConvertMesh(mesh,ob,kxscene,converter);
|
||||
|
||||
// needed for python scripting
|
||||
kxscene->GetLogicManager()->RegisterMeshName(meshobj->GetName(),meshobj);
|
||||
@ -1902,7 +1897,6 @@ void BL_ConvertBlenderObjects(struct Main* maggie,
|
||||
KX_KetsjiEngine* ketsjiEngine,
|
||||
e_PhysicsEngine physics_engine,
|
||||
PyObject* pythondictionary,
|
||||
SCA_IInputDevice* keydev,
|
||||
RAS_IRenderTools* rendertools,
|
||||
RAS_ICanvas* canvas,
|
||||
KX_BlenderSceneConverter* converter,
|
||||
@ -2671,7 +2665,7 @@ void BL_ConvertBlenderObjects(struct Main* maggie,
|
||||
struct Object* blenderobj = converter->FindBlenderObject(gameobj);
|
||||
int layerMask = (groupobj.find(blenderobj) == groupobj.end()) ? activeLayerBitInfo : 0;
|
||||
bool isInActiveLayer = (blenderobj->lay & layerMask)!=0;
|
||||
BL_ConvertSensors(blenderobj,gameobj,logicmgr,kxscene,ketsjiEngine,keydev,layerMask,isInActiveLayer,canvas,converter);
|
||||
BL_ConvertSensors(blenderobj,gameobj,logicmgr,kxscene,ketsjiEngine,layerMask,isInActiveLayer,canvas,converter);
|
||||
// set the init state to all objects
|
||||
gameobj->SetInitState((blenderobj->init_state)?blenderobj->init_state:blenderobj->state);
|
||||
}
|
||||
@ -2709,4 +2703,3 @@ void BL_ConvertBlenderObjects(struct Main* maggie,
|
||||
RAS_BucketManager *bucketmanager = kxscene->GetBucketManager();
|
||||
bucketmanager->OptimizeBuckets(distance);
|
||||
}
|
||||
|
||||
|
@ -34,14 +34,13 @@
|
||||
#include "KX_Python.h"
|
||||
#include "KX_PhysicsEngineEnums.h"
|
||||
|
||||
class RAS_MeshObject* BL_ConvertMesh(struct Mesh* mesh,struct Object* lightobj,class RAS_IRenderTools* rendertools,class KX_Scene* scene, class KX_BlenderSceneConverter *converter);
|
||||
class RAS_MeshObject* BL_ConvertMesh(struct Mesh* mesh,struct Object* lightobj,class KX_Scene* scene, class KX_BlenderSceneConverter *converter);
|
||||
|
||||
void BL_ConvertBlenderObjects(struct Main* maggie,
|
||||
class KX_Scene* kxscene,
|
||||
class KX_KetsjiEngine* ketsjiEngine,
|
||||
e_PhysicsEngine physics_engine,
|
||||
PyObject* pythondictionary,
|
||||
class SCA_IInputDevice* keydev,
|
||||
class RAS_IRenderTools* rendertools,
|
||||
class RAS_ICanvas* canvas,
|
||||
class KX_BlenderSceneConverter* sceneconverter,
|
||||
|
@ -244,7 +244,6 @@ struct BlenderDebugDraw : public btIDebugDraw
|
||||
|
||||
void KX_BlenderSceneConverter::ConvertScene(class KX_Scene* destinationscene,
|
||||
PyObject* dictobj,
|
||||
class SCA_IInputDevice* keyinputdev,
|
||||
class RAS_IRenderTools* rendertools,
|
||||
class RAS_ICanvas* canvas)
|
||||
{
|
||||
@ -334,7 +333,6 @@ void KX_BlenderSceneConverter::ConvertScene(class KX_Scene* destinationscene,
|
||||
m_ketsjiEngine,
|
||||
physics_engine,
|
||||
dictobj,
|
||||
keyinputdev,
|
||||
rendertools,
|
||||
canvas,
|
||||
this,
|
||||
|
@ -94,7 +94,6 @@ public:
|
||||
virtual void ConvertScene(
|
||||
class KX_Scene* destinationscene,
|
||||
PyObject* dictobj,
|
||||
class SCA_IInputDevice* keyinputdev,
|
||||
class RAS_IRenderTools* rendertools,
|
||||
class RAS_ICanvas* canvas
|
||||
);
|
||||
@ -149,6 +148,9 @@ public:
|
||||
virtual bool GetGLSLMaterials();
|
||||
|
||||
struct Scene* GetBlenderSceneForName(const STR_String& name);
|
||||
|
||||
struct Main* GetMain() { return m_maggie; };
|
||||
|
||||
};
|
||||
|
||||
#endif //__KX_BLENDERSCENECONVERTER_H
|
||||
|
@ -629,7 +629,6 @@ void BL_ConvertActuators(char* maggiename,
|
||||
tmpmesh = BL_ConvertMesh(
|
||||
editobact->me,
|
||||
blenderobject,
|
||||
rendertools,
|
||||
scene,
|
||||
converter
|
||||
);
|
||||
|
@ -28,6 +28,7 @@
|
||||
* Conversion of Blender data blocks to KX sensor system
|
||||
*/
|
||||
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
@ -94,7 +95,6 @@ void BL_ConvertSensors(struct Object* blenderobject,
|
||||
SCA_LogicManager* logicmgr,
|
||||
KX_Scene* kxscene,
|
||||
KX_KetsjiEngine* kxengine,
|
||||
SCA_IInputDevice* keydev,
|
||||
int activeLayerBitInfo,
|
||||
bool isInActiveLayer,
|
||||
RAS_ICanvas* canvas,
|
||||
@ -444,9 +444,8 @@ void BL_ConvertSensors(struct Object* blenderobject,
|
||||
blendernearsensor->dist,
|
||||
blendernearsensor->resetdist,
|
||||
bFindMaterial,
|
||||
nearpropertyname,kxscene,
|
||||
physCtrl
|
||||
);
|
||||
nearpropertyname,
|
||||
physCtrl);
|
||||
|
||||
}
|
||||
break;
|
||||
@ -648,8 +647,7 @@ void BL_ConvertSensors(struct Object* blenderobject,
|
||||
smallmargin,
|
||||
largemargin,
|
||||
bFindMaterial,
|
||||
radarpropertyname,
|
||||
kxscene);
|
||||
radarpropertyname);
|
||||
|
||||
}
|
||||
|
||||
|
@ -34,7 +34,6 @@ void BL_ConvertSensors(struct Object* blenderobject,
|
||||
class SCA_LogicManager* logicmgr,
|
||||
class KX_Scene* kxscene,
|
||||
class KX_KetsjiEngine* kxengine,
|
||||
class SCA_IInputDevice* keydev,
|
||||
int activeLayerBitInfo,
|
||||
bool isInActiveLayer,
|
||||
class RAS_ICanvas* canvas,
|
||||
|
@ -543,13 +543,6 @@ CValue* CValue::FindIdentifier(const STR_String& identifiername)
|
||||
|
||||
#ifndef NO_EXP_PYTHON_EMBEDDING
|
||||
|
||||
|
||||
static PyMethodDef CValueMethods[] =
|
||||
{
|
||||
//{ "new", CValue::PyMake , METH_VARARGS},
|
||||
{ NULL,NULL} // Sentinel
|
||||
};
|
||||
|
||||
PyAttributeDef CValue::Attributes[] = {
|
||||
KX_PYATTRIBUTE_RO_FUNCTION("name", CValue, pyattr_get_name),
|
||||
{ NULL } //Sentinel
|
||||
|
@ -708,10 +708,8 @@ bool GPG_Application::startEngine(void)
|
||||
loadGamePythonConfig(m_pyGlobalDictString, m_pyGlobalDictString_Length);
|
||||
|
||||
m_sceneconverter->ConvertScene(
|
||||
startscenename,
|
||||
startscene,
|
||||
dictionaryobject,
|
||||
m_keyboard,
|
||||
m_rendertools,
|
||||
m_canvas);
|
||||
m_ketsjiengine->AddScene(startscene);
|
||||
|
@ -59,8 +59,7 @@ KX_BlenderMaterial::KX_BlenderMaterial()
|
||||
void KX_BlenderMaterial::Initialize(
|
||||
KX_Scene *scene,
|
||||
BL_Material *data,
|
||||
bool skin,
|
||||
int lightlayer)
|
||||
bool skin)
|
||||
{
|
||||
RAS_IPolyMaterial::Initialize(
|
||||
data->texname[0],
|
||||
@ -72,8 +71,7 @@ void KX_BlenderMaterial::Initialize(
|
||||
data->mode,
|
||||
data->transp,
|
||||
((data->ras_mode &ALPHA)!=0),
|
||||
((data->ras_mode &ZSORT)!=0),
|
||||
lightlayer
|
||||
((data->ras_mode &ZSORT)!=0)
|
||||
);
|
||||
mMaterial = data;
|
||||
mShader = 0;
|
||||
@ -776,6 +774,7 @@ void KX_BlenderMaterial::UpdateIPO(
|
||||
mMaterial->hard = (float)(hard);
|
||||
mMaterial->emit = (float)(emit);
|
||||
mMaterial->spec_f = (float)(spec);
|
||||
mMaterial->ref = (float)(ref);
|
||||
}
|
||||
|
||||
|
||||
|
@ -27,8 +27,7 @@ public:
|
||||
void Initialize(
|
||||
class KX_Scene* scene,
|
||||
BL_Material* mat,
|
||||
bool skin,
|
||||
int lightlayer
|
||||
bool skin
|
||||
);
|
||||
|
||||
virtual ~KX_BlenderMaterial();
|
||||
|
@ -50,7 +50,6 @@ public:
|
||||
virtual void ConvertScene(
|
||||
class KX_Scene* destinationscene,
|
||||
PyObject* dictobj,
|
||||
class SCA_IInputDevice* keyinputdev,
|
||||
class RAS_IRenderTools* rendertools,
|
||||
class RAS_ICanvas* canvas)=0;
|
||||
|
||||
|
@ -1601,7 +1601,6 @@ KX_Scene* KX_KetsjiEngine::CreateScene(const STR_String& scenename)
|
||||
|
||||
m_sceneconverter->ConvertScene(tmpscene,
|
||||
m_pythondictionary,
|
||||
m_keyboarddevice,
|
||||
m_rendertools,
|
||||
m_canvas);
|
||||
|
||||
|
@ -47,14 +47,12 @@ KX_NearSensor::KX_NearSensor(SCA_EventManager* eventmgr,
|
||||
float resetmargin,
|
||||
bool bFindMaterial,
|
||||
const STR_String& touchedpropname,
|
||||
class KX_Scene* scene,
|
||||
PHY_IPhysicsController* ctrl)
|
||||
:KX_TouchSensor(eventmgr,
|
||||
gameobj,
|
||||
bFindMaterial,
|
||||
false,
|
||||
touchedpropname
|
||||
/*, scene */),
|
||||
touchedpropname),
|
||||
m_Margin(margin),
|
||||
m_ResetMargin(resetmargin)
|
||||
|
||||
|
@ -44,7 +44,7 @@ class KX_NearSensor : public KX_TouchSensor
|
||||
protected:
|
||||
float m_Margin;
|
||||
float m_ResetMargin;
|
||||
KX_Scene* m_scene;
|
||||
|
||||
KX_ClientObjectInfo* m_client_info;
|
||||
public:
|
||||
KX_NearSensor(class SCA_EventManager* eventmgr,
|
||||
@ -53,7 +53,6 @@ public:
|
||||
float resetmargin,
|
||||
bool bFindMaterial,
|
||||
const STR_String& touchedpropname,
|
||||
class KX_Scene* scene,
|
||||
PHY_IPhysicsController* ctrl);
|
||||
/*
|
||||
public:
|
||||
|
@ -88,8 +88,7 @@ void KX_PolygonMaterial::Initialize(
|
||||
mode,
|
||||
transp,
|
||||
alpha,
|
||||
zsort,
|
||||
lightlayer);
|
||||
zsort);
|
||||
m_tface = tface;
|
||||
m_mcol = mcol;
|
||||
m_material = ma;
|
||||
|
@ -2140,3 +2140,6 @@ void resetGamePythonPath()
|
||||
{
|
||||
gp_GamePythonPathOrig[0] = '\0';
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -48,8 +48,7 @@ KX_RadarSensor::KX_RadarSensor(SCA_EventManager* eventmgr,
|
||||
double margin,
|
||||
double resetmargin,
|
||||
bool bFindMaterial,
|
||||
const STR_String& touchedpropname,
|
||||
class KX_Scene* kxscene)
|
||||
const STR_String& touchedpropname)
|
||||
|
||||
: KX_NearSensor(
|
||||
eventmgr,
|
||||
@ -59,7 +58,6 @@ KX_RadarSensor::KX_RadarSensor(SCA_EventManager* eventmgr,
|
||||
resetmargin,
|
||||
bFindMaterial,
|
||||
touchedpropname,
|
||||
kxscene,
|
||||
physCtrl),
|
||||
|
||||
m_coneradius(coneradius),
|
||||
|
@ -69,8 +69,7 @@ public:
|
||||
double margin,
|
||||
double resetmargin,
|
||||
bool bFindMaterial,
|
||||
const STR_String& touchedpropname,
|
||||
class KX_Scene* kxscene);
|
||||
const STR_String& touchedpropname);
|
||||
KX_RadarSensor();
|
||||
virtual ~KX_RadarSensor();
|
||||
virtual void SynchronizeTransform();
|
||||
|
@ -46,8 +46,7 @@ void RAS_IPolyMaterial::Initialize(
|
||||
int mode,
|
||||
int transp,
|
||||
bool alpha,
|
||||
bool zsort,
|
||||
int lightlayer)
|
||||
bool zsort)
|
||||
{
|
||||
m_texturename = texname;
|
||||
m_materialname = matname;
|
||||
@ -59,7 +58,6 @@ void RAS_IPolyMaterial::Initialize(
|
||||
m_transp = transp;
|
||||
m_alpha = alpha;
|
||||
m_zsort = zsort;
|
||||
//m_lightlayer = lightlayer;
|
||||
m_polymatid = m_newpolymatid++;
|
||||
m_flag = 0;
|
||||
m_multimode = 0;
|
||||
@ -80,7 +78,6 @@ RAS_IPolyMaterial::RAS_IPolyMaterial()
|
||||
m_transp(0),
|
||||
m_alpha(false),
|
||||
m_zsort(false),
|
||||
//m_lightlayer(0),
|
||||
m_polymatid(0),
|
||||
m_flag(0),
|
||||
m_multimode(0)
|
||||
@ -100,8 +97,7 @@ RAS_IPolyMaterial::RAS_IPolyMaterial(const STR_String& texname,
|
||||
int mode,
|
||||
int transp,
|
||||
bool alpha,
|
||||
bool zsort,
|
||||
int lightlayer)
|
||||
bool zsort)
|
||||
: m_texturename(texname),
|
||||
m_materialname(matname),
|
||||
m_materialindex(materialindex),
|
||||
@ -112,7 +108,6 @@ RAS_IPolyMaterial::RAS_IPolyMaterial(const STR_String& texname,
|
||||
m_transp(transp),
|
||||
m_alpha(alpha),
|
||||
m_zsort(zsort),
|
||||
//m_lightlayer(lightlayer),
|
||||
m_polymatid(m_newpolymatid++),
|
||||
m_flag(0),
|
||||
m_multimode(0)
|
||||
@ -172,11 +167,6 @@ bool RAS_IPolyMaterial::Less(const RAS_IPolyMaterial& rhs) const
|
||||
return m_polymatid < rhs.m_polymatid;
|
||||
}
|
||||
|
||||
//int RAS_IPolyMaterial::GetLightLayer() const
|
||||
//{
|
||||
// return m_lightlayer;
|
||||
//}
|
||||
|
||||
bool RAS_IPolyMaterial::IsAlpha() const
|
||||
{
|
||||
return m_alpha || m_zsort;
|
||||
|
@ -73,7 +73,6 @@ protected:
|
||||
int m_transp;
|
||||
bool m_alpha;
|
||||
bool m_zsort;
|
||||
//int m_lightlayer;
|
||||
int m_materialindex;
|
||||
|
||||
unsigned int m_polymatid;
|
||||
@ -110,8 +109,7 @@ public:
|
||||
int mode,
|
||||
int transp,
|
||||
bool alpha,
|
||||
bool zsort,
|
||||
int lightlayer);
|
||||
bool zsort);
|
||||
void Initialize(const STR_String& texname,
|
||||
const STR_String& matname,
|
||||
int materialindex,
|
||||
@ -121,8 +119,7 @@ public:
|
||||
int mode,
|
||||
int transp,
|
||||
bool alpha,
|
||||
bool zsort,
|
||||
int lightlayer);
|
||||
bool zsort);
|
||||
virtual ~RAS_IPolyMaterial() {};
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user