Coding style improvements.

This commit is contained in:
hiker 2015-07-01 08:22:43 +10:00
parent f82bb996ea
commit 4ec423ff35

View File

@ -75,7 +75,8 @@
#if IRRLICHT_VERSION_MAJOR < 1 || IRRLICHT_VERSION_MINOR < 7 || \ #if IRRLICHT_VERSION_MAJOR < 1 || IRRLICHT_VERSION_MINOR < 7 || \
_IRR_MATERIAL_MAX_TEXTURES_ < 8 || !defined(_IRR_COMPILE_WITH_OPENGL_) || \ _IRR_MATERIAL_MAX_TEXTURES_ < 8 || !defined(_IRR_COMPILE_WITH_OPENGL_) || \
!defined(_IRR_COMPILE_WITH_B3D_LOADER_) !defined(_IRR_COMPILE_WITH_B3D_LOADER_)
#error "Building against an incompatible Irrlicht. Distros, please use the included version." #error "Building against an incompatible Irrlicht. Distros, \
please use the included version."
#endif #endif
using namespace irr; using namespace irr;
@ -120,8 +121,9 @@ IrrDriver::IrrDriver()
m_rtts = NULL; m_rtts = NULL;
m_post_processing = NULL; m_post_processing = NULL;
m_wind = new Wind(); m_wind = new Wind();
m_mipviz = m_wireframe = m_normals = m_ssaoviz = \ m_mipviz = m_wireframe = m_normals = m_ssaoviz = false;
m_lightviz = m_shadowviz = m_distortviz = m_rsm = m_rh = m_gi = m_boundingboxesviz = false; m_lightviz = m_shadowviz = m_distortviz = m_rsm = m_rh = m_gi = false;
m_boundingboxesviz = false;
SkyboxCubeMap = m_last_light_bucket_distance = 0; SkyboxCubeMap = m_last_light_bucket_distance = 0;
memset(object_count, 0, sizeof(object_count)); memset(object_count, 0, sizeof(object_count));
} // IrrDriver } // IrrDriver
@ -507,7 +509,8 @@ void IrrDriver::initDevice()
(UserConfigParams::m_shadows_resolution < 512 || (UserConfigParams::m_shadows_resolution < 512 ||
UserConfigParams::m_shadows_resolution > 2048)) UserConfigParams::m_shadows_resolution > 2048))
{ {
Log::warn("IrrDriver", "Invalid value for UserConfigParams::m_shadows_resolution : %i", Log::warn("IrrDriver",
"Invalid value for UserConfigParams::m_shadows_resolution : %i",
(int)UserConfigParams::m_shadows_resolution); (int)UserConfigParams::m_shadows_resolution);
UserConfigParams::m_shadows_resolution = 0; UserConfigParams::m_shadows_resolution = 0;
} }
@ -542,7 +545,8 @@ void IrrDriver::initDevice()
} }
else else
{ {
Log::warn("irr_driver", "Using the fixed pipeline (old GPU, or shaders disabled in options)"); Log::warn("irr_driver", "Using the fixed pipeline (old GPU, or "
"shaders disabled in options)");
} }
// Only change video driver settings if we are showing graphics // Only change video driver settings if we are showing graphics
@ -627,16 +631,21 @@ void IrrDriver::cleanSunInterposer()
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
void IrrDriver::createSunInterposer() void IrrDriver::createSunInterposer()
{ {
scene::IMesh * sphere = m_scene_manager->getGeometryCreator()->createSphereMesh(1, 16, 16); scene::IMesh * sphere = m_scene_manager->getGeometryCreator()
->createSphereMesh(1, 16, 16);
for (unsigned i = 0; i < sphere->getMeshBufferCount(); ++i) for (unsigned i = 0; i < sphere->getMeshBufferCount(); ++i)
{ {
scene::IMeshBuffer *mb = sphere->getMeshBuffer(i); scene::IMeshBuffer *mb = sphere->getMeshBuffer(i);
if (!mb) if (!mb)
continue; continue;
mb->getMaterial().setTexture(0, getUnicolorTexture(video::SColor(255, 255, 255, 255))); mb->getMaterial().setTexture(0,
mb->getMaterial().setTexture(1, getUnicolorTexture(video::SColor(0, 0, 0, 0))); getUnicolorTexture(video::SColor(255, 255, 255, 255)));
mb->getMaterial().setTexture(1,
getUnicolorTexture(video::SColor(0, 0, 0, 0)));
} }
m_sun_interposer = new STKMeshSceneNode(sphere, m_scene_manager->getRootSceneNode(), NULL, -1, "sun_interposer"); m_sun_interposer = new STKMeshSceneNode(sphere,
m_scene_manager->getRootSceneNode(),
NULL, -1, "sun_interposer");
m_sun_interposer->grab(); m_sun_interposer->grab();
m_sun_interposer->setParent(NULL); m_sun_interposer->setParent(NULL);
@ -819,7 +828,8 @@ void IrrDriver::applyResolutionSettings()
input_manager->setMode(InputManager::MENU); input_manager->setMode(InputManager::MENU);
GUIEngine::addLoadingIcon( GUIEngine::addLoadingIcon(
irr_driver->getTexture(file_manager->getAsset(FileManager::GUI,"options_video.png")) irr_driver->getTexture(file_manager
->getAsset(FileManager::GUI,"options_video.png"))
); );
file_manager->pushTextureSearchPath(file_manager->getAsset(FileManager::MODEL,"")); file_manager->pushTextureSearchPath(file_manager->getAsset(FileManager::MODEL,""));
@ -1109,7 +1119,9 @@ scene::IMeshSceneNode *IrrDriver::addMesh(scene::IMesh *mesh,
if (!parent) if (!parent)
parent = m_scene_manager->getRootSceneNode(); parent = m_scene_manager->getRootSceneNode();
scene::IMeshSceneNode* node = new STKMeshSceneNode(mesh, parent, m_scene_manager, -1, debug_name); scene::IMeshSceneNode* node = new STKMeshSceneNode(mesh, parent,
m_scene_manager, -1,
debug_name);
node->drop(); node->drop();
return node; return node;
@ -1132,7 +1144,8 @@ PerCameraNode *IrrDriver::addPerCameraNode(scene::ISceneNode* node,
*/ */
scene::ISceneNode *IrrDriver::addBillboard(const core::dimension2d< f32 > size, scene::ISceneNode *IrrDriver::addBillboard(const core::dimension2d< f32 > size,
video::ITexture *texture, video::ITexture *texture,
scene::ISceneNode* parent, bool alphaTesting) scene::ISceneNode* parent,
bool alphaTesting)
{ {
scene::IBillboardSceneNode* node; scene::IBillboardSceneNode* node;
if (CVS->isGLSL()) if (CVS->isGLSL())
@ -1140,7 +1153,8 @@ scene::ISceneNode *IrrDriver::addBillboard(const core::dimension2d< f32 > size,
if (!parent) if (!parent)
parent = m_scene_manager->getRootSceneNode(); parent = m_scene_manager->getRootSceneNode();
node = new STKBillboard(parent, m_scene_manager, -1, vector3df(0., 0., 0.), size); node = new STKBillboard(parent, m_scene_manager, -1,
vector3df(0., 0., 0.), size);
node->drop(); node->drop();
} }
else else
@ -1821,8 +1835,10 @@ void IrrDriver::displayFPS()
if (UserConfigParams::m_artist_debug_mode) if (UserConfigParams::m_artist_debug_mode)
{ {
fpsString = _("FPS: %d/%d/%d - PolyCount: %d Solid, %d Shadows - LightDist : %d", fpsString = _("FPS: %d/%d/%d - PolyCount: %d Solid, "
min, fps, max, poly_count[SOLID_NORMAL_AND_DEPTH_PASS], poly_count[SHADOW_PASS], m_last_light_bucket_distance); "%d Shadows - LightDist : %d",
min, fps, max, poly_count[SOLID_NORMAL_AND_DEPTH_PASS],
poly_count[SHADOW_PASS], m_last_light_bucket_distance);
poly_count[SOLID_NORMAL_AND_DEPTH_PASS] = 0; poly_count[SOLID_NORMAL_AND_DEPTH_PASS] = 0;
poly_count[SHADOW_PASS] = 0; poly_count[SHADOW_PASS] = 0;
object_count[SOLID_NORMAL_AND_DEPTH_PASS] = 0; object_count[SOLID_NORMAL_AND_DEPTH_PASS] = 0;
@ -2046,7 +2062,8 @@ void IrrDriver::doScreenShot()
std::string track_name = race_manager->getTrackName(); std::string track_name = race_manager->getTrackName();
if (World::getWorld() == NULL) track_name = "menu"; if (World::getWorld() == NULL) track_name = "menu";
std::string path = file_manager->getScreenshotDir()+track_name+"-"+time_buffer+".png"; std::string path = file_manager->getScreenshotDir()+track_name+"-"
+ time_buffer+".png";
if (irr_driver->getVideoDriver()->writeImageToFile(image, path.c_str(), 0)) if (irr_driver->getVideoDriver()->writeImageToFile(image, path.c_str(), 0))
{ {
@ -2444,10 +2461,10 @@ void IrrDriver::applyObjectPassShader(scene::ISceneNode * const node, bool rimli
const u32 mcount = node->getMaterialCount(); const u32 mcount = node->getMaterialCount();
u32 i; u32 i;
const video::E_MATERIAL_TYPE ref = Shaders::getShader(rimlit ? ES_OBJECTPASS_RIMLIT const video::E_MATERIAL_TYPE ref =
: ES_OBJECTPASS_REF); Shaders::getShader(rimlit ? ES_OBJECTPASS_RIMLIT : ES_OBJECTPASS_REF);
const video::E_MATERIAL_TYPE pass = Shaders::getShader(rimlit ? ES_OBJECTPASS_RIMLIT const video::E_MATERIAL_TYPE pass =
: ES_OBJECTPASS); Shaders::getShader(rimlit ? ES_OBJECTPASS_RIMLIT : ES_OBJECTPASS);
const video::E_MATERIAL_TYPE origref = Shaders::getShader(ES_OBJECTPASS_REF); const video::E_MATERIAL_TYPE origref = Shaders::getShader(ES_OBJECTPASS_REF);
const video::E_MATERIAL_TYPE origpass = Shaders::getShader(ES_OBJECTPASS); const video::E_MATERIAL_TYPE origpass = Shaders::getShader(ES_OBJECTPASS);
@ -2473,7 +2490,8 @@ void IrrDriver::applyObjectPassShader(scene::ISceneNode * const node, bool rimli
for (i = 0; i < mcount; i++) for (i = 0; i < mcount; i++)
{ {
video::SMaterial &nodemat = node->getMaterial(i); video::SMaterial &nodemat = node->getMaterial(i);
video::SMaterial &mbmat = mesh ? mesh->getMeshBuffer(i)->getMaterial() : nodemat; video::SMaterial &mbmat = mesh ? mesh->getMeshBuffer(i)->getMaterial()
: nodemat;
video::SMaterial *mat = &nodemat; video::SMaterial *mat = &nodemat;
if (viamb) if (viamb)
@ -2510,8 +2528,10 @@ void IrrDriver::applyObjectPassShader()
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
scene::ISceneNode *IrrDriver::addLight(const core::vector3df &pos, float energy, float radius, scene::ISceneNode *IrrDriver::addLight(const core::vector3df &pos,
float r, float g, float b, bool sun, scene::ISceneNode* parent) float energy, float radius,
float r, float g, float b,
bool sun, scene::ISceneNode* parent)
{ {
if (CVS->isGLSL()) if (CVS->isGLSL())
{ {
@ -2519,7 +2539,8 @@ scene::ISceneNode *IrrDriver::addLight(const core::vector3df &pos, float energy,
LightNode *light = NULL; LightNode *light = NULL;
if (!sun) if (!sun)
light = new LightNode(m_scene_manager, parent, energy, radius, r, g, b); light = new LightNode(m_scene_manager, parent, energy, radius,
r, g, b);
else else
light = new SunNode(m_scene_manager, parent, r, g, b); light = new SunNode(m_scene_manager, parent, r, g, b);
@ -2536,17 +2557,19 @@ scene::ISceneNode *IrrDriver::addLight(const core::vector3df &pos, float energy,
//m_sun_interposer->updateAbsolutePosition(); //m_sun_interposer->updateAbsolutePosition();
m_shadow_matrices->addLight(pos); m_shadow_matrices->addLight(pos);
((WaterShaderProvider *) Shaders::getCallback(ES_WATER) )->setSunPosition(pos); ((WaterShaderProvider *) Shaders::getCallback(ES_WATER) )
->setSunPosition(pos);
} }
return light; return light;
} }
else else
{ {
return m_scene_manager->addLightSceneNode(m_scene_manager->getRootSceneNode(), return m_scene_manager
pos, video::SColorf(1.0f, r, g, b)); ->addLightSceneNode(m_scene_manager->getRootSceneNode(),
pos, video::SColorf(1.0f, r, g, b));
} }
} } // addLight
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@ -2560,26 +2583,26 @@ void IrrDriver::clearLights()
} }
m_lights.clear(); m_lights.clear();
} } // clearLights
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
GLuint IrrDriver::getRenderTargetTexture(TypeRTT which) GLuint IrrDriver::getRenderTargetTexture(TypeRTT which)
{ {
return m_rtts->getRenderTarget(which); return m_rtts->getRenderTarget(which);
} } // getRenderTargetTexture
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
FrameBuffer& IrrDriver::getFBO(TypeFBO which) FrameBuffer& IrrDriver::getFBO(TypeFBO which)
{ {
return m_rtts->getFBO(which); return m_rtts->getFBO(which);
} } // getFBO
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
GLuint IrrDriver::getDepthStencilTexture() GLuint IrrDriver::getDepthStencilTexture()
{ {
return m_rtts->getDepthStencilTexture(); return m_rtts->getDepthStencilTexture();
} } // getDepthStencilTexture