Merge remote-tracking branch 'singu/master'
This commit is contained in:
@@ -701,7 +701,23 @@ CHARACTER_MAX_TURN_RADIUS TODO: add documentation
|
||||
# --- OpenSim and Aurora-Sim constants Below ---
|
||||
# OpenSim Constants (\OpenSim\Region\ScriptEngine\Shared\Api\Runtime\LSL_Constants.cs)
|
||||
# Constants for cmWindlight (\OpenSim\Region\ScriptEngine\Shared\Api\Runtime\CM_Constants.cs)
|
||||
CHANGED_ANIMATION OpenSim change event animation change detection.
|
||||
CHANGED_ANIMATION OpenSim change event animation change detection.
|
||||
CAMERA_FOCUS_OFFSET_X OpenSim enhancement for llSetCameraParams(), adjusts the camera focus x position relative to the target. (float)
|
||||
CAMERA_FOCUS_OFFSET_Y OpenSim enhancement for llSetCameraParams(), adjusts the camera focus y position relative to the target. (float)
|
||||
CAMERA_FOCUS_OFFSET_Z OpenSim enhancement for llSetCameraParams(), adjusts the camera focus z position relative to the target. (float)
|
||||
CAMERA_POSITION_X OpenSim enhancement for llSetCameraParams(), sets camera x position in region coordinates. (float)
|
||||
CAMERA_POSITION_Y OpenSim enhancement for llSetCameraParams(), sets camera y position in region coordinates. (float)
|
||||
CAMERA_POSITION_Z OpenSim enhancement for llSetCameraParams(), sets camera z position in region coordinates. (float)
|
||||
CAMERA_FOCUS_X OpenSim enhancement for llSetCameraParams(), sets camera x focus (target position) in region coordinates. (float)
|
||||
CAMERA_FOCUS_Y OpenSim enhancement for llSetCameraParams(), sets camera y focus (target position) in region coordinates. (float)
|
||||
CAMERA_FOCUS_Z OpenSim enhancement for llSetCameraParams(), sets camera z focus (target position) in region coordinates. (float)
|
||||
OS_LISTEN_REGEX_NAME Value 0x1, process name parameter as regex
|
||||
OS_LISTEN_REGEX_MESSAGE Value 0x2, process name parameter as regex
|
||||
OS_ATTACH_MSG_ALL Used with osMessageAttachements
|
||||
OS_ATTACH_MSG_INVERT_POINTS Used with osMessageAttachements
|
||||
OS_ATTACH_MSG_OBJECT_CREATOR Used with osMessageAttachements
|
||||
OS_ATTACH_MSG_SCRIPT_CREATOR Used with osMessageAttachements
|
||||
PARCEL_DETAILS_CLAIMDATE Used with osSetParcelDetails
|
||||
# osGetRegionStats
|
||||
STATS_TIME_DILATION returned value from osGetRegionStats(), 1st of 21 items in returned list.
|
||||
STATS_SIM_FPS returned value from osGetRegionStats(), 2nd of 21 items in returned list.
|
||||
@@ -725,14 +741,15 @@ STATS_PENDING_UPLOADS returned value from osGetRegionStats(), 19th of 21 items
|
||||
STATS_ACTIVE_SCRIPTS returned value from osGetRegionStats(), 20th of 21 items in returned list.
|
||||
STATS_SCRIPT_LPS returned value from osGetRegionStats(), 21st of 21 items in returned list.
|
||||
# OpenSim NPC
|
||||
OS_NPC_FLY used by osNPC.
|
||||
OS_NPC_NO_FLY used by osNPC.
|
||||
OS_NPC_LAND_AT_TARGET used by osNPC.
|
||||
OS_NPC_SIT_NOW used by osNPC.
|
||||
OS_NPC_CREATOR_OWNED used by osNPC.
|
||||
OS_NPC_NOT_OWNED used by osNPC.
|
||||
OS_NPC_SENSE_AS_AGENT used by osNPC.
|
||||
OS_NPC_RUNNING used by osNPC.
|
||||
OS_NPC used by osNPC. Value 0x01000000
|
||||
OS_NPC_FLY used by osNPC. Value 0
|
||||
OS_NPC_NO_FLY used by osNPC. Value 1
|
||||
OS_NPC_LAND_AT_TARGET used by osNPC. Value 2
|
||||
OS_NPC_SIT_NOW used by osNPC. Value 0
|
||||
OS_NPC_CREATOR_OWNED used by osNPC. Value 0x1
|
||||
OS_NPC_NOT_OWNED used by osNPC. Value 0x2
|
||||
OS_NPC_SENSE_AS_AGENT used by osNPC. Value 0x4
|
||||
OS_NPC_RUNNING used by osNPC. Value 4
|
||||
# Windlight/Lightshare
|
||||
WL_WATER_COLOR Windlight Water Colour
|
||||
WL_WATER_FOG_DENSITY_EXPONENT Windlight Water Fog Density Exponent
|
||||
@@ -771,7 +788,15 @@ WL_CLOUD_SCROLL_Y Windlight Cloud Scroll Y
|
||||
WL_CLOUD_SCROLL_Y_LOCK Windlight Cloud Scroll Y Lock
|
||||
WL_CLOUD_SCROLL_X_LOCK Windlight Cloud Scroll X Lock
|
||||
WL_DRAW_CLASSIC_CLOUDS Windlight Draw Classic Clouds
|
||||
# Aurora-Sim Constants (\Aurora\AuroraDotNetEngine\APIs\AA_Constants.cs) -->
|
||||
# WL Constants added unique to Aurora-Sim
|
||||
WL_OK Value -1
|
||||
WL_ERROR Value -2
|
||||
WL_ERROR_NO_SCENE_SET Value -3
|
||||
WL_ERROR_SCENE_MUST_BE_STATIC Value -4
|
||||
WL_ERROR_SCENE_MUST_NOT_BE_STATIC Value -5
|
||||
WL_ERROR_BAD_SETTING Value -6
|
||||
WL_ERROR_NO_PRESET_FOUND Value -7
|
||||
# Aurora-Sim Constants (\Aurora\AuroraDotNetEngine\APIs\AA_Constants.cs)
|
||||
ENABLE_GRAVITY enable_gravity.
|
||||
GRAVITY_FORCE_X gravity_force_x.
|
||||
GRAVITY_FORCE_Y gravity_force_y.
|
||||
|
||||
@@ -247,6 +247,46 @@
|
||||
<map/>
|
||||
<key>osNpcWhisper</key>
|
||||
<map/>
|
||||
<key>osForceAttachToAvatar</key>
|
||||
<map/>
|
||||
<key>osForceAttachToAvatarFromInventory</key>
|
||||
<map/>
|
||||
<key>osForceAttachToOtherAvatarFromInventory</key>
|
||||
<map/>
|
||||
<key>osNpcTouch</key>
|
||||
<map/>
|
||||
<key>osNpcTouch</key>
|
||||
<map/>
|
||||
<key>osIsUUID</key>
|
||||
<map/>
|
||||
<key>osMin</key>
|
||||
<map/>
|
||||
<key>osMax</key>
|
||||
<map/>
|
||||
<key>osMax</key>
|
||||
<map/>
|
||||
<key>osGetRezzingObject</key>
|
||||
<map/>
|
||||
<key>osGetHealth</key>
|
||||
<map/>
|
||||
<key>osSetContentType</key>
|
||||
<map/>
|
||||
<key>osGetNumberOfAttachments</key>
|
||||
<map/>
|
||||
<key>osMessageAttachments</key>
|
||||
<map/>
|
||||
<key>osDropAttachments</key>
|
||||
<map/>
|
||||
<key>osDropAttachmentsAt</key>
|
||||
<map/>
|
||||
<key>osForceDropAttachments</key>
|
||||
<map/>
|
||||
<key>osForceDropAttachmentsAt</key>
|
||||
<map/>
|
||||
<key>osListenRegex</key>
|
||||
<map/>
|
||||
<key>osRegexIsMatch</key>
|
||||
<map/>
|
||||
|
||||
<!-- OSSL Functions Aurora-Sim Unique -->
|
||||
<key>osReturnObject</key>
|
||||
@@ -334,6 +374,24 @@
|
||||
<map/>
|
||||
<key>aaGetIsInfiniteRegion</key>
|
||||
<map/>
|
||||
<key>aaSetCharacterStat</key>
|
||||
<map/>
|
||||
<key>aaAllRegionInstanceSay</key>
|
||||
<map/>
|
||||
<key>aaWindlightGetDayCycle</key>
|
||||
<map/>
|
||||
<key>aaWindlightAddDayCycleFrame</key>
|
||||
<map/>
|
||||
<key>aaWindlightRemoveDayCycleFrame</key>
|
||||
<map/>
|
||||
<key>aaWindlightSetScene</key>
|
||||
<map/>
|
||||
<key>aaWindlightGetScene</key>
|
||||
<map/>
|
||||
<key>aaWindlightGetSceneIsStatic</key>
|
||||
<map/>
|
||||
<key>aaWindlightGetSceneDayCycleKeyFrameCount</key>
|
||||
<map/>
|
||||
<!-- botFunctions Aurora-Sim ONLY -->
|
||||
<key>botGetWaitingTime</key>
|
||||
<map/>
|
||||
@@ -370,4 +428,4 @@
|
||||
<key>botRemoveBotsWithTag</key>
|
||||
<map/>
|
||||
</map>
|
||||
</llsd>
|
||||
</llsd>
|
||||
|
||||
@@ -692,11 +692,55 @@
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
</map>
|
||||
<key>LiruAddNotReplace</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Add clothing and attachments instead of having them replace the currently worn or attached item at their destination.</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
<key>LiruContinueFlyingOnUnsit</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Fly after standing up, if you were flying when you sat down</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
<key>LiruFlyAfterTeleport</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Fly after teleports</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
<key>LiruNoTransactionClutter</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Use notifytips for transactions instead of notifys, this way they do not collect in the top right of the screen.</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
<key>LiruSensibleARC</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Use the old-style way to calculate Avatar Render Cost.
|
||||
<string>Use the old-style way to calculate Avatar Render Cost.
|
||||
Found in Advanced->Rendering->Info Displays</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
@@ -704,7 +748,7 @@ Found in Advanced->Rendering->Info Displays</string>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
</map>
|
||||
<key>MarketImporterUpdateFreq</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
@@ -865,6 +909,17 @@ This should be as low as possible, but too low may break functionality</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
<key>TurnAroundWhenWalkingBackwards</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Turn your avatar around to face the camera while walking backwards.</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>EmeraldBoobMass</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
@@ -6274,6 +6329,149 @@ This should be as low as possible, but too low may break functionality</string>
|
||||
<integer>0</integer>
|
||||
</array>
|
||||
</map>
|
||||
<key>RadarColumnMarkWidth</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Width for radar's mark column</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>S32</string>
|
||||
<key>Value</key>
|
||||
<integer>12</integer>
|
||||
</map>
|
||||
<key>RadarColumnPositionWidth</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Width for radar's position column</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>S32</string>
|
||||
<key>Value</key>
|
||||
<integer>60</integer>
|
||||
</map>
|
||||
<key>RadarColumnAltitudeWidth</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Width for radar's altitude column</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>S32</string>
|
||||
<key>Value</key>
|
||||
<integer>48</integer>
|
||||
</map>
|
||||
<key>RadarColumnActivityWidth</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Width for radar's activity column</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>S32</string>
|
||||
<key>Value</key>
|
||||
<integer>24</integer>
|
||||
</map>
|
||||
<key>RadarColumnAgeWidth</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Width for radar's age column</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>S32</string>
|
||||
<key>Value</key>
|
||||
<integer>45</integer>
|
||||
</map>
|
||||
<key>RadarColumnTimeWidth</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Width for radar's time column</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>S32</string>
|
||||
<key>Value</key>
|
||||
<integer>52</integer>
|
||||
</map>
|
||||
<key>RadarColumnMarkHidden</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Hide radar's mark column</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
<key>RadarColumnPositionHidden</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Hide radar's position column</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
<key>RadarColumnAltitudeHidden</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Hide radar's altitude column</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
<key>RadarColumnActivityHidden</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Hide radar's activity column</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
<key>RadarColumnAgeHidden</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Hide radar's age column</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
<key>RadarColumnTimeHidden</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Hide radar's time column</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>RadarColumnClientHidden</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Hide radar's client column</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
<key>RadarKeepOpen</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
@@ -6340,6 +6538,28 @@ This should be as low as possible, but too low may break functionality</string>
|
||||
<key>Value</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>RadarAlertAge</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Whether the radar emits chat alerts for avatars younger than AvatarAgeAlertDays appearing.</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
<key>AvatarAgeAlertDays</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Age below which avatars will be made known to you</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>U32</string>
|
||||
<key>Value</key>
|
||||
<integer>3</integer>
|
||||
</map>
|
||||
<key>RadarChatAlerts</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
|
||||
@@ -60,7 +60,7 @@ void main()
|
||||
|
||||
/// Gamma correct for WL (soft clip effect).
|
||||
frag_data[0] = vec4(scaleSoftClip(color.rgb), 1.0);
|
||||
frag_data[1] = vec4(0.0,0.0,0.0,0.0);
|
||||
frag_data[1] = vec4(vary_HazeColor.a,0.0,0.0,0.0);
|
||||
//#define PACK_NORMALS
|
||||
#ifdef PACK_NORMALS
|
||||
frag_data[2] = vec4(0.5,0.5,0.0,0.0);
|
||||
|
||||
@@ -53,6 +53,13 @@ uniform vec4 glow;
|
||||
|
||||
uniform vec4 cloud_color;
|
||||
|
||||
float luminance(vec3 color)
|
||||
{
|
||||
/// CALCULATING LUMINANCE (Using NTSC lum weights)
|
||||
/// http://en.wikipedia.org/wiki/Luma_%28video%29
|
||||
return dot(color, vec3(0.299, 0.587, 0.114));
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
|
||||
@@ -151,6 +158,7 @@ void main()
|
||||
// At horizon, blend high altitude sky color towards the darker color below the clouds
|
||||
vary_HazeColor += (additiveColorBelowCloud - vary_HazeColor) * (1. - sqrt(temp1));
|
||||
|
||||
vary_HazeColor.a = pow(clamp(luminance(vary_HazeColor.rgb)-.5,0,1),2);
|
||||
// won't compile on mac without this being set
|
||||
//vary_AtmosAttenuation = vec3(0.0,0.0,0.0);
|
||||
}
|
||||
|
||||
@@ -278,6 +278,13 @@ vec3 unpack(vec2 tc)
|
||||
#endif
|
||||
}
|
||||
|
||||
float luminance(vec3 color)
|
||||
{
|
||||
/// CALCULATING LUMINANCE (Using NTSC lum weights)
|
||||
/// http://en.wikipedia.org/wiki/Luma_%28video%29
|
||||
return dot(color, vec3(0.299, 0.587, 0.114));
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
vec2 tc = vary_fragcoord.xy;
|
||||
@@ -316,17 +323,20 @@ void main()
|
||||
|
||||
//add environmentmap
|
||||
vec3 env_vec = env_mat * refnormpersp;
|
||||
col = mix(col.rgb, textureCube(environmentMap, env_vec).rgb,
|
||||
max(spec.a-diffuse.a*2.0, 0.0));
|
||||
vec3 env = textureCube(environmentMap, env_vec).rgb;
|
||||
bloom = (luminance(env) - .45)*.25;
|
||||
col = mix(col.rgb, env,
|
||||
max(spec.a-diffuse.a*2.0, 0.0));
|
||||
}
|
||||
|
||||
col = atmosLighting(col);
|
||||
col = scaleSoftClip(col);
|
||||
|
||||
col = mix(col.rgb, diffuse.rgb, diffuse.a);
|
||||
col = mix(col, diffuse.rgb, diffuse.a);
|
||||
}
|
||||
else
|
||||
{
|
||||
bloom = spec.r;
|
||||
col = diffuse.rgb;
|
||||
}
|
||||
|
||||
|
||||
@@ -29,6 +29,8 @@ out vec4 frag_data[3];
|
||||
#define frag_data gl_FragData
|
||||
#endif
|
||||
|
||||
uniform float custom_alpha;
|
||||
|
||||
VARYING vec4 vertex_color;
|
||||
VARYING vec2 vary_texcoord0;
|
||||
|
||||
@@ -38,7 +40,7 @@ void main()
|
||||
{
|
||||
vec4 col = vertex_color * texture2D(diffuseMap, vary_texcoord0.xy);
|
||||
|
||||
frag_data[0] = col;
|
||||
frag_data[0] = vec4(col.rgb,col.a*custom_alpha);
|
||||
frag_data[1] = vec4(0,0,0,0);
|
||||
//#define PACK_NORMALS
|
||||
#ifdef PACK_NORMALS
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
/**
|
||||
* @file colorFilterF.glsl
|
||||
*
|
||||
* Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
|
||||
* $License$
|
||||
*/
|
||||
|
||||
#extension GL_ARB_texture_rectangle : enable
|
||||
|
||||
#ifdef DEFINE_GL_FRAGCOLOR
|
||||
out vec4 frag_color;
|
||||
#else
|
||||
#define frag_color gl_FragColor
|
||||
#endif
|
||||
|
||||
uniform sampler2DRect tex0;
|
||||
uniform float vignette_strength; //0 - 1
|
||||
uniform float vignette_radius; //0 - 8
|
||||
uniform float vignette_darkness; //0 - 1
|
||||
uniform float vignette_desaturation; //0 - 10
|
||||
uniform float vignette_chromatic_aberration; //0 - .1
|
||||
uniform vec2 screen_res;
|
||||
|
||||
VARYING vec2 vary_texcoord0;
|
||||
|
||||
float luminance(vec3 color)
|
||||
{
|
||||
/// CALCULATING LUMINANCE (Using NTSC lum weights)
|
||||
/// http://en.wikipedia.org/wiki/Luma_%28video%29
|
||||
return dot(color, vec3(0.299, 0.587, 0.114));
|
||||
}
|
||||
|
||||
void main(void)
|
||||
{
|
||||
vec3 color = texture2DRect(tex0, vary_texcoord0).rgb;
|
||||
vec2 norm_texcood = (vary_texcoord0/screen_res);
|
||||
vec2 offset = norm_texcood-vec2(.5);
|
||||
float vignette = clamp(pow(1 - dot(offset,offset),vignette_radius) + 1-vignette_strength, 0.0, 1.0);
|
||||
float inv_vignette = 1-vignette;
|
||||
|
||||
//vignette chromatic aberration (g
|
||||
vec2 shift = screen_res * offset * vignette_chromatic_aberration * inv_vignette;
|
||||
float g = texture2DRect(tex0,vary_texcoord0-shift).g;
|
||||
float b = texture2DRect(tex0,vary_texcoord0-2*shift).b;
|
||||
color.gb = vec2(g,b);
|
||||
|
||||
//vignette 'black' overlay.
|
||||
color = mix(color * vignette, color, 1-vignette_darkness);
|
||||
|
||||
//vignette desaturation
|
||||
color = mix(vec3(luminance(color)), color, clamp(1-inv_vignette*vignette_desaturation,0,1));
|
||||
|
||||
frag_color = vec4(color,1.0);
|
||||
}
|
||||
@@ -25,6 +25,13 @@ uniform float gamma;
|
||||
|
||||
VARYING vec2 vary_texcoord0;
|
||||
|
||||
float luminance(vec3 color)
|
||||
{
|
||||
/// CALCULATING LUMINANCE (Using NTSC lum weights)
|
||||
/// http://en.wikipedia.org/wiki/Luma_%28video%29
|
||||
return dot(color, vec3(0.299, 0.587, 0.114));
|
||||
}
|
||||
|
||||
void main(void)
|
||||
{
|
||||
vec3 color = vec3(texture2DRect(tex0, vary_texcoord0.st));
|
||||
@@ -39,7 +46,7 @@ void main(void)
|
||||
color = mix(contrastBase, color, contrast);
|
||||
|
||||
/// Modulate saturation
|
||||
color = mix(vec3(dot(color, lumWeights)), color, saturation);
|
||||
color = mix(vec3(luminance(color)), color, saturation);
|
||||
|
||||
frag_color = vec4(color, 1.0);
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ uniform int texture_index_in;
|
||||
ATTRIBUTE vec3 position;
|
||||
|
||||
VARYING vec3 position_out;
|
||||
VARYING int texture_index_out;
|
||||
VARYING_FLAT int texture_index_out;
|
||||
|
||||
void main()
|
||||
{
|
||||
|
||||
@@ -79,6 +79,13 @@ vec3 vary_AmblitColor;
|
||||
vec3 vary_AdditiveColor;
|
||||
vec3 vary_AtmosAttenuation;
|
||||
|
||||
float luminance(vec3 color)
|
||||
{
|
||||
/// CALCULATING LUMINANCE (Using NTSC lum weights)
|
||||
/// http://en.wikipedia.org/wiki/Luma_%28video%29
|
||||
return dot(color, vec3(0.299, 0.587, 0.114));
|
||||
}
|
||||
|
||||
vec4 getPosition_d(vec2 pos_screen, float depth)
|
||||
{
|
||||
vec2 sc = pos_screen.xy*2.0;
|
||||
@@ -290,14 +297,13 @@ void main()
|
||||
float da = max(dot(norm.xyz, sun_dir.xyz), 0.0);
|
||||
|
||||
vec4 diffuse = texture2DRect(diffuseRect, tc);
|
||||
vec4 spec = texture2DRect(specularRect, vary_fragcoord.xy);
|
||||
|
||||
vec3 col;
|
||||
float bloom = 0.0;
|
||||
|
||||
if (diffuse.a < 0.9)
|
||||
{
|
||||
vec4 spec = texture2DRect(specularRect, vary_fragcoord.xy);
|
||||
|
||||
vec2 scol_ambocc = texture2DRect(lightMap, vary_fragcoord.xy).rg;
|
||||
float scol = max(scol_ambocc.r, diffuse.a);
|
||||
float ambocc = scol_ambocc.g;
|
||||
@@ -324,7 +330,9 @@ void main()
|
||||
|
||||
//add environmentmap
|
||||
vec3 env_vec = env_mat * refnormpersp;
|
||||
col = mix(col.rgb, textureCube(environmentMap, env_vec).rgb,
|
||||
vec3 env = textureCube(environmentMap, env_vec).rgb;
|
||||
bloom = (luminance(env) - .45)*.25;
|
||||
col = mix(col.rgb, env,
|
||||
max(spec.a-diffuse.a*2.0, 0.0));
|
||||
}
|
||||
|
||||
@@ -335,6 +343,7 @@ void main()
|
||||
}
|
||||
else
|
||||
{
|
||||
bloom = spec.r;
|
||||
col = diffuse.rgb;
|
||||
}
|
||||
|
||||
|
||||
@@ -177,6 +177,8 @@
|
||||
<key>enable_posterize</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_motionblur</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_vignette</key>
|
||||
<boolean>0</boolean>
|
||||
<key>gauss_blur_passes</key>
|
||||
<integer>2</integer>
|
||||
@@ -194,6 +196,16 @@
|
||||
<real>10</real>
|
||||
<key>blur_strength</key>
|
||||
<real>10</real>
|
||||
<key>vignette_strength</key>
|
||||
<real>0.85</real>
|
||||
<key>vignette_radius</key>
|
||||
<real>0.7</real>
|
||||
<key>vignette_darkness</key>
|
||||
<real>1.0</real>
|
||||
<key>vignette_desaturation</key>
|
||||
<real>1.0</real>
|
||||
<key>vignette_chromatic_aberration</key>
|
||||
<real>0.01</real>
|
||||
</map>
|
||||
</map>
|
||||
</llsd>
|
||||
Reference in New Issue
Block a user