mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-01-26 15:44:46 +00:00
Fixed multiple case sensitivity issues Adds GL ARB check for cubemap arrays for certain cases where the driver only supports the extension, not as core Fixes undeeded namespace declaration in an inline operator function Cleaned up/reordered some modules default in the data dir WIP of Das Boot test map Begun refactoring visualizer tools Added default cloud and water textures to core/rendering so water and cloud objects work correctly Added default Fog_Cube mesh so volumetric fog works correctly
63 lines
1.5 KiB
C++
63 lines
1.5 KiB
C++
#pragma once
|
|
#include "scene/sceneRenderState.h"
|
|
#include "core/util/systemInterfaceList.h"
|
|
#include "ts/tsShape.h"
|
|
#include "ts/tsShapeInstance.h"
|
|
#include "T3D/assets/ShapeAsset.h"
|
|
#include "T3D/assets/MaterialAsset.h"
|
|
|
|
#ifndef _GFXVERTEXBUFFER_H_
|
|
#include "gfx/gfxVertexBuffer.h"
|
|
#endif
|
|
#ifndef _GFXPRIMITIVEBUFFER_H_
|
|
#include "gfx/gfxPrimitiveBuffer.h"
|
|
#endif
|
|
#ifndef _OPTIMIZEDPOLYLIST_H_
|
|
#include "collision/optimizedPolyList.h"
|
|
#endif
|
|
|
|
class MeshRenderSystemInterface : public SystemInterface<MeshRenderSystemInterface>
|
|
{
|
|
public:
|
|
TSShapeInstance * mShapeInstance;
|
|
|
|
MatrixF mTransform;
|
|
Point3F mScale;
|
|
Box3F mBounds;
|
|
SphereF mSphere;
|
|
|
|
bool mIsClient;
|
|
|
|
struct matMap
|
|
{
|
|
//MaterialAsset* matAsset;
|
|
String assetId;
|
|
U32 slot;
|
|
};
|
|
|
|
Vector<matMap> mChangingMaterials;
|
|
Vector<matMap> mMaterials;
|
|
|
|
MeshRenderSystemInterface() : SystemInterface(), mShapeInstance(nullptr), mTransform(MatrixF::Identity), mScale(Point3F::One), mIsClient(false)
|
|
{
|
|
mBounds = Box3F(1);
|
|
mSphere = SphereF();
|
|
}
|
|
|
|
~MeshRenderSystemInterface()
|
|
{
|
|
//SAFE_DELETE(mShape);
|
|
SAFE_DELETE(mShapeInstance);
|
|
}
|
|
};
|
|
|
|
class MeshRenderSystem
|
|
{
|
|
public:
|
|
//Core render function, which does all the real work
|
|
static void render(SceneManager *sceneManager, SceneRenderState* state);
|
|
|
|
//Render our particular interface's data
|
|
static void renderInterface(U32 interfaceIndex, SceneRenderState* state);
|
|
};
|