16
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-07-18 00:49:19 +02:00

tint ability for the clouds object

This commit is contained in:
tmj-fstate
2017-02-26 00:20:18 +01:00
parent 493340e602
commit bd588b87b3
3 changed files with 29 additions and 17 deletions

View File

@@ -738,16 +738,8 @@ void TWorld::OnKeyDown(int cKey)
switch (cKey) {
case VK_F1: {
// czas i relacja
if( Global::iTextMode == cKey )
Global::iTextMode =
( Global::iPause && ( cKey != VK_F1 ) ?
VK_F1 :
0 ); // wyłączenie napisów, chyba że pauza
else
Global::iTextMode = cKey;
// advance world clock in debug mode
if( DebugModeFlag ) {
// additional time speedup keys in debug mode
if( Console::Pressed( VK_CONTROL ) ) {
// ctrl-f3
GlobalTime->UpdateMTableTime( 20.0 * 60.0 );
@@ -757,6 +749,19 @@ void TWorld::OnKeyDown(int cKey)
GlobalTime->UpdateMTableTime( 5.0 * 60.0 );
}
}
if( ( false == Console::Pressed( VK_CONTROL ) )
&& ( false == Console::Pressed( VK_SHIFT ) ) ) {
// czas i relacja
if( Global::iTextMode == cKey ) {
// wyłączenie napisów, chyba że pauza
Global::iTextMode =
( Global::iPause && ( cKey != VK_F1 ) ?
VK_F1 :
0 );
}
else
Global::iTextMode = cKey;
}
break;
}
case VK_F2: {
@@ -3126,7 +3131,7 @@ world_environment::render() {
m_skydome.Render();
m_stars.render();
// m_clouds.Render();
m_clouds.Render( m_skydome.GetAverageColor() * 2.5f );
if( DebugModeFlag == true ) {
// mark sun position for easier debugging

18
sky.cpp
View File

@@ -22,21 +22,22 @@ TSky::TSky(){};
void TSky::Init()
{
WriteLog(Global::asSky.c_str());
WriteLog("init");
WriteLog( "Clouds init" );
if ((Global::asSky != "1") && (Global::asSky != "0"))
// {
mdCloud = TModelsManager::GetModel(Global::asSky.c_str());
// }
mdCloud = TModelsManager::GetModel( Global::asSky );
};
void TSky::Render()
void TSky::Render( float3 const &Tint )
{
if (mdCloud)
{ // jeśli jest model nieba
#ifdef EU07_USE_OLD_LIGHTING_MODEL
// TODO: re-implement this
glLightfv(GL_LIGHT0, GL_POSITION, lightPos);
#else
::glEnable( GL_LIGHTING );
::glDisable( GL_LIGHT0 );
::glLightModelfv( GL_LIGHT_MODEL_AMBIENT, &Tint.x );
#endif
if (Global::bUseVBO)
{ // renderowanie z VBO
@@ -52,6 +53,11 @@ void TSky::Render()
glPopMatrix();
// TODO: re-implement this
glLightfv(GL_LIGHT0, GL_POSITION, Global::lightPos);
#else
GLfloat noambient[] = { 0.0f, 0.0f, 0.0f, 1.0f };
::glLightModelfv( GL_LIGHT_MODEL_AMBIENT, noambient );
::glEnable( GL_LIGHT0 );
::glDisable( GL_LIGHTING );
#endif
}
};

3
sky.h
View File

@@ -11,6 +11,7 @@ http://mozilla.org/MPL/2.0/.
#pragma once
#include "Model3d.h"
#include "Float3d.h"
class TSky
{
@@ -21,7 +22,7 @@ class TSky
TSky();
~TSky();
void Init();
void Render();
void Render( float3 const &Tint = float3(1.0f, 1.0f, 1.0f) );
};
//---------------------------------------------------------------------------