Merge branch 'master' of github.com:supertuxkart/stk-code

This commit is contained in:
hiker
2014-12-02 17:13:09 +11:00
6 changed files with 6 additions and 56 deletions

View File

@@ -1,19 +1,19 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="jungle" laps="3"/>
<track id="30_chocolate" laps="3"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="15"/>
<hard>
<karts number="5"/>
<requirements position="1" time="155"/>
<requirements position="1" time="161"/>
</hard>
<medium>
<karts number="4"/>
<requirements time="170"/>
<requirements time="177"/>
</medium>
<easy>
<karts number="4"/>
<requirements time="230"/>
<requirements time="240"/>
</easy>
</challenge>

View File

@@ -20,8 +20,8 @@
max="1000" />
<!-- Size of the particles -->
<size min="0.5"
max="0.3"
<size min="0.3"
max="0.5"
x-increase-factor="2.6"
y-increase-factor="2.6" />

View File

@@ -609,9 +609,6 @@ void IrrDriver::initDevice()
m_mrt.clear();
m_mrt.reallocate(2);
glGenQueries(1, &m_lensflare_query);
m_query_issued = false;
scene::IMesh * sphere = m_scene_manager->getGeometryCreator()->createSphereMesh(1, 16, 16);
for (unsigned i = 0; i < sphere->getMeshBufferCount(); ++i)
{
@@ -634,13 +631,6 @@ void IrrDriver::initDevice()
sphere->drop();
m_lensflare = new scene::CLensFlareSceneNode(NULL, m_scene_manager, -1);
video::ITexture * const tex = getTexture(FileManager::TEXTURE,
"lensflare.png" );
if (!tex) Log::fatal("irr_driver", "Cannot find lens flare texture");
m_lensflare->setMaterialTexture(0, tex);
m_lensflare->setAutomaticCulling(scene::EAC_OFF);
m_suncam = m_scene_manager->addCameraSceneNode(0, vector3df(0), vector3df(0), -1, false);
m_suncam->grab();
m_suncam->setParent(NULL);
@@ -2547,9 +2537,6 @@ scene::ISceneNode *IrrDriver::addLight(const core::vector3df &pos, float energy,
//m_sun_interposer->setPosition(pos);
//m_sun_interposer->updateAbsolutePosition();
m_lensflare->setPosition(pos);
m_lensflare->updateAbsolutePosition();
m_suncam->setPosition(pos);
m_suncam->updateAbsolutePosition();

View File

@@ -386,10 +386,7 @@ private:
unsigned object_count[PASS_COUNT];
unsigned poly_count[PASS_COUNT];
u32 m_renderpass;
u32 m_lensflare_query;
bool m_query_issued;
class STKMeshSceneNode *m_sun_interposer;
scene::CLensFlareSceneNode *m_lensflare;
scene::ICameraSceneNode *m_suncam;
core::vector3df m_sundirection;
video::SColorf m_suncolor;

View File

@@ -62,8 +62,6 @@ private:
video::ITexture *m_areamap;
u32 m_sunpixels;
void setMotionBlurCenterY(const u32 num, const float y);
public:
@@ -107,8 +105,6 @@ public:
/** Use motion blur for a short time */
void giveBoost(unsigned int cam_index);
void setSunPixels(const u32 in) { m_sunpixels = in; }
};
#endif // HEADER_POST_PROCESSING_HPP

View File

@@ -576,29 +576,6 @@ void IrrDriver::computeSunVisibility()
{
hasgodrays = World::getWorld()->getTrack()->hasGodRays();
}
if (UserConfigParams::m_light_shaft && hasgodrays)
{
GLuint res = 0;
if (m_query_issued)
glGetQueryObjectuiv(m_lensflare_query, GL_QUERY_RESULT, &res);
m_post_processing->setSunPixels(res);
// Prepare the query for the next frame.
glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE);
glBeginQuery(GL_SAMPLES_PASSED_ARB, m_lensflare_query);
m_scene_manager->setCurrentRendertime(scene::ESNRP_SOLID);
m_scene_manager->drawAll(scene::ESNRP_CAMERA);
irr_driver->setPhase(GLOW_PASS);
m_sun_interposer->render();
glEndQuery(GL_SAMPLES_PASSED_ARB);
m_query_issued = true;
m_lensflare->setStrength(res / 4000.0f);
// Make sure the color mask is reset
glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
}
}
void IrrDriver::renderParticles()
@@ -836,13 +813,6 @@ void IrrDriver::computeCameraMatrix(scene::ICameraSceneNode * const camnode, siz
memcpy(&tmp[64], irr_driver->getProjViewMatrix().pointer(), 16 * sizeof(float));
m_suncam->render();
const core::vector3df &camdir = (camnode->getTarget() - camnode->getAbsolutePosition()).normalize();
const core::vector3df &sundir = (m_suncam->getTarget() - m_suncam->getAbsolutePosition()).normalize();
const core::vector3df &up = camdir.crossProduct(sundir).normalize();
if (up.getLength())
m_suncam->setUpVector(up);
m_suncam->render();
for (unsigned i = 0; i < 4; i++)
{
if (m_shadow_camnodes[i])