forked from mirror/openmw-tes3mp
cleanup
This commit is contained in:
parent
791d16bbdb
commit
42883ec64b
20 changed files with 6 additions and 287 deletions
|
@ -319,7 +319,6 @@ void OMW::Engine::prepareEngine (Settings::Manager & settings)
|
|||
|
||||
addResourcesDirectory(mResDir / "mygui");
|
||||
addResourcesDirectory(mResDir / "water");
|
||||
addResourcesDirectory(mResDir / "gbuffer");
|
||||
addResourcesDirectory(mResDir / "shadows");
|
||||
addZipResource(mResDir / "mygui" / "Obliviontt.zip");
|
||||
|
||||
|
|
|
@ -236,8 +236,6 @@ void LocalMap::render(const float x, const float y,
|
|||
vp->setShadowsEnabled(false);
|
||||
vp->setBackgroundColour(ColourValue(0, 0, 0));
|
||||
vp->setVisibilityMask(RV_Map);
|
||||
|
||||
// use fallback techniques without shadows and without mrt
|
||||
vp->setMaterialScheme("local_map");
|
||||
|
||||
rtt->update();
|
||||
|
|
|
@ -126,7 +126,6 @@ RenderingManager::RenderingManager (OEngine::Render::OgreRenderer& _rend, const
|
|||
|
||||
sh::Factory::getInstance ().setShadersEnabled (Settings::Manager::getBool("shaders", "Objects"));
|
||||
|
||||
sh::Factory::getInstance ().setGlobalSetting ("mrt_output", useMRT() ? "true" : "false");
|
||||
sh::Factory::getInstance ().setGlobalSetting ("fog", "true");
|
||||
sh::Factory::getInstance ().setGlobalSetting ("lighting", "true");
|
||||
sh::Factory::getInstance ().setGlobalSetting ("num_lights", Settings::Manager::getString ("num lights", "Objects"));
|
||||
|
@ -690,11 +689,6 @@ void RenderingManager::enableLights(bool sun)
|
|||
sunEnable(sun);
|
||||
}
|
||||
|
||||
const bool RenderingManager::useMRT()
|
||||
{
|
||||
return Settings::Manager::getBool("shader", "Water");
|
||||
}
|
||||
|
||||
Shadows* RenderingManager::getShadows()
|
||||
{
|
||||
return mShadows;
|
||||
|
@ -795,7 +789,6 @@ void RenderingManager::processChangedSettings(const Settings::CategorySettingVec
|
|||
else if (it->second == "shader" && it->first == "Water")
|
||||
{
|
||||
applyCompositors();
|
||||
sh::Factory::getInstance ().setGlobalSetting ("mrt_output", useMRT() ? "true" : "false");
|
||||
sh::Factory::getInstance ().setGlobalSetting ("simple_water", Settings::Manager::getBool("shader", "Water") ? "false" : "true");
|
||||
rebuild = true;
|
||||
mRendering.getViewport ()->setClearEveryFrame (true);
|
||||
|
@ -873,7 +866,6 @@ void RenderingManager::windowResized(Ogre::RenderWindow* rw)
|
|||
|
||||
mRendering.adjustViewport();
|
||||
mCompositors->recreate();
|
||||
mWater->assignTextures();
|
||||
|
||||
mVideoPlayer->setResolution (rw->getWidth(), rw->getHeight());
|
||||
|
||||
|
@ -897,19 +889,6 @@ bool RenderingManager::waterShaderSupported()
|
|||
|
||||
void RenderingManager::applyCompositors()
|
||||
{
|
||||
mCompositors->removeAll();
|
||||
if (useMRT())
|
||||
{
|
||||
/*
|
||||
mCompositors->addCompositor("gbuffer", 0);
|
||||
mCompositors->setCompositorEnabled("gbuffer", true);
|
||||
mCompositors->addCompositor("gbufferFinalizer", 2);
|
||||
mCompositors->setCompositorEnabled("gbufferFinalizer", true);
|
||||
*/
|
||||
}
|
||||
|
||||
//if (mWater)
|
||||
//mWater->assignTextures();
|
||||
}
|
||||
|
||||
void RenderingManager::getTriangleBatchCount(unsigned int &triangles, unsigned int &batches)
|
||||
|
|
|
@ -104,8 +104,6 @@ class RenderingManager: private RenderingInterface, public Ogre::WindowEventList
|
|||
|
||||
void removeWater();
|
||||
|
||||
static const bool useMRT();
|
||||
|
||||
void preCellChange (MWWorld::CellStore* store);
|
||||
///< this event is fired immediately before changing cell
|
||||
|
||||
|
|
|
@ -93,7 +93,6 @@ PlaneReflection::PlaneReflection(Ogre::SceneManager* sceneManager, SkyManager* s
|
|||
vp->setOverlaysEnabled(false);
|
||||
vp->setBackgroundColour(ColourValue(0.8f, 0.9f, 1.0f));
|
||||
vp->setShadowsEnabled(false);
|
||||
// use fallback techniques without shadows and without mrt
|
||||
vp->setMaterialScheme("water_reflection");
|
||||
mRenderTarget->addListener(this);
|
||||
mRenderTarget->setActive(true);
|
||||
|
@ -232,8 +231,6 @@ Water::Water (Ogre::Camera *camera, RenderingManager* rend, const ESM::Cell* cel
|
|||
underwaterDome->setMaterialName("Underwater_Dome");
|
||||
*/
|
||||
|
||||
assignTextures();
|
||||
|
||||
setHeight(mTop);
|
||||
|
||||
sh::MaterialInstance* m = sh::Factory::getInstance ().getMaterialInstance ("Water");
|
||||
|
@ -362,22 +359,6 @@ Vector3 Water::getSceneNodeCoordinates(int gridX, int gridY)
|
|||
return Vector3(gridX * CELL_SIZE + (CELL_SIZE / 2), mTop, -gridY * CELL_SIZE - (CELL_SIZE / 2));
|
||||
}
|
||||
|
||||
void Water::assignTextures()
|
||||
{
|
||||
if (Settings::Manager::getBool("shader", "Water"))
|
||||
{
|
||||
/*
|
||||
CompositorInstance* compositor = CompositorManager::getSingleton().getCompositorChain(mRendering->getViewport())->getCompositor("gbuffer");
|
||||
|
||||
TexturePtr colorTexture = compositor->getTextureInstance("mrt_output", 0);
|
||||
sh::Factory::getInstance ().setTextureAlias ("WaterRefraction", colorTexture->getName());
|
||||
|
||||
TexturePtr depthTexture = compositor->getTextureInstance("mrt_output", 1);
|
||||
sh::Factory::getInstance ().setTextureAlias ("SceneDepth", depthTexture->getName());
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
void Water::setViewportBackground(const ColourValue& bg)
|
||||
{
|
||||
if (mReflection)
|
||||
|
@ -483,7 +464,6 @@ void Water::processChangedSettings(const Settings::CategorySettingVector& settin
|
|||
applyRTT();
|
||||
applyVisibilityMask();
|
||||
mWater->setMaterial(mMaterial);
|
||||
assignTextures();
|
||||
}
|
||||
if (applyVisMask)
|
||||
applyVisibilityMask();
|
||||
|
|
|
@ -146,8 +146,6 @@ namespace MWRender {
|
|||
void toggle();
|
||||
void update(float dt, Ogre::Vector3 player);
|
||||
|
||||
void assignTextures();
|
||||
|
||||
void setViewportBackground(const Ogre::ColourValue& bg);
|
||||
|
||||
void processChangedSettings(const Settings::CategorySettingVector& settings);
|
||||
|
|
|
@ -6,10 +6,6 @@ set(WATER_FILES
|
|||
circle.png
|
||||
)
|
||||
|
||||
set(GBUFFER_FILES
|
||||
gbuffer.compositor
|
||||
)
|
||||
|
||||
set(MATERIAL_FILES
|
||||
atmosphere.shader
|
||||
atmosphere.shaderset
|
||||
|
@ -22,7 +18,6 @@ set(MATERIAL_FILES
|
|||
objects.shader
|
||||
objects.shaderset
|
||||
openmw.configuration
|
||||
quad2.shader
|
||||
quad.mat
|
||||
quad.shader
|
||||
quad.shaderset
|
||||
|
@ -54,6 +49,4 @@ set(MATERIAL_FILES
|
|||
|
||||
copy_all_files(${CMAKE_CURRENT_SOURCE_DIR}/water "${OpenMW_BINARY_DIR}/resources/water/" "${WATER_FILES}")
|
||||
|
||||
copy_all_files(${CMAKE_CURRENT_SOURCE_DIR}/gbuffer "${OpenMW_BINARY_DIR}/resources/gbuffer/" "${GBUFFER_FILES}")
|
||||
|
||||
copy_all_files(${CMAKE_CURRENT_SOURCE_DIR}/materials "${OpenMW_BINARY_DIR}/resources/materials/" "${MATERIAL_FILES}")
|
||||
|
|
|
@ -1,91 +0,0 @@
|
|||
// Compositor that just controls output to the MRT textures
|
||||
compositor gbuffer
|
||||
{
|
||||
technique
|
||||
{
|
||||
// MRT output. Currently this is a color texture plus a depth texture
|
||||
texture mrt_output target_width target_height PF_FLOAT16_RGBA PF_FLOAT16_RGBA chain_scope depth_pool 2
|
||||
|
||||
target mrt_output
|
||||
{
|
||||
input none
|
||||
|
||||
pass clear
|
||||
{
|
||||
colour_value 0 0 0 1
|
||||
}
|
||||
pass render_quad
|
||||
{
|
||||
// this makes sure the depth for background is set to 1
|
||||
material openmw_viewport_init
|
||||
}
|
||||
pass render_scene
|
||||
{
|
||||
// Renders everything except water
|
||||
first_render_queue 0
|
||||
last_render_queue 50
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
target_output
|
||||
{
|
||||
input none
|
||||
|
||||
pass render_quad
|
||||
{
|
||||
material quad
|
||||
input 0 mrt_output 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Finalizer compositor to render objects that we don't want in the MRT textures (ex. water)
|
||||
// NB the water has to be rendered in a seperate compositor anyway, because it
|
||||
// accesses the MRT textures which can't be done while they are still being rendered to.
|
||||
compositor gbufferFinalizer
|
||||
{
|
||||
technique
|
||||
{
|
||||
texture no_mrt_output target_width target_height PF_R8G8B8A8 depth_pool 2 no_fsaa
|
||||
texture previousscene target_width target_height PF_R8G8B8A8
|
||||
|
||||
target previousscene
|
||||
{
|
||||
input previous
|
||||
}
|
||||
target no_mrt_output
|
||||
{
|
||||
input none
|
||||
shadows off
|
||||
pass clear
|
||||
{
|
||||
buffers colour
|
||||
colour_value 0 0 0 0
|
||||
}
|
||||
pass render_quad
|
||||
{
|
||||
material quad_noDepthWrite
|
||||
input 0 previousscene
|
||||
}
|
||||
pass render_scene
|
||||
{
|
||||
first_render_queue 51
|
||||
last_render_queue 105
|
||||
}
|
||||
}
|
||||
target_output
|
||||
{
|
||||
input none
|
||||
pass clear
|
||||
{
|
||||
}
|
||||
pass render_quad
|
||||
{
|
||||
material quad_noDepthWrite
|
||||
input 0 no_mrt_output
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,7 +1,5 @@
|
|||
#include "core.h"
|
||||
|
||||
#define MRT @shGlobalSettingBool(mrt_output)
|
||||
|
||||
#ifdef SH_VERTEX_SHADER
|
||||
|
||||
SH_BEGIN_PROGRAM
|
||||
|
@ -19,18 +17,11 @@
|
|||
|
||||
SH_BEGIN_PROGRAM
|
||||
shInput(float, alphaFade)
|
||||
#if MRT
|
||||
shDeclareMrtOutput(1)
|
||||
#endif
|
||||
shUniform(float4, atmosphereColour) @shSharedParameter(atmosphereColour)
|
||||
|
||||
SH_START_PROGRAM
|
||||
{
|
||||
shOutputColour(0) = atmosphereColour * float4(1,1,1,alphaFade);
|
||||
|
||||
#if MRT
|
||||
shOutputColour(1) = float4(1,1,1,1);
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
#include "core.h"
|
||||
|
||||
#define MRT @shGlobalSettingBool(mrt_output)
|
||||
|
||||
#ifdef SH_VERTEX_SHADER
|
||||
|
||||
SH_BEGIN_PROGRAM
|
||||
|
@ -22,9 +20,6 @@
|
|||
SH_BEGIN_PROGRAM
|
||||
shInput(float2, UV)
|
||||
shInput(float, alphaFade)
|
||||
#if MRT
|
||||
shDeclareMrtOutput(1)
|
||||
#endif
|
||||
|
||||
shSampler2D(diffuseMap1)
|
||||
shSampler2D(diffuseMap2)
|
||||
|
@ -42,10 +37,6 @@
|
|||
float4 albedo = shSample(diffuseMap1, scrolledUV) * (1-cloudBlendFactor) + shSample(diffuseMap2, scrolledUV) * cloudBlendFactor;
|
||||
|
||||
shOutputColour(0) = float4(cloudColour, 1) * albedo * float4(1,1,1, cloudOpacity * alphaFade);
|
||||
|
||||
#if MRT
|
||||
shOutputColour(1) = float4(1,1,1,1);
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
#include "core.h"
|
||||
|
||||
#define MRT @shGlobalSettingBool(mrt_output)
|
||||
|
||||
|
||||
#ifdef SH_VERTEX_SHADER
|
||||
|
||||
SH_BEGIN_PROGRAM
|
||||
|
@ -22,9 +19,6 @@
|
|||
shSampler2D(diffuseMap)
|
||||
shSampler2D(alphaMap)
|
||||
shInput(float2, UV)
|
||||
#if MRT
|
||||
shDeclareMrtOutput(1)
|
||||
#endif
|
||||
shUniform(float4, materialDiffuse) @shAutoConstant(materialDiffuse, surface_diffuse_colour)
|
||||
shUniform(float4, materialEmissive) @shAutoConstant(materialEmissive, surface_emissive_colour)
|
||||
|
||||
|
@ -42,10 +36,6 @@
|
|||
shOutputColour(0).rgb += (1-tex.a) * shOutputColour(0).a * atmosphereColour.rgb; //fill dark side of moon with atmosphereColour
|
||||
shOutputColour(0).rgb += (1-materialDiffuse.a) * atmosphereColour.rgb; //fade bump
|
||||
|
||||
#if MRT
|
||||
shOutputColour(1) = float4(1,1,1,1);
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
|
||||
|
||||
#define FOG @shGlobalSettingBool(fog)
|
||||
#define MRT @shPropertyNotBool(is_transparent) && @shGlobalSettingBool(mrt_output)
|
||||
#define LIGHTING @shGlobalSettingBool(lighting)
|
||||
|
||||
#define SHADOWS_PSSM LIGHTING && @shGlobalSettingBool(shadows_pssm)
|
||||
|
@ -12,7 +11,7 @@
|
|||
#include "shadows.h"
|
||||
#endif
|
||||
|
||||
#if FOG || MRT || SHADOWS_PSSM
|
||||
#if FOG || SHADOWS_PSSM
|
||||
#define NEED_DEPTH
|
||||
#endif
|
||||
|
||||
|
@ -51,9 +50,9 @@
|
|||
|
||||
#if VERTEX_LIGHTING
|
||||
shUniform(float, lightCount) @shAutoConstant(lightCount, light_count)
|
||||
shUniform(float4, lightPosition[8]) @shAutoConstant(lightPosition, light_position_object_space_array, 8)
|
||||
shUniform(float4, lightDiffuse[8]) @shAutoConstant(lightDiffuse, light_diffuse_colour_array, 8)
|
||||
shUniform(float4, lightAttenuation[8]) @shAutoConstant(lightAttenuation, light_attenuation_array, 8)
|
||||
shUniform(float4, lightPosition[@shGlobalSettingString(num_lights)]) @shAutoConstant(lightPosition, light_position_object_space_array, @shGlobalSettingString(num_lights))
|
||||
shUniform(float4, lightDiffuse[@shGlobalSettingString(num_lights)]) @shAutoConstant(lightDiffuse, light_diffuse_colour_array, @shGlobalSettingString(num_lights))
|
||||
shUniform(float4, lightAttenuation[@shGlobalSettingString(num_lights)]) @shAutoConstant(lightAttenuation, light_attenuation_array, @shGlobalSettingString(num_lights))
|
||||
shUniform(float4, lightAmbient) @shAutoConstant(lightAmbient, ambient_light_colour)
|
||||
#if !HAS_VERTEXCOLOUR
|
||||
shUniform(float4, materialAmbient) @shAutoConstant(materialAmbient, surface_ambient_colour)
|
||||
|
@ -153,18 +152,11 @@
|
|||
SH_BEGIN_PROGRAM
|
||||
shSampler2D(diffuseMap)
|
||||
shInput(float2, UV)
|
||||
#if MRT
|
||||
shDeclareMrtOutput(1)
|
||||
#endif
|
||||
|
||||
#ifdef NEED_DEPTH
|
||||
shInput(float, depthPassthrough)
|
||||
#endif
|
||||
|
||||
#if MRT
|
||||
shUniform(float, far) @shAutoConstant(far, far_clip_distance)
|
||||
#endif
|
||||
|
||||
#if LIGHTING
|
||||
shInput(float3, normalPassthrough)
|
||||
shInput(float3, objSpacePositionPassthrough)
|
||||
|
@ -369,10 +361,6 @@
|
|||
float isUnderwater = (worldPos.y < waterLevel) ? 1.0 : 0.0;
|
||||
shOutputColour(0).xyz = shLerp (shOutputColour(0).xyz, watercolour, fogAmount * isUnderwater * waterEnabled);
|
||||
#endif
|
||||
|
||||
#if MRT
|
||||
shOutputColour(1) = float4(depthPassthrough / far,1,1,1);
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -3,13 +3,11 @@ configuration water_reflection
|
|||
fog false
|
||||
shadows false
|
||||
shadows_pssm false
|
||||
mrt_output false
|
||||
}
|
||||
|
||||
configuration local_map
|
||||
{
|
||||
fog false
|
||||
mrt_output false
|
||||
shadows false
|
||||
shadows_pssm false
|
||||
simple_water true
|
||||
|
|
|
@ -20,16 +20,3 @@ material quad_noDepthWrite
|
|||
parent quad
|
||||
depth_write off
|
||||
}
|
||||
|
||||
material openmw_viewport_init
|
||||
{
|
||||
pass
|
||||
{
|
||||
vertex_program viewport_init_vertex
|
||||
fragment_program viewport_init_fragment
|
||||
|
||||
depth_write off
|
||||
depth_check off
|
||||
scene_blend add
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,19 +13,3 @@ shader_set quad_fragment
|
|||
profiles_cg ps_2_x ps_2_0 ps fp40 arbfp1
|
||||
profiles_hlsl ps_2_0
|
||||
}
|
||||
|
||||
shader_set viewport_init_vertex
|
||||
{
|
||||
source quad2.shader
|
||||
type vertex
|
||||
profiles_cg vs_2_0 vp40 arbvp1
|
||||
profiles_hlsl vs_2_0
|
||||
}
|
||||
|
||||
shader_set viewport_init_fragment
|
||||
{
|
||||
source quad2.shader
|
||||
type fragment
|
||||
profiles_cg ps_2_x ps_2_0 ps fp40 arbfp1
|
||||
profiles_hlsl ps_2_0
|
||||
}
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
#include "core.h"
|
||||
|
||||
#ifdef SH_VERTEX_SHADER
|
||||
|
||||
SH_BEGIN_PROGRAM
|
||||
shUniform(float4x4, wvp) @shAutoConstant(wvp, worldviewproj_matrix)
|
||||
SH_START_PROGRAM
|
||||
{
|
||||
shOutputPosition = shMatrixMult(wvp, shInputPosition);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
SH_BEGIN_PROGRAM
|
||||
shUniform(float3, viewportBackground) @shSharedParameter(viewportBackground)
|
||||
shDeclareMrtOutput(1)
|
||||
SH_START_PROGRAM
|
||||
{
|
||||
shOutputColour(0) = float4(viewportBackground, 1);
|
||||
shOutputColour(1) = float4(1,1,1,1);
|
||||
}
|
||||
|
||||
#endif
|
|
@ -1,7 +1,5 @@
|
|||
#include "core.h"
|
||||
|
||||
#define MRT @shGlobalSettingBool(mrt_output)
|
||||
|
||||
#ifdef SH_VERTEX_SHADER
|
||||
|
||||
SH_BEGIN_PROGRAM
|
||||
|
@ -22,9 +20,6 @@
|
|||
#else
|
||||
|
||||
SH_BEGIN_PROGRAM
|
||||
#if MRT
|
||||
shDeclareMrtOutput(1)
|
||||
#endif
|
||||
|
||||
shInput(float2, UV)
|
||||
shInput(float, fade)
|
||||
|
@ -36,11 +31,6 @@
|
|||
SH_START_PROGRAM
|
||||
{
|
||||
shOutputColour(0) = shSample(diffuseMap, UV) * float4(1,1,1, nightFade * fade);
|
||||
|
||||
|
||||
#if MRT
|
||||
shOutputColour(1) = float4(1,1,1,1);
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
#include "core.h"
|
||||
|
||||
#define MRT @shGlobalSettingBool(mrt_output)
|
||||
|
||||
|
||||
#ifdef SH_VERTEX_SHADER
|
||||
|
||||
SH_BEGIN_PROGRAM
|
||||
|
@ -21,19 +18,12 @@
|
|||
SH_BEGIN_PROGRAM
|
||||
shSampler2D(diffuseMap)
|
||||
shInput(float2, UV)
|
||||
#if MRT
|
||||
shDeclareMrtOutput(1)
|
||||
#endif
|
||||
shUniform(float4, materialDiffuse) @shAutoConstant(materialDiffuse, surface_diffuse_colour)
|
||||
//shUniform(float4, materialEmissive) @shAutoConstant(materialEmissive, surface_emissive_colour)
|
||||
|
||||
SH_START_PROGRAM
|
||||
{
|
||||
shOutputColour(0) = float4(1,1,1,materialDiffuse.a) * shSample(diffuseMap, UV);
|
||||
|
||||
#if MRT
|
||||
shOutputColour(1) = float4(1,1,1,1);
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
#define IS_FIRST_PASS 1
|
||||
|
||||
#define FOG @shGlobalSettingBool(fog)
|
||||
#define MRT @shGlobalSettingBool(mrt_output)
|
||||
|
||||
#define LIGHTING @shGlobalSettingBool(lighting)
|
||||
|
||||
|
@ -18,7 +17,7 @@
|
|||
|
||||
#define NUM_LAYERS @shPropertyString(num_layers)
|
||||
|
||||
#if MRT || FOG || SHADOWS_PSSM
|
||||
#if FOG || SHADOWS_PSSM
|
||||
#define NEED_DEPTH 1
|
||||
#endif
|
||||
|
||||
|
@ -152,11 +151,6 @@
|
|||
#endif
|
||||
|
||||
@shPassthroughFragmentInputs
|
||||
|
||||
#if MRT
|
||||
shDeclareMrtOutput(1)
|
||||
shUniform(float, far) @shAutoConstant(far, far_clip_distance)
|
||||
#endif
|
||||
|
||||
|
||||
#if LIGHTING
|
||||
|
@ -370,10 +364,6 @@
|
|||
float isUnderwater = (worldPos.y < waterLevel) ? 1.0 : 0.0;
|
||||
shOutputColour(0).xyz = shLerp (shOutputColour(0).xyz, watercolour, fogAmount * isUnderwater);
|
||||
#endif
|
||||
|
||||
#if MRT
|
||||
shOutputColour(1) = float4(depth / far,1,1,1);
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -5,11 +5,7 @@
|
|||
|
||||
|
||||
#if SIMPLE_WATER
|
||||
// --------------------------------------- SIMPLE WATER ---------------------------------------------------
|
||||
|
||||
|
||||
#define MRT @shGlobalSettingBool(mrt_output)
|
||||
|
||||
// --------------------------------------- SIMPLE WATER ---------------------------------------------------
|
||||
|
||||
#ifdef SH_VERTEX_SHADER
|
||||
|
||||
|
@ -32,9 +28,6 @@
|
|||
shSampler2D(animatedTexture)
|
||||
shInput(float2, UV)
|
||||
shInput(float, depth)
|
||||
#if MRT
|
||||
shDeclareMrtOutput(1)
|
||||
#endif
|
||||
|
||||
shUniform(float3, fogColor) @shAutoConstant(fogColor, fog_colour)
|
||||
shUniform(float4, fogParams) @shAutoConstant(fogParams, fog_params)
|
||||
|
@ -47,10 +40,6 @@
|
|||
|
||||
float fogValue = shSaturate((depth - fogParams.y) * fogParams.w);
|
||||
shOutputColour(0).xyz = shLerp (shOutputColour(0).xyz, fogColor, fogValue);
|
||||
|
||||
#if MRT
|
||||
shOutputColour(1) = float4(1,1,1,1);
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue