1
0
Fork 0

Merge branch 'master' into work

This commit is contained in:
Vivian Meazza 2012-05-20 22:27:00 +01:00
commit 1ce58917f0
13 changed files with 488 additions and 85 deletions

View file

@ -3,6 +3,7 @@
<name>Effects/ambient</name>
<parameters>
<ambient-occlusion type="bool"><use>/sim/rendering/rembrandt/ambient-occlusion</use></ambient-occlusion>
<ambient-occlusion-strength type="float"><use>/sim/rendering/rembrandt/ambient-occlusion-strength</use></ambient-occlusion-strength>
</parameters>
<technique n="11">
<pass>
@ -71,7 +72,12 @@
<uniform>
<name>ambientOcclusion</name>
<type>bool</type>
<value type="bool"><use>ambient-occlusion</use></value>
<value><use>ambient-occlusion</use></value>
</uniform>
<uniform>
<name>ambientOcclusionStrength</name>
<type>float</type>
<value><use>ambient-occlusion-strength</use></value>
</uniform>
<!-- The following uniforms are automatically defined and initialized :
- fg_SunAmbientColor

View file

@ -4,8 +4,17 @@
<parameters>
<exposure type="float"><use>/sim/rendering/rembrandt/exposure</use></exposure>
<show-buffers type="bool"><use>/sim/rendering/rembrandt/show-buffers</use></show-buffers>
<ambient-occlusion type="bool"><use>/sim/rendering/rembrandt/ambient-occlusion-buffers</use></ambient-occlusion>
<bloom type="bool"><use>/sim/rendering/rembrandt/bloom</use></bloom>
<bloom-buffers type="bool"><use>/sim/rendering/rembrandt/bloom-buffers</use></bloom-buffers>
<buffer-nw-enabled><use>/sim/rendering/rembrandt/debug-buffer[0]/enabled</use></buffer-nw-enabled>
<buffer-nw-name><use>/sim/rendering/rembrandt/debug-buffer[0]/name</use></buffer-nw-name>
<buffer-ne-enabled><use>/sim/rendering/rembrandt/debug-buffer[1]/enabled</use></buffer-ne-enabled>
<buffer-ne-name><use>/sim/rendering/rembrandt/debug-buffer[1]/name</use></buffer-ne-name>
<buffer-sw-enabled><use>/sim/rendering/rembrandt/debug-buffer[2]/enabled</use></buffer-sw-enabled>
<buffer-sw-name><use>/sim/rendering/rembrandt/debug-buffer[2]/name</use></buffer-sw-name>
<buffer-se-enabled><use>/sim/rendering/rembrandt/debug-buffer[3]/enabled</use></buffer-se-enabled>
<buffer-se-name><use>/sim/rendering/rembrandt/debug-buffer[3]/name</use></buffer-se-name>
</parameters>
<technique n="11">
<pass>
@ -16,77 +25,69 @@
<texture-unit>
<unit>0</unit>
<type>buffer</type>
<name>depth</name>
<name>lighting</name>
</texture-unit>
<texture-unit>
<unit>1</unit>
<type>buffer</type>
<name>normal</name>
<name>bloom-3</name>
</texture-unit>
<texture-unit>
<unit>2</unit>
<type>buffer</type>
<name>diffuse</name>
<name><use>buffer-nw-name</use></name>
</texture-unit>
<texture-unit>
<unit>3</unit>
<type>buffer</type>
<name>spec-emis</name>
<name><use>buffer-ne-name</use></name>
</texture-unit>
<texture-unit>
<unit>4</unit>
<type>buffer</type>
<name>lighting</name>
<name><use>buffer-sw-name</use></name>
</texture-unit>
<texture-unit>
<unit>5</unit>
<type>buffer</type>
<name>bloom-3</name>
</texture-unit>
<texture-unit>
<unit>6</unit>
<type>buffer</type>
<name>ao-3</name>
<name><use>buffer-se-name</use></name>
</texture-unit>
<program>
<vertex-shader>Shaders/fullscreen.vert</vertex-shader>
<fragment-shader>Shaders/display.frag</fragment-shader>
</program>
<uniform>
<name>depth_tex</name>
<name>lighting_tex</name>
<type>sampler-2d</type>
<value type="int">0</value>
</uniform>
<uniform>
<name>normal_tex</name>
<name>bloom_tex</name>
<type>sampler-2d</type>
<value type="int">1</value>
</uniform>
<uniform>
<name>color_tex</name>
<name>bufferNW_tex</name>
<type>sampler-2d</type>
<value type="int">2</value>
</uniform>
<uniform>
<name>specular_tex</name>
<name>bufferNE_tex</name>
<type>sampler-2d</type>
<value type="int">3</value>
</uniform>
<uniform>
<name>lighting_tex</name>
<name>bufferSW_tex</name>
<type>sampler-2d</type>
<value type="int">4</value>
</uniform>
<uniform>
<name>bloom_tex</name>
<name>bufferSE_tex</name>
<type>sampler-2d</type>
<value type="int">5</value>
</uniform>
<uniform>
<name>ao_tex</name>
<type>sampler-2d</type>
<value type="int">6</value>
</uniform>
<uniform>
<name>exposure</name>
<type>float</type>
@ -97,16 +98,38 @@
<type>bool</type>
<value type="bool"><use>show-buffers</use></value>
</uniform>
<uniform>
<name>ambientOcclusion</name>
<name>bufferNW_enabled</name>
<type>bool</type>
<value type="bool"><use>ambient-occlusion</use></value>
<value type="bool"><use>buffer-nw-enabled</use></value>
</uniform>
<uniform>
<name>bufferNE_enabled</name>
<type>bool</type>
<value type="bool"><use>buffer-ne-enabled</use></value>
</uniform>
<uniform>
<name>bufferSW_enabled</name>
<type>bool</type>
<value type="bool"><use>buffer-sw-enabled</use></value>
</uniform>
<uniform>
<name>bufferSE_enabled</name>
<type>bool</type>
<value type="bool"><use>buffer-se-enabled</use></value>
</uniform>
<uniform>
<name>bloomEnabled</name>
<type>bool</type>
<value type="bool"><use>bloom</use></value>
</uniform>
<uniform>
<name>bloomBuffers</name>
<type>bool</type>
<value type="bool"><use>bloom-buffers</use></value>
</uniform>
</pass>
</technique>
</PropertyList>

View file

@ -155,8 +155,8 @@ _setlistener("/sim/signals/nasal-dir-initialized", func {
}
menuEnable("autopilot", isAutopilotMenuEnabled() );
menuEnable("joystick-info", size(props.globals.getNode("/input/joysticks").getChildren("js")));
menuEnable("ambient-occlusion", getprop("/sim/rendering/rembrandt/enabled") and getprop("/sim/rendering/rembrandt/ambient-occlusion-buffers"));
menuEnable("rendering-buffers", getprop("/sim/rendering/rembrandt/enabled"));
menuEnable("rembrandt-buffers-choice", getprop("/sim/rendering/rembrandt/enabled"));
# frame-per-second display
var fps = props.globals.getNode("/sim/rendering/fps-display", 1);

View file

@ -363,7 +363,7 @@ var scanf = func(test, format, result) {
return 0;
} else {
sucess = 2; # safe match
success = 2; # safe match
}
}
return str.getc() == nil and format.getc() == nil ? success : 0;

View file

@ -4,6 +4,8 @@ uniform sampler2D normal_tex;
uniform sampler2D spec_emis_tex;
uniform vec4 fg_SunAmbientColor;
uniform bool ambientOcclusion;
uniform float ambientOcclusionStrength;
void main() {
vec2 coords = gl_TexCoord[0].xy;
float initialized = texture2D( spec_emis_tex, coords ).a;
@ -12,7 +14,7 @@ void main() {
vec3 tcolor = texture2D( color_tex, coords ).rgb;
float ao = 1.0;
if (ambientOcclusion) {
ao = texture2D( ao_tex, coords ).r;
ao = 1.0 - ambientOcclusionStrength * (1.0 - texture2D( ao_tex, coords ).r);
}
gl_FragColor = vec4(tcolor*fg_SunAmbientColor.rgb*ao, 1.0);
gl_FragColor = vec4(tcolor * fg_SunAmbientColor.rgb * ao, 1.0);
}

View file

@ -1,15 +1,21 @@
uniform sampler2D depth_tex;
uniform sampler2D normal_tex;
uniform sampler2D color_tex;
uniform sampler2D specular_tex;
uniform sampler2D lighting_tex;
uniform sampler2D bloom_tex;
uniform sampler2D ao_tex;
uniform sampler2D bufferNW_tex;
uniform sampler2D bufferNE_tex;
uniform sampler2D bufferSW_tex;
uniform sampler2D bufferSE_tex;
uniform float exposure;
uniform bool showBuffers;
uniform bool fg_DepthInColor;
uniform bool ambientOcclusion;
uniform bool bloomEnabled;
uniform bool bloomBuffers;
uniform bool bufferNW_enabled;
uniform bool bufferNE_enabled;
uniform bool bufferSW_enabled;
uniform bool bufferSE_enabled;
vec3 HDR(vec3 L) {
L = L * exposure;
@ -23,25 +29,23 @@ void main() {
vec2 coords = gl_TexCoord[0].xy;
vec4 color;
if (showBuffers) {
if (coords.x < 0.2 && coords.y < 0.2) {
color = texture2D( normal_tex, coords * 5.0 );
} else if (coords.x >= 0.8 && coords.y >= 0.8) {
color = texture2D( specular_tex, (coords - vec2( 0.8, 0.8 )) * 5.0 );
} else if (coords.x >= 0.8 && coords.y < 0.2) {
color = texture2D( color_tex, (coords - vec2( 0.8, 0.0 )) * 5.0 );
} else if (coords.x < 0.2 && coords.y >= 0.8 && fg_DepthInColor) {
color = texture2D( depth_tex, (coords - vec2( 0.0, 0.8 )) * 5.0 );
} else if (coords.x < 0.2 && coords.y >= 0.8 && bloomEnabled) {
color = texture2D( bloom_tex, (coords - vec2( 0.0, 0.8 )) * 5.0 );
if (coords.x < 0.2 && coords.y < 0.2 && bufferSW_enabled) {
color = texture2D( bufferSW_tex, coords * 5.0 );
} else if (coords.x >= 0.8 && coords.y >= 0.8 && bufferNE_enabled) {
color = texture2D( bufferNE_tex, (coords - vec2( 0.8, 0.8 )) * 5.0 );
} else if (coords.x >= 0.8 && coords.y < 0.2 && bufferSE_enabled) {
color = texture2D( bufferSE_tex, (coords - vec2( 0.8, 0.0 )) * 5.0 );
} else if (coords.x < 0.2 && coords.y >= 0.8 && bufferNW_enabled) {
color = texture2D( bufferNW_tex, (coords - vec2( 0.0, 0.8 )) * 5.0 );
} else {
color = texture2D( lighting_tex, coords );
if (bloomEnabled)
if (bloomEnabled && bloomBuffers)
color = color + texture2D( bloom_tex, coords );
//color = vec4( HDR( color.rgb ), 1.0 );
}
} else {
color = texture2D( lighting_tex, coords );
if (bloomEnabled)
if (bloomEnabled && bloomBuffers)
color = color + texture2D( bloom_tex, coords );
//color = vec4( HDR( color.rgb ), 1.0 );
}

View file

@ -4,13 +4,27 @@
// <20> Emilian Huminiuc 2011
// Ambient term comes in gl_Color.rgb.
varying vec4 diffuse_term, RawPos;
varying vec3 Vnormal, normal;
//varying float fogCoord;
varying vec4 diffuse_term;
varying vec4 RawPos;
varying vec3 normal;
varying vec3 Vnormal;
uniform float SnowLevel;
uniform float Transitions;
uniform float InverseSlope;
uniform float RainNorm;
uniform float CloudCover0;
uniform float CloudCover1;
uniform float CloudCover2;
uniform float CloudCover3;
uniform float CloudCover4;
uniform sampler2D BaseTex;
uniform sampler2D SecondTex;
uniform sampler2D ThirdTex;
uniform sampler2D SnowTex;
uniform float SnowLevel, Transitions, InverseSlope, RainNorm;
uniform float CloudCover0, CloudCover1, CloudCover2, CloudCover3, CloudCover4;
uniform sampler2D BaseTex, SecondTex, ThirdTex, SnowTex;
uniform sampler3D NoiseTex;
////fog "include" /////
@ -21,10 +35,25 @@ vec3 fog_Func(vec3 color, int type);
void main()
{
float MixFactor, NdotL, NdotHV, fogFactor, cover, slope, L1, L2, wetness;
float MixFactor;
float NdotL;
float NdotHV;
float fogFactor;
float cover;
float slope;
float L1;
float L2;
float wetness;
vec3 n, lightDir, halfVector;
vec4 texel, fragColor, color, specular, Noise;
vec3 n;
vec3 lightDir;
vec3 halfVector;
vec4 texel;
vec4 fragColor;
vec4 color;
vec4 specular;
vec4 Noise;
lightDir = gl_LightSource[0].position.xyz;
halfVector = gl_LightSource[0].halfVector.xyz;
@ -68,9 +97,10 @@ void main()
//pull the texture fetch outside flow control to fix aliasing artefacts :(
vec4 baseTexel = texture2D(BaseTex, gl_TexCoord[0].st);
vec4 secondTexel = texture2D(SecondTex, gl_TexCoord[0].st);
vec4 thirdTexel = texture2D(ThirdTex, gl_TexCoord[0].st);
vec4 snowTexel = texture2D(SnowTex, gl_TexCoord[0].st);
vec4 secondTexel = texture2D(SecondTex, gl_TexCoord[0].st);
vec4 thirdTexel = texture2D(ThirdTex, gl_TexCoord[0].st);
vec4 snowTexel = texture2D(SnowTex, gl_TexCoord[0].st);
//Normal transition. For more abrupt faces apply another texture (or 2).
if (InverseSlope == 0.0) {
//Do we do an intermediate transition
@ -123,11 +153,14 @@ void main()
wetness = 1.0 - 0.3 * RainNorm;
texel.rgb = texel.rgb * wetness;
float altitude = RawPos.z;
float altitude = RawPos.z;
//Snow texture for areas higher than SnowLevel
if (altitude >= SnowLevel - (1000.0 * slope + 300.0 * MixFactor) && slope > L2 - 0.12) {
texel = mix(texel, mix(texel, snowTexel, smoothstep(L2 - 0.09 * MixFactor, L2, slope)), smoothstep(SnowLevel - (1000.0 * slope + 300.0 * MixFactor), SnowLevel - (1000.0 * slope - 150.0 * MixFactor), altitude));
texel = mix(texel, mix(texel, snowTexel, smoothstep(L2 - 0.09 * MixFactor, L2, slope)),
smoothstep(SnowLevel - (1000.0 * slope + 300.0 * MixFactor),
SnowLevel - (1000.0 * slope - 150.0 * MixFactor),
altitude)
);
}
fragColor = color * texel + specular;
@ -142,6 +175,5 @@ void main()
//fogFactor = exp(-gl_Fog.density * gl_Fog.density * fogCoord * fogCoord);
fragColor.rgb *= 1.2 - 0.4 * MixFactor;
fragColor.rgb = fog_Func(fragColor.rgb, fogType);
//gl_FragColor = mix(gl_Fog.color, fragColor, fogFactor);
gl_FragColor = fragColor;
}
}

View file

@ -70,8 +70,8 @@ void main (void)
vec4 lightmapTexel = texture2D(LightMapTex, gl_TexCoord[0].st);
vec3 mixedcolor;
vec3 N;
float pf;
vec3 N = vec3(0.0,0.0,1.0);
float pf = 0.0;
///BEGIN bump
if (nmap_enabled > 0 && shader_qual > 2){
@ -114,7 +114,7 @@ void main (void)
//BEGIN reflect
////////////////////////////////////////////////////////////////////
if (refl_enabled > 0 && shader_qual > 1){
float reflFactor;
float reflFactor = 0.0;
float transparency_offset = clamp(refl_correction, -1.0, 1.0);// set the user shininess offset
if(refl_map > 0){
@ -174,15 +174,13 @@ void main (void)
color.a = texel.a * alpha;
vec4 fragColor = vec4(color.rgb * mixedcolor + ambient_Correction.rgb, color.a);
fragColor += Specular * nmap.a;
//////////////////////////////////////////////////////////////////////
// BEGIN lightmap
//////////////////////////////////////////////////////////////////////
if ( lightmap_enabled >= 1 ) {
vec3 lightmapcolor;
vec3 lightmapcolor = vec3(0.0);
vec4 lightmapFactor = vec4(lightmap_r_factor, lightmap_g_factor,
lightmap_b_factor, lightmap_a_factor);
lightmapFactor = lightmapFactor * lightmapTexel;

View file

@ -99,8 +99,8 @@
<logging>Logging</logging>
<local_weather>Local Weather (Test)</local_weather>
<print-scene-info>Print Visible Scene Info</print-scene-info>
<ambient-occlusion>Hide/Show Ambient occlusion</ambient-occlusion>
<rendering-buffers>Hide/Show Rendering Buffers</rendering-buffers>
<rembrandt-buffers-choice>Select Rendering Buffers</rembrandt-buffers-choice>
<!-- Help menu -->
<help>Help</help>

View file

@ -0,0 +1,275 @@
<?xml version="1.0"?>
<PropertyList>
<name>rembrandt-buffers</name>
<modal>false</modal>
<layout>vbox</layout>
<padding>20</padding>
<group>
<layout>hbox</layout>
<empty>
<stretch>1</stretch>
</empty>
<text>
<label>Rendering buffers</label>
</text>
<empty>
<stretch>1</stretch>
</empty>
<button>
<pref-width>16</pref-width>
<pref-height>16</pref-height>
<legend></legend>
<keynum>27</keynum>
<border>2</border>
<binding>
<command>dialog-close</command>
</binding>
</button>
</group>
<hrule/>
<group>
<layout>table</layout>
<checkbox>
<halign>left</halign>
<label>North West buffer</label>
<name>buffer-nw-enabled</name>
<row>0</row>
<col>0</col>
<colspan>2</colspan>
<property>/sim/rendering/rembrandt/debug-buffer[0]/enabled</property>
<binding>
<command>dialog-apply</command>
<object-name>buffer-nw-enabled</object-name>
</binding>
</checkbox>
<text>
<label>Buffer</label>
<halign>right</halign>
<row>1</row>
<col>0</col>
<enable>
<property>/sim/rendering/rembrandt/debug-buffer[0]/enabled</property>
</enable>
</text>
<combo>
<halign>left</halign>
<name>buffer-nw-name</name>
<row>1</row>
<col>1</col>
<property>/sim/rendering/rembrandt/debug-buffer[0]/name</property>
<value>real-depth</value>
<value>depth</value>
<value>normal</value>
<value>diffuse</value>
<value>spec-emis</value>
<value>ao-1</value>
<value>ao-2</value>
<value>ao-3</value>
<value>bloom-1</value>
<value>bloom-2</value>
<value>bloom-3</value>
<value>lighting</value>
<binding>
<command>dialog-apply</command>
<object-name>buffer-nw-name</object-name>
</binding>
<enable>
<property>/sim/rendering/rembrandt/debug-buffer[0]/enabled</property>
</enable>
</combo>
<vrule>
<row>0</row>
<col>2</col>
<rowspan>2</rowspan>
</vrule>
<hrule>
<row>2</row>
<col>0</col>
<colspan>2</colspan>
</hrule>
<checkbox>
<halign>left</halign>
<label>North East buffer</label>
<name>buffer-ne-enabled</name>
<row>0</row>
<col>3</col>
<colspan>2</colspan>
<property>/sim/rendering/rembrandt/debug-buffer[1]/enabled</property>
<binding>
<command>dialog-apply</command>
<object-name>buffer-ne-enabled</object-name>
</binding>
</checkbox>
<text>
<label>Buffer</label>
<halign>right</halign>
<row>1</row>
<col>3</col>
<enable>
<property>/sim/rendering/rembrandt/debug-buffer[1]/enabled</property>
</enable>
</text>
<combo>
<halign>left</halign>
<name>buffer-ne-name</name>
<row>1</row>
<col>4</col>
<property>/sim/rendering/rembrandt/debug-buffer[1]/name</property>
<value>real-depth</value>
<value>depth</value>
<value>normal</value>
<value>diffuse</value>
<value>spec-emis</value>
<value>ao-1</value>
<value>ao-2</value>
<value>ao-3</value>
<value>bloom-1</value>
<value>bloom-2</value>
<value>bloom-3</value>
<value>lighting</value>
<binding>
<command>dialog-apply</command>
<object-name>buffer-ne-name</object-name>
</binding>
<enable>
<property>/sim/rendering/rembrandt/debug-buffer[1]/enabled</property>
</enable>
</combo>
<checkbox>
<halign>left</halign>
<label>South West buffer</label>
<name>buffer-sw-enabled</name>
<row>3</row>
<col>0</col>
<colspan>2</colspan>
<property>/sim/rendering/rembrandt/debug-buffer[2]/enabled</property>
<binding>
<command>dialog-apply</command>
<object-name>buffer-sw-enabled</object-name>
</binding>
</checkbox>
<text>
<label>Buffer</label>
<halign>right</halign>
<row>4</row>
<col>0</col>
<enable>
<property>/sim/rendering/rembrandt/debug-buffer[2]/enabled</property>
</enable>
</text>
<combo>
<halign>left</halign>
<name>buffer-sw-name</name>
<row>4</row>
<col>1</col>
<property>/sim/rendering/rembrandt/debug-buffer[2]/name</property>
<value>real-depth</value>
<value>depth</value>
<value>normal</value>
<value>diffuse</value>
<value>spec-emis</value>
<value>ao-1</value>
<value>ao-2</value>
<value>ao-3</value>
<value>bloom-1</value>
<value>bloom-2</value>
<value>bloom-3</value>
<value>lighting</value>
<binding>
<command>dialog-apply</command>
<object-name>buffer-sw-name</object-name>
</binding>
<enable>
<property>/sim/rendering/rembrandt/debug-buffer[2]/enabled</property>
</enable>
</combo>
<vrule>
<row>3</row>
<col>2</col>
<rowspan>2</rowspan>
</vrule>
<hrule>
<row>2</row>
<col>3</col>
<colspan>2</colspan>
</hrule>
<checkbox>
<halign>left</halign>
<label>South East buffer</label>
<name>buffer-se-enabled</name>
<row>3</row>
<col>3</col>
<colspan>2</colspan>
<property>/sim/rendering/rembrandt/debug-buffer[3]/enabled</property>
<binding>
<command>dialog-apply</command>
<object-name>buffer-se-enabled</object-name>
</binding>
</checkbox>
<text>
<label>Buffer</label>
<halign>right</halign>
<row>4</row>
<col>3</col>
<enable>
<property>/sim/rendering/rembrandt/debug-buffer[3]/enabled</property>
</enable>
</text>
<combo>
<halign>left</halign>
<name>buffer-se-name</name>
<row>4</row>
<col>4</col>
<property>/sim/rendering/rembrandt/debug-buffer[3]/name</property>
<value>real-depth</value>
<value>depth</value>
<value>normal</value>
<value>diffuse</value>
<value>spec-emis</value>
<value>ao-1</value>
<value>ao-2</value>
<value>ao-3</value>
<value>bloom-1</value>
<value>bloom-2</value>
<value>bloom-3</value>
<value>lighting</value>
<binding>
<command>dialog-apply</command>
<object-name>buffer-se-name</object-name>
</binding>
<enable>
<property>/sim/rendering/rembrandt/debug-buffer[3]/enabled</property>
</enable>
</combo>
</group>
<hrule/>
<button>
<legend>Close</legend>
<default>true</default>
<key>Esc</key>
<binding>
<command>dialog-close</command>
</binding>
</button>
</PropertyList>

View file

@ -222,7 +222,7 @@
<command>dialog-apply</command>
<object-name>random-objects</object-name>
</binding>
</checkbox>
</checkbox>
<checkbox>
<halign>left</halign>
@ -306,13 +306,13 @@
</text>
</group>
<button>
<legend>Reload Scenery</legend>
<button>
<legend>Reload Scenery</legend>
<binding>
<command>reinit</command>
<subsystem>tile-manager</subsystem>
</binding>
</button>
</button>
<group>
<layout>vbox</layout>
@ -568,7 +568,10 @@
<object-name>bloom</object-name>
</binding>
<visible>
<property>/sim/rendering/rembrandt/enabled</property>
<and>
<property>/sim/rendering/rembrandt/enabled</property>
<property>/sim/rendering/rembrandt/bloom-buffers</property>
</and>
</visible>
</checkbox>
@ -582,10 +585,53 @@
<object-name>occlusion</object-name>
</binding>
<visible>
<property>/sim/rendering/rembrandt/enabled</property>
<and>
<property>/sim/rendering/rembrandt/enabled</property>
<property>/sim/rendering/rembrandt/ambient-occlusion-buffers</property>
</and>
</visible>
</checkbox>
<group>
<layout>hbox</layout>
<halign>right</halign>
<visible>
<and>
<property>/sim/rendering/rembrandt/enabled</property>
<property>/sim/rendering/rembrandt/ambient-occlusion-buffers</property>
</and>
</visible>
<text>
<label>Ambient occlusion strength</label>
<enable>
<property>/sim/rendering/rembrandt/ambient-occlusion</property>
</enable>
</text>
<slider>
<name>ambient-occlusion-strength</name>
<enable>
<property>/sim/rendering/rembrandt/ambient-occlusion</property>
</enable>
<min>0.0</min>
<max>1.0</max>
<step>0.01</step>
<property>/sim/rendering/rembrandt/ambient-occlusion-strength</property>
<binding>
<command>dialog-apply</command>
<object-name>ambient-occlusion-strength</object-name>
</binding>
</slider>
<text>
<enable>
<property>/sim/rendering/rembrandt/ambient-occlusion</property>
</enable>
<label>12345678</label>
<format>%.2f</format>
<live>true</live>
<property>/sim/rendering/rembrandt/ambient-occlusion-strength</property>
</text>
</group>
<checkbox>
<halign>left</halign>
<label>Shadows</label>

View file

@ -659,19 +659,19 @@
</item>
<item>
<name>ambient-occlusion</name>
<name>rendering-buffers</name>
<binding>
<command>property-toggle</command>
<property>/sim/rendering/rembrandt/ambient-occlusion</property>
<property>/sim/rendering/rembrandt/show-buffers</property>
</binding>
<enabled>false</enabled>
</item>
<item>
<name>rendering-buffers</name>
<name>rembrandt-buffers-choice</name>
<binding>
<command>property-toggle</command>
<property>/sim/rendering/rembrandt/show-buffers</property>
<command>dialog-show</command>
<dialog-name>rembrandt-buffers</dialog-name>
</binding>
<enabled>false</enabled>
</item>

View file

@ -69,12 +69,29 @@ Started September 2000 by David Megginson, david@megginson.com
<renderer>default-pipeline</renderer>
<show-buffers type="bool" userarchive="y">false</show-buffers>
<ambient-occlusion type="bool" userarchive="y">false</ambient-occlusion>
<ambient-occlusion-strength type="float" userarchive="y">1.0</ambient-occlusion-strength>
<ambient-occlusion-buffers type="bool">true</ambient-occlusion-buffers>
<bloom type="bool" userarchive="y">true</bloom>
<bloom-buffers type="bool">true</bloom-buffers>
<exposure type="float" userarchive="y">1.0</exposure>
<use-color-for-depth type="bool">false</use-color-for-depth>
<no-16bit-buffer type="bool">true</no-16bit-buffer>
<debug-buffer n="0">
<enabled type="bool" userarchive="y">false</enabled>
<name userarchive="y"></name>
</debug-buffer>
<debug-buffer n="1">
<enabled type="bool" userarchive="y">true</enabled>
<name userarchive="y">spec-emis</name>
</debug-buffer>
<debug-buffer n="2">
<enabled type="bool" userarchive="y">true</enabled>
<name userarchive="y">normal</name>
</debug-buffer>
<debug-buffer n="3">
<enabled type="bool" userarchive="y">true</enabled>
<name userarchive="y">diffuse</name>
</debug-buffer>
</rembrandt>
<debug type="bool">false</debug>
<realism type="int">5</realism>