Enabled post-processing features. Todo: Fix bloom
Fixed avatar shadows on AMD (and any other sane GLSL compiler) Fixed windows compile: -curl version was updated after running develop.py. Not sure if applicable to linux/darwin -new llqtwebkit version on windows, since the old url is now invalid.
This commit is contained in:
@@ -1,7 +1,3 @@
|
|||||||
http://daniel.haxx.se/projects/c-ares/license.html
|
|
||||||
|
|
||||||
c-ares license
|
|
||||||
|
|
||||||
Copyright 1998 by the Massachusetts Institute of Technology.
|
Copyright 1998 by the Massachusetts Institute of Technology.
|
||||||
|
|
||||||
Permission to use, copy, modify, and distribute this software and its
|
Permission to use, copy, modify, and distribute this software and its
|
||||||
@@ -13,4 +9,3 @@ http://daniel.haxx.se/projects/c-ares/license.html
|
|||||||
M.I.T. makes no representations about the suitability of this software for any
|
M.I.T. makes no representations about the suitability of this software for any
|
||||||
purpose. It is provided "as is" without express or implied warranty.
|
purpose. It is provided "as is" without express or implied warranty.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
COPYRIGHT AND PERMISSION NOTICE
|
COPYRIGHT AND PERMISSION NOTICE
|
||||||
|
|
||||||
Copyright (c) 1996 - 2002, Daniel Stenberg, <daniel@haxx.se>.
|
Copyright (c) 1996 - 2010, Daniel Stenberg, <daniel@haxx.se>.
|
||||||
|
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
|
||||||
@@ -19,4 +19,3 @@ OR OTHER DEALINGS IN THE SOFTWARE.
|
|||||||
Except as contained in this notice, the name of a copyright holder shall not
|
Except as contained in this notice, the name of a copyright holder shall not
|
||||||
be used in advertising or otherwise to promote the sale, use or other dealings
|
be used in advertising or otherwise to promote the sale, use or other dealings
|
||||||
in this Software without prior written authorization of the copyright holder.
|
in this Software without prior written authorization of the copyright holder.
|
||||||
|
|
||||||
|
|||||||
@@ -42,6 +42,7 @@
|
|||||||
#include "apr_poll.h"
|
#include "apr_poll.h"
|
||||||
|
|
||||||
#include "llapr.h"
|
#include "llapr.h"
|
||||||
|
#define CARES_STATICLIB
|
||||||
#include "llares.h"
|
#include "llares.h"
|
||||||
|
|
||||||
#if defined(LL_WINDOWS)
|
#if defined(LL_WINDOWS)
|
||||||
@@ -104,7 +105,8 @@ void LLAres::QueryResponder::queryError(int code)
|
|||||||
LLAres::LLAres() :
|
LLAres::LLAres() :
|
||||||
chan_(NULL), mInitSuccess(false)
|
chan_(NULL), mInitSuccess(false)
|
||||||
{
|
{
|
||||||
if (ares_init(&chan_) != ARES_SUCCESS)
|
if (ares_library_init(ARES_LIB_INIT_ALL) != ARES_SUCCESS ||
|
||||||
|
ares_init(&chan_) != ARES_SUCCESS)
|
||||||
{
|
{
|
||||||
llwarns << "Could not succesfully initialize ares!" << llendl;
|
llwarns << "Could not succesfully initialize ares!" << llendl;
|
||||||
return;
|
return;
|
||||||
@@ -468,7 +470,7 @@ bool LLAres::process(U64 timeout)
|
|||||||
ll_init_apr();
|
ll_init_apr();
|
||||||
}
|
}
|
||||||
|
|
||||||
int socks[ARES_GETSOCK_MAXNUM];
|
ares_socket_t socks[ARES_GETSOCK_MAXNUM];
|
||||||
apr_pollfd_t aprFds[ARES_GETSOCK_MAXNUM];
|
apr_pollfd_t aprFds[ARES_GETSOCK_MAXNUM];
|
||||||
apr_int32_t nsds = 0;
|
apr_int32_t nsds = 0;
|
||||||
int nactive = 0;
|
int nactive = 0;
|
||||||
|
|||||||
@@ -37,6 +37,9 @@
|
|||||||
#include "llsdserialize.h"
|
#include "llsdserialize.h"
|
||||||
#include "llrender.h"
|
#include "llrender.h"
|
||||||
|
|
||||||
|
#include "lldir.h"
|
||||||
|
extern LLGLSLShader gPostColorFilterProgram;
|
||||||
|
extern LLGLSLShader gPostNightVisionProgram;
|
||||||
|
|
||||||
LLPostProcess * gPostProcess = NULL;
|
LLPostProcess * gPostProcess = NULL;
|
||||||
|
|
||||||
@@ -60,7 +63,7 @@ LLPostProcess::LLPostProcess(void) :
|
|||||||
mNoiseTexture = NULL ;
|
mNoiseTexture = NULL ;
|
||||||
mTempBloomTexture = NULL ;
|
mTempBloomTexture = NULL ;
|
||||||
|
|
||||||
/* Do nothing. Needs to be updated to use our current shader system, and to work with the move into llrender.
|
/* Do nothing. Needs to be updated to use our current shader system, and to work with the move into llrender.*/
|
||||||
std::string pathName(gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "windlight", XML_FILENAME));
|
std::string pathName(gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "windlight", XML_FILENAME));
|
||||||
LL_DEBUGS2("AppInit", "Shaders") << "Loading PostProcess Effects settings from " << pathName << LL_ENDL;
|
LL_DEBUGS2("AppInit", "Shaders") << "Loading PostProcess Effects settings from " << pathName << LL_ENDL;
|
||||||
|
|
||||||
@@ -108,7 +111,7 @@ LLPostProcess::LLPostProcess(void) :
|
|||||||
}
|
}
|
||||||
|
|
||||||
setSelectedEffect("default");
|
setSelectedEffect("default");
|
||||||
*/
|
//*/
|
||||||
}
|
}
|
||||||
|
|
||||||
LLPostProcess::~LLPostProcess(void)
|
LLPostProcess::~LLPostProcess(void)
|
||||||
@@ -145,7 +148,7 @@ void LLPostProcess::setSelectedEffect(std::string const & effectName)
|
|||||||
|
|
||||||
void LLPostProcess::saveEffect(std::string const & effectName)
|
void LLPostProcess::saveEffect(std::string const & effectName)
|
||||||
{
|
{
|
||||||
/* Do nothing. Needs to be updated to use our current shader system, and to work with the move into llrender.
|
/* Do nothing. Needs to be updated to use our current shader system, and to work with the move into llrender.*/
|
||||||
mAllEffects[effectName] = tweaks;
|
mAllEffects[effectName] = tweaks;
|
||||||
|
|
||||||
std::string pathName(gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "windlight", XML_FILENAME));
|
std::string pathName(gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "windlight", XML_FILENAME));
|
||||||
@@ -156,7 +159,7 @@ void LLPostProcess::saveEffect(std::string const & effectName)
|
|||||||
LLPointer<LLSDFormatter> formatter = new LLSDXMLFormatter();
|
LLPointer<LLSDFormatter> formatter = new LLSDXMLFormatter();
|
||||||
|
|
||||||
formatter->format(mAllEffects, effectsXML);
|
formatter->format(mAllEffects, effectsXML);
|
||||||
*/
|
//*/
|
||||||
}
|
}
|
||||||
void LLPostProcess::invalidate()
|
void LLPostProcess::invalidate()
|
||||||
{
|
{
|
||||||
@@ -228,13 +231,13 @@ void LLPostProcess::applyShaders(void)
|
|||||||
|
|
||||||
void LLPostProcess::applyColorFilterShader(void)
|
void LLPostProcess::applyColorFilterShader(void)
|
||||||
{
|
{
|
||||||
/* Do nothing. Needs to be updated to use our current shader system, and to work with the move into llrender.
|
/* Do nothing. Needs to be updated to use our current shader system, and to work with the move into llrender.*/
|
||||||
gPostColorFilterProgram.bind();
|
gPostColorFilterProgram.bind();
|
||||||
|
|
||||||
gGL.getTexUnit(0)->activate();
|
gGL.getTexUnit(0)->activate();
|
||||||
gGL.getTexUnit(0)->enable(LLTexUnit::TT_RECT_TEXTURE);
|
gGL.getTexUnit(0)->enable(LLTexUnit::TT_RECT_TEXTURE);
|
||||||
|
|
||||||
gGL.getTexUnit(0)->bindManual(LLTexUnit::TT_RECT_TEXTURE, sceneRenderTexture);
|
gGL.getTexUnit(0)->bindManual(LLTexUnit::TT_RECT_TEXTURE, mSceneRenderTexture.get()->getTexName());
|
||||||
|
|
||||||
getShaderUniforms(colorFilterUniforms, gPostColorFilterProgram.mProgramObject);
|
getShaderUniforms(colorFilterUniforms, gPostColorFilterProgram.mProgramObject);
|
||||||
glUniform1iARB(colorFilterUniforms["RenderTexture"], 0);
|
glUniform1iARB(colorFilterUniforms["RenderTexture"], 0);
|
||||||
@@ -256,7 +259,7 @@ void LLPostProcess::applyColorFilterShader(void)
|
|||||||
/// Draw a screen space quad
|
/// Draw a screen space quad
|
||||||
drawOrthoQuad(screenW, screenH, QUAD_NORMAL);
|
drawOrthoQuad(screenW, screenH, QUAD_NORMAL);
|
||||||
gPostColorFilterProgram.unbind();
|
gPostColorFilterProgram.unbind();
|
||||||
*/
|
//*/
|
||||||
}
|
}
|
||||||
|
|
||||||
void LLPostProcess::createColorFilterShader(void)
|
void LLPostProcess::createColorFilterShader(void)
|
||||||
@@ -272,20 +275,20 @@ void LLPostProcess::createColorFilterShader(void)
|
|||||||
|
|
||||||
void LLPostProcess::applyNightVisionShader(void)
|
void LLPostProcess::applyNightVisionShader(void)
|
||||||
{
|
{
|
||||||
/* Do nothing. Needs to be updated to use our current shader system, and to work with the move into llrender.
|
/* Do nothing. Needs to be updated to use our current shader system, and to work with the move into llrender.*/
|
||||||
gPostNightVisionProgram.bind();
|
gPostNightVisionProgram.bind();
|
||||||
|
|
||||||
gGL.getTexUnit(0)->activate();
|
gGL.getTexUnit(0)->activate();
|
||||||
gGL.getTexUnit(0)->enable(LLTexUnit::TT_RECT_TEXTURE);
|
gGL.getTexUnit(0)->enable(LLTexUnit::TT_RECT_TEXTURE);
|
||||||
|
|
||||||
getShaderUniforms(nightVisionUniforms, gPostNightVisionProgram.mProgramObject);
|
getShaderUniforms(nightVisionUniforms, gPostNightVisionProgram.mProgramObject);
|
||||||
gGL.getTexUnit(0)->bindManual(LLTexUnit::TT_RECT_TEXTURE, sceneRenderTexture);
|
gGL.getTexUnit(0)->bindManual(LLTexUnit::TT_RECT_TEXTURE, mSceneRenderTexture.get()->getTexName());
|
||||||
glUniform1iARB(nightVisionUniforms["RenderTexture"], 0);
|
glUniform1iARB(nightVisionUniforms["RenderTexture"], 0);
|
||||||
|
|
||||||
gGL.getTexUnit(1)->activate();
|
gGL.getTexUnit(1)->activate();
|
||||||
gGL.getTexUnit(1)->enable(LLTexUnit::TT_TEXTURE);
|
gGL.getTexUnit(1)->enable(LLTexUnit::TT_TEXTURE);
|
||||||
|
|
||||||
gGL.getTexUnit(1)->bindManual(LLTexUnit::TT_TEXTURE, noiseTexture);
|
gGL.getTexUnit(1)->bindManual(LLTexUnit::TT_TEXTURE, mNoiseTexture.get()->getTexName());
|
||||||
glUniform1iARB(nightVisionUniforms["NoiseTexture"], 1);
|
glUniform1iARB(nightVisionUniforms["NoiseTexture"], 1);
|
||||||
|
|
||||||
|
|
||||||
@@ -305,7 +308,7 @@ void LLPostProcess::applyNightVisionShader(void)
|
|||||||
drawOrthoQuad(screenW, screenH, QUAD_NOISE);
|
drawOrthoQuad(screenW, screenH, QUAD_NOISE);
|
||||||
gPostNightVisionProgram.unbind();
|
gPostNightVisionProgram.unbind();
|
||||||
gGL.getTexUnit(0)->activate();
|
gGL.getTexUnit(0)->activate();
|
||||||
*/
|
//*/
|
||||||
}
|
}
|
||||||
|
|
||||||
void LLPostProcess::createNightVisionShader(void)
|
void LLPostProcess::createNightVisionShader(void)
|
||||||
@@ -392,79 +395,79 @@ void LLPostProcess::copyFrameBuffer(U32 & texture, unsigned int width, unsigned
|
|||||||
glCopyTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, GL_RGBA, 0, 0, width, height, 0);
|
glCopyTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, GL_RGBA, 0, 0, width, height, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline void InitQuadArray(F32 *arr, const F32 x, const F32 y, const F32 width, const F32 height)
|
||||||
|
{
|
||||||
|
//Lower left
|
||||||
|
*(arr++)=x;
|
||||||
|
*(arr++)=y;
|
||||||
|
//Upper left
|
||||||
|
*(arr++)=x;
|
||||||
|
*(arr++)=y+height;
|
||||||
|
//Upper right
|
||||||
|
*(arr++)=x+width;
|
||||||
|
*(arr++)=y+height;
|
||||||
|
//Lower right
|
||||||
|
*(arr++)=x+width;
|
||||||
|
*(arr++)=y;
|
||||||
|
}
|
||||||
void LLPostProcess::drawOrthoQuad(unsigned int width, unsigned int height, QuadType type)
|
void LLPostProcess::drawOrthoQuad(unsigned int width, unsigned int height, QuadType type)
|
||||||
{
|
{
|
||||||
#if 0
|
#if 1
|
||||||
float noiseX = 0.f;
|
//Redid the logic here. Less cases. No longer using immediate mode.
|
||||||
float noiseY = 0.f;
|
bool second_tex = true;
|
||||||
float screenRatio = 1.0f;
|
//Vertex array used for all post-processing effects
|
||||||
|
static F32 verts[8];
|
||||||
|
//Texture coord array used for all post-processing effects
|
||||||
|
static F32 tex0[8];
|
||||||
|
//Texture coord array used for relevant post processing effects
|
||||||
|
static F32 tex1[8];
|
||||||
|
|
||||||
if (type == QUAD_NOISE){
|
//Set up vertex array
|
||||||
noiseX = ((float) rand() / (float) RAND_MAX);
|
InitQuadArray(verts, 0.f, 0.f, width, height);
|
||||||
noiseY = ((float) rand() / (float) RAND_MAX);
|
|
||||||
screenRatio = (float) width / (float) height;
|
//Set up first texture coords
|
||||||
|
if(type == QUAD_BLOOM_EXTRACT)
|
||||||
|
{
|
||||||
|
InitQuadArray(tex0, 0.f, 0.f, width*2.f, height*2.f);
|
||||||
|
second_tex = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
InitQuadArray(tex0, 0.f, 0.f, width, height);
|
||||||
|
//Set up second texture coords
|
||||||
|
if( type == QUAD_BLOOM_COMBINE)
|
||||||
|
InitQuadArray(tex1, 0.f, 0.f, width*.5, height*.5);
|
||||||
|
else if( type == QUAD_NOISE )
|
||||||
|
InitQuadArray(tex1, ((float) rand() / (float) RAND_MAX), ((float) rand() / (float) RAND_MAX),
|
||||||
|
width * noiseTextureScale / height, noiseTextureScale);
|
||||||
|
else
|
||||||
|
second_tex = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Prepare to render
|
||||||
|
glEnableClientState( GL_VERTEX_ARRAY );
|
||||||
|
glVertexPointer(2, GL_FLOAT, sizeof(F32)*2, verts);
|
||||||
|
if(second_tex) //tex1 setup
|
||||||
|
{
|
||||||
|
glClientActiveTextureARB(GL_TEXTURE1);
|
||||||
|
glEnableClientState( GL_TEXTURE_COORD_ARRAY );
|
||||||
|
glTexCoordPointer(2, GL_FLOAT, sizeof(F32)*2, tex1);
|
||||||
|
}
|
||||||
|
glClientActiveTextureARB(GL_TEXTURE0);
|
||||||
|
glEnableClientState( GL_TEXTURE_COORD_ARRAY );
|
||||||
|
glTexCoordPointer(2, GL_FLOAT, sizeof(F32)*2, tex0);
|
||||||
|
|
||||||
glBegin(GL_QUADS);
|
//Render
|
||||||
if (type != QUAD_BLOOM_EXTRACT){
|
glDrawArrays(GL_QUADS, 0, sizeof(verts)/sizeof(verts[0]));
|
||||||
glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 0.f, (GLfloat) height);
|
|
||||||
} else {
|
|
||||||
glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 0.f, (GLfloat) height * 2.0f);
|
|
||||||
}
|
|
||||||
if (type == QUAD_NOISE){
|
|
||||||
glMultiTexCoord2fARB(GL_TEXTURE1_ARB,
|
|
||||||
noiseX,
|
|
||||||
noiseTextureScale + noiseY);
|
|
||||||
} else if (type == QUAD_BLOOM_COMBINE){
|
|
||||||
glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 0.f, (GLfloat) height * 0.5f);
|
|
||||||
}
|
|
||||||
glVertex2f(0.f, (GLfloat) screenH - height);
|
|
||||||
|
|
||||||
if (type != QUAD_BLOOM_EXTRACT){
|
//Cleanup
|
||||||
glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 0.f, 0.f);
|
glDisableClientState( GL_VERTEX_ARRAY );
|
||||||
} else {
|
glDisableClientState( GL_TEXTURE_COORD_ARRAY ); //for tex0
|
||||||
glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 0.f, 0.f);
|
if(second_tex)
|
||||||
|
{
|
||||||
|
glClientActiveTextureARB(GL_TEXTURE1);
|
||||||
|
glDisableClientState( GL_TEXTURE_COORD_ARRAY ); //for tex1
|
||||||
}
|
}
|
||||||
if (type == QUAD_NOISE){
|
|
||||||
glMultiTexCoord2fARB(GL_TEXTURE1_ARB,
|
|
||||||
noiseX,
|
|
||||||
noiseY);
|
|
||||||
} else if (type == QUAD_BLOOM_COMBINE){
|
|
||||||
glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 0.f, 0.f);
|
|
||||||
}
|
|
||||||
glVertex2f(0.f, (GLfloat) height + (screenH - height));
|
|
||||||
|
|
||||||
|
|
||||||
if (type != QUAD_BLOOM_EXTRACT){
|
|
||||||
glMultiTexCoord2fARB(GL_TEXTURE0_ARB, (GLfloat) width, 0.f);
|
|
||||||
} else {
|
|
||||||
glMultiTexCoord2fARB(GL_TEXTURE0_ARB, (GLfloat) width * 2.0f, 0.f);
|
|
||||||
}
|
|
||||||
if (type == QUAD_NOISE){
|
|
||||||
glMultiTexCoord2fARB(GL_TEXTURE1_ARB,
|
|
||||||
screenRatio * noiseTextureScale + noiseX,
|
|
||||||
noiseY);
|
|
||||||
} else if (type == QUAD_BLOOM_COMBINE){
|
|
||||||
glMultiTexCoord2fARB(GL_TEXTURE1_ARB, (GLfloat) width * 0.5f, 0.f);
|
|
||||||
}
|
|
||||||
glVertex2f((GLfloat) width, (GLfloat) height + (screenH - height));
|
|
||||||
|
|
||||||
|
|
||||||
if (type != QUAD_BLOOM_EXTRACT){
|
|
||||||
glMultiTexCoord2fARB(GL_TEXTURE0_ARB, (GLfloat) width, (GLfloat) height);
|
|
||||||
} else {
|
|
||||||
glMultiTexCoord2fARB(GL_TEXTURE0_ARB, (GLfloat) width * 2.0f, (GLfloat) height * 2.0f);
|
|
||||||
}
|
|
||||||
if (type == QUAD_NOISE){
|
|
||||||
glMultiTexCoord2fARB(GL_TEXTURE1_ARB,
|
|
||||||
screenRatio * noiseTextureScale + noiseX,
|
|
||||||
noiseTextureScale + noiseY);
|
|
||||||
} else if (type == QUAD_BLOOM_COMBINE){
|
|
||||||
glMultiTexCoord2fARB(GL_TEXTURE1_ARB, (GLfloat) width * 0.5f, (GLfloat) height * 0.5f);
|
|
||||||
}
|
|
||||||
glVertex2f((GLfloat) width, (GLfloat) screenH - height);
|
|
||||||
glEnd();
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -473,7 +476,7 @@ void LLPostProcess::viewOrthogonal(unsigned int width, unsigned int height)
|
|||||||
glMatrixMode(GL_PROJECTION);
|
glMatrixMode(GL_PROJECTION);
|
||||||
glPushMatrix();
|
glPushMatrix();
|
||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
glOrtho( 0.f, (GLdouble) width , (GLdouble) height , 0.f, -1.f, 1.f );
|
glOrtho( 0.f, (GLdouble) width, 0.f, (GLdouble) height, -1.f, 1.f );
|
||||||
glMatrixMode(GL_MODELVIEW);
|
glMatrixMode(GL_MODELVIEW);
|
||||||
glPushMatrix();
|
glPushMatrix();
|
||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ uniform sampler2D diffuseMap;
|
|||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
gl_FragColor = vec4(1,1,1,gl_Color.a * texture2D(diffuseMap, gl_TexCoord[0].xy));
|
//gl_FragColor = vec4(1,1,1,gl_Color.a * texture2D(diffuseMap, gl_TexCoord[0].xy)); //This should not compile!
|
||||||
|
gl_FragColor = vec4(1,1,1,texture2D(diffuseMap, gl_TexCoord[0].xy).a * gl_Color.a);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,24 +8,20 @@
|
|||||||
uniform sampler2D diffuseMap;
|
uniform sampler2D diffuseMap;
|
||||||
uniform float glowStrength;
|
uniform float glowStrength;
|
||||||
|
|
||||||
|
float kern[4] = float[4](.25,.5,.8,1.0); //Initialize the correct (non nVidia cg) way
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
vec4 col = vec4(0.0, 0.0, 0.0, 0.0);
|
vec4 col = vec4(0.0, 0.0, 0.0, 0.0);
|
||||||
|
|
||||||
// ATI compiler falls down on array initialization.
|
|
||||||
float kern[8];
|
|
||||||
kern[0] = 0.25; kern[1] = 0.5; kern[2] = 0.8; kern[3] = 1.0;
|
|
||||||
kern[4] = 1.0; kern[5] = 0.8; kern[6] = 0.5; kern[7] = 0.25;
|
|
||||||
|
|
||||||
col += kern[0] * texture2D(diffuseMap, gl_TexCoord[0].xy);
|
col += kern[0] * texture2D(diffuseMap, gl_TexCoord[0].xy);
|
||||||
col += kern[1] * texture2D(diffuseMap, gl_TexCoord[1].xy);
|
col += kern[1] * texture2D(diffuseMap, gl_TexCoord[1].xy);
|
||||||
col += kern[2] * texture2D(diffuseMap, gl_TexCoord[2].xy);
|
col += kern[2] * texture2D(diffuseMap, gl_TexCoord[2].xy);
|
||||||
col += kern[3] * texture2D(diffuseMap, gl_TexCoord[3].xy);
|
col += kern[3] * texture2D(diffuseMap, gl_TexCoord[3].xy);
|
||||||
col += kern[4] * texture2D(diffuseMap, gl_TexCoord[0].zw);
|
col += kern[3] * texture2D(diffuseMap, gl_TexCoord[0].zw);
|
||||||
col += kern[5] * texture2D(diffuseMap, gl_TexCoord[1].zw);
|
col += kern[2] * texture2D(diffuseMap, gl_TexCoord[1].zw);
|
||||||
col += kern[6] * texture2D(diffuseMap, gl_TexCoord[2].zw);
|
col += kern[1] * texture2D(diffuseMap, gl_TexCoord[2].zw);
|
||||||
col += kern[7] * texture2D(diffuseMap, gl_TexCoord[3].zw);
|
col += kern[0] * texture2D(diffuseMap, gl_TexCoord[3].zw);
|
||||||
|
|
||||||
gl_FragColor = vec4(col.rgb * glowStrength, col.a);
|
gl_FragColor = vec4(col.rgb * glowStrength, col.a);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -915,12 +915,6 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// We copy the frame buffer straight into a texture here,
|
|
||||||
/// and then display it again with compositor effects.
|
|
||||||
/// Using render to texture would be faster/better, but I don't have a
|
|
||||||
/// grasp of their full display stack just yet.
|
|
||||||
// gPostProcess->apply(gViewerWindow->getWindowDisplayWidth(), gViewerWindow->getWindowDisplayHeight());
|
|
||||||
|
|
||||||
if (LLPipeline::sRenderDeferred && !LLPipeline::sUnderWaterRender)
|
if (LLPipeline::sRenderDeferred && !LLPipeline::sUnderWaterRender)
|
||||||
{
|
{
|
||||||
gPipeline.renderDeferredLighting();
|
gPipeline.renderDeferredLighting();
|
||||||
@@ -1131,7 +1125,13 @@ void render_ui(F32 zoom_factor, int subfield)
|
|||||||
if (to_texture)
|
if (to_texture)
|
||||||
{
|
{
|
||||||
gPipeline.renderBloom(gSnapshot, zoom_factor, subfield);
|
gPipeline.renderBloom(gSnapshot, zoom_factor, subfield);
|
||||||
|
gPipeline.mScreen.flush(); //blit, etc.
|
||||||
}
|
}
|
||||||
|
/// We copy the frame buffer straight into a texture here,
|
||||||
|
/// and then display it again with compositor effects.
|
||||||
|
/// Using render to texture would be faster/better, but I don't have a
|
||||||
|
/// grasp of their full display stack just yet.
|
||||||
|
gPostProcess->apply(gViewerWindow->getWindowDisplayWidth(), gViewerWindow->getWindowDisplayHeight());
|
||||||
|
|
||||||
render_hud_elements();
|
render_hud_elements();
|
||||||
render_hud_attachments();
|
render_hud_attachments();
|
||||||
|
|||||||
@@ -754,7 +754,7 @@ BOOL LLViewerShaderMgr::loadShadersEffects()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
#if 1
|
||||||
// disabling loading of postprocess shaders until we fix
|
// disabling loading of postprocess shaders until we fix
|
||||||
// ATI sampler2DRect compatibility.
|
// ATI sampler2DRect compatibility.
|
||||||
|
|
||||||
|
|||||||
@@ -8,157 +8,157 @@
|
|||||||
width="400">
|
width="400">
|
||||||
<panel border="true" bottom="-400" follows="left|top|right|bottom" height="400"
|
<panel border="true" bottom="-400" follows="left|top|right|bottom" height="400"
|
||||||
label="Color Filter" left="1" mouse_opaque="false"
|
label="Color Filter" left="1" mouse_opaque="false"
|
||||||
name="wmiColorFilterPanel" width="398">
|
name="ColorFilterPanel" width="398">
|
||||||
<check_box bottom="-20" control_name="wmiColorFilterToggle" follows="left|top"
|
<check_box bottom="-20" control_name="ColorFilterToggle" follows="left|top"
|
||||||
font="SansSerifSmall" height="16" initial_value="false" label="Enable"
|
font="SansSerifSmall" height="16" initial_value="false" label="Enable"
|
||||||
left="14" mouse_opaque="true" name="wmiColorFilterToggle" width="200" />
|
left="14" mouse_opaque="true" name="ColorFilterToggle" width="200" />
|
||||||
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||||
bottom_delta="-20" drop_shadow_visible="true" follows="left|top|right"
|
bottom_delta="-20" drop_shadow_visible="true" follows="left|top|right"
|
||||||
font="SansSerif" h_pad="0" halign="left" height="16"
|
font="SansSerif" h_pad="0" halign="left" height="16"
|
||||||
left="10" mouse_opaque="true" name="wmiColorFilterBrightnessText" v_pad="0"
|
left="10" mouse_opaque="true" name="ColorFilterBrightnessText" v_pad="0"
|
||||||
width="355">
|
width="355">
|
||||||
Brightness
|
Brightness
|
||||||
</text>
|
</text>
|
||||||
<slider bottom_delta="-30" can_edit_text="false"
|
<slider bottom_delta="-30" can_edit_text="false"
|
||||||
control_name="wmiColorFilterBrightness" decimal_digits="2" follows="left"
|
control_name="ColorFilterBrightness" decimal_digits="2" follows="left"
|
||||||
height="10" increment="0.01" initial_val="1.0" label="" left="14"
|
height="10" increment="0.01" initial_val="1.0" label="" left="14"
|
||||||
max_val="4" min_val="0" mouse_opaque="true" name="wmiColorFilterBrightness"
|
max_val="4" min_val="0" mouse_opaque="true" name="ColorFilterBrightness"
|
||||||
show_text="true" value="1.0" width="200" />
|
show_text="true" value="1.0" width="200" />
|
||||||
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||||
bottom_delta="-20" drop_shadow_visible="true" follows="left|top|right"
|
bottom_delta="-20" drop_shadow_visible="true" follows="left|top|right"
|
||||||
font="SansSerif" h_pad="0" halign="left" height="16"
|
font="SansSerif" h_pad="0" halign="left" height="16"
|
||||||
left="10" mouse_opaque="true" name="wmiColorFilterSaturationText" v_pad="0"
|
left="10" mouse_opaque="true" name="ColorFilterSaturationText" v_pad="0"
|
||||||
width="355">
|
width="355">
|
||||||
Saturation
|
Saturation
|
||||||
</text>
|
</text>
|
||||||
<slider bottom_delta="-30" can_edit_text="false"
|
<slider bottom_delta="-30" can_edit_text="false"
|
||||||
control_name="wmiColorFilterSaturation" decimal_digits="2" follows="left"
|
control_name="ColorFilterSaturation" decimal_digits="2" follows="left"
|
||||||
height="10" increment="0.01" initial_val="1.0" label="" left="14"
|
height="10" increment="0.01" initial_val="1.0" label="" left="14"
|
||||||
max_val="2" min_val="-1" mouse_opaque="true"
|
max_val="2" min_val="-1" mouse_opaque="true"
|
||||||
name="wmiColorFilterSaturation" show_text="true" value="1.0" width="200" />
|
name="ColorFilterSaturation" show_text="true" value="1.0" width="200" />
|
||||||
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||||
bottom_delta="-20" drop_shadow_visible="true" follows="left|top|right"
|
bottom_delta="-20" drop_shadow_visible="true" follows="left|top|right"
|
||||||
font="SansSerif" h_pad="0" halign="left" height="16"
|
font="SansSerif" h_pad="0" halign="left" height="16"
|
||||||
left="10" mouse_opaque="true" name="wmiColorFilterContrastText" v_pad="0"
|
left="10" mouse_opaque="true" name="ColorFilterContrastText" v_pad="0"
|
||||||
width="355">
|
width="355">
|
||||||
Contrast
|
Contrast
|
||||||
</text>
|
</text>
|
||||||
<slider bottom_delta="-30" can_edit_text="false" control_name="wmiColorFilterContrast"
|
<slider bottom_delta="-30" can_edit_text="false" control_name="ColorFilterContrast"
|
||||||
decimal_digits="2" follows="left" height="10" increment="0.01"
|
decimal_digits="2" follows="left" height="10" increment="0.01"
|
||||||
initial_val="1.0" label="" left="14" max_val="4" min_val="0"
|
initial_val="1.0" label="" left="14" max_val="4" min_val="0"
|
||||||
mouse_opaque="true" name="wmiColorFilterContrast" show_text="true"
|
mouse_opaque="true" name="ColorFilterContrast" show_text="true"
|
||||||
value="1.0" width="200" />
|
value="1.0" width="200" />
|
||||||
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||||
bottom_delta="-20" drop_shadow_visible="true" follows="left|top|right"
|
bottom_delta="-20" drop_shadow_visible="true" follows="left|top|right"
|
||||||
font="SansSerif" h_pad="0" halign="left" height="16"
|
font="SansSerif" h_pad="0" halign="left" height="16"
|
||||||
left="10" mouse_opaque="true" name="wmiColorFilterBaseText" v_pad="0"
|
left="10" mouse_opaque="true" name="ColorFilterBaseText" v_pad="0"
|
||||||
width="355">
|
width="355">
|
||||||
Contrast Base Color
|
Contrast Base Color
|
||||||
</text>
|
</text>
|
||||||
<slider bottom_delta="-30" can_edit_text="false" control_name="wmiColorFilterBaseR"
|
<slider bottom_delta="-30" can_edit_text="false" control_name="ColorFilterBaseR"
|
||||||
decimal_digits="3" follows="left" height="10" increment="0.01"
|
decimal_digits="3" follows="left" height="10" increment="0.01"
|
||||||
initial_val="1.0" label="R" left="14" max_val="1" min_val="0"
|
initial_val="1.0" label="R" left="14" max_val="1" min_val="0"
|
||||||
mouse_opaque="true" name="wmiColorFilterBaseR" show_text="true" value="1.0"
|
mouse_opaque="true" name="ColorFilterBaseR" show_text="true" value="1.0"
|
||||||
width="200" />
|
width="200" />
|
||||||
<slider bottom_delta="-20" can_edit_text="false" control_name="wmiColorFilterBaseG"
|
<slider bottom_delta="-20" can_edit_text="false" control_name="ColorFilterBaseG"
|
||||||
decimal_digits="3" follows="left" height="10" increment="0.01"
|
decimal_digits="3" follows="left" height="10" increment="0.01"
|
||||||
initial_val="1.0" label="G" left="14" max_val="1" min_val="0"
|
initial_val="1.0" label="G" left="14" max_val="1" min_val="0"
|
||||||
mouse_opaque="true" name="wmiColorFilterBaseG" show_text="true" value="1.0"
|
mouse_opaque="true" name="ColorFilterBaseG" show_text="true" value="1.0"
|
||||||
width="200" />
|
width="200" />
|
||||||
<slider bottom_delta="-20" can_edit_text="false" control_name="wmiColorFilterBaseB"
|
<slider bottom_delta="-20" can_edit_text="false" control_name="ColorFilterBaseB"
|
||||||
decimal_digits="3" follows="left" height="10" increment="0.01"
|
decimal_digits="3" follows="left" height="10" increment="0.01"
|
||||||
initial_val="1.0" label="B" left="14" max_val="1" min_val="0"
|
initial_val="1.0" label="B" left="14" max_val="1" min_val="0"
|
||||||
mouse_opaque="true" name="wmiColorFilterBaseB" show_text="true" value="1.0"
|
mouse_opaque="true" name="ColorFilterBaseB" show_text="true" value="1.0"
|
||||||
width="200" />
|
width="200" />
|
||||||
<slider bottom_delta="-20" can_edit_text="false" control_name="wmiColorFilterBaseI"
|
<slider bottom_delta="-20" can_edit_text="false" control_name="ColorFilterBaseI"
|
||||||
decimal_digits="3" follows="left" height="10" increment="0.01"
|
decimal_digits="3" follows="left" height="10" increment="0.01"
|
||||||
initial_val="0.5" label="I" left="14" max_val="1" min_val="0"
|
initial_val="0.5" label="I" left="14" max_val="1" min_val="0"
|
||||||
mouse_opaque="true" name="wmiColorFilterBaseI" show_text="true" value="1.0"
|
mouse_opaque="true" name="ColorFilterBaseI" show_text="true" value="1.0"
|
||||||
width="200" />
|
width="200" />
|
||||||
</panel>
|
</panel>
|
||||||
<panel border="true" bottom="-180" follows="left|top|right|bottom" height="400"
|
<panel border="true" bottom="-180" follows="left|top|right|bottom" height="400"
|
||||||
label="Night Vision" left="1" mouse_opaque="false"
|
label="Night Vision" left="1" mouse_opaque="false"
|
||||||
name="wmiNightVisionPanel" width="398">
|
name="NightVisionPanel" width="398">
|
||||||
<check_box bottom="-20" control_name="wmiNightVisionToggle" follows="left|top"
|
<check_box bottom="-20" control_name="NightVisionToggle" follows="left|top"
|
||||||
font="SansSerifSmall" height="16" initial_value="false" label="Enable"
|
font="SansSerifSmall" height="16" initial_value="false" label="Enable"
|
||||||
left="14" mouse_opaque="true" name="wmiNightVisionToggle" width="200" />
|
left="14" mouse_opaque="true" name="NightVisionToggle" width="200" />
|
||||||
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||||
bottom_delta="-21" drop_shadow_visible="true" follows="left|top|right"
|
bottom_delta="-21" drop_shadow_visible="true" follows="left|top|right"
|
||||||
font="SansSerif" h_pad="0" halign="left" height="16"
|
font="SansSerif" h_pad="0" halign="left" height="16"
|
||||||
left="10" mouse_opaque="true" name="wmiNightVisionBrightMultText" v_pad="0"
|
left="10" mouse_opaque="true" name="NightVisionBrightMultText" v_pad="0"
|
||||||
width="355">
|
width="355">
|
||||||
Light Amplification Multiple
|
Light Amplification Multiple
|
||||||
</text>
|
</text>
|
||||||
<slider bottom_delta="-30" can_edit_text="false"
|
<slider bottom_delta="-30" can_edit_text="false"
|
||||||
control_name="wmiNightVisionBrightMult" decimal_digits="3" follows="left"
|
control_name="NightVisionBrightMult" decimal_digits="3" follows="left"
|
||||||
height="10" increment="0.01" initial_val="3.0" label="" left="14"
|
height="10" increment="0.01" initial_val="3.0" label="" left="14"
|
||||||
max_val="10" min_val="1" mouse_opaque="true"
|
max_val="10" min_val="1" mouse_opaque="true"
|
||||||
name="wmiNightVisionBrightMult" show_text="true" value="0.7" width="200" />
|
name="NightVisionBrightMult" show_text="true" value="0.7" width="200" />
|
||||||
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||||
bottom_delta="-20" drop_shadow_visible="true" follows="left|top|right"
|
bottom_delta="-20" drop_shadow_visible="true" follows="left|top|right"
|
||||||
font="SansSerif" h_pad="0" halign="left" height="16"
|
font="SansSerif" h_pad="0" halign="left" height="16"
|
||||||
left="10" mouse_opaque="true" name="wmiNightVisionNoiseSizeText" v_pad="0"
|
left="10" mouse_opaque="true" name="NightVisionNoiseSizeText" v_pad="0"
|
||||||
width="355">
|
width="355">
|
||||||
Noise Size
|
Noise Size
|
||||||
</text>
|
</text>
|
||||||
<slider bottom_delta="-30" can_edit_text="false" control_name="wmiNightVisionNoiseSize"
|
<slider bottom_delta="-30" can_edit_text="false" control_name="NightVisionNoiseSize"
|
||||||
decimal_digits="3" follows="left" height="10" increment="0.1"
|
decimal_digits="3" follows="left" height="10" increment="0.1"
|
||||||
initial_val="1" label="" left="14" max_val="100" min_val="1"
|
initial_val="1" label="" left="14" max_val="100" min_val="1"
|
||||||
mouse_opaque="true" name="wmiNightVisionNoiseSize" show_text="true"
|
mouse_opaque="true" name="NightVisionNoiseSize" show_text="true"
|
||||||
value="1.0" width="200" />
|
value="1.0" width="200" />
|
||||||
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||||
bottom_delta="-20" drop_shadow_visible="true" follows="left|top|right"
|
bottom_delta="-20" drop_shadow_visible="true" follows="left|top|right"
|
||||||
font="SansSerif" h_pad="0" halign="left" height="16"
|
font="SansSerif" h_pad="0" halign="left" height="16"
|
||||||
left="10" mouse_opaque="true" name="wmiNightVisionNoiseStrengthText"
|
left="10" mouse_opaque="true" name="NightVisionNoiseStrengthText"
|
||||||
v_pad="0" width="355">
|
v_pad="0" width="355">
|
||||||
Noise Strength
|
Noise Strength
|
||||||
</text>
|
</text>
|
||||||
<slider bottom_delta="-30" can_edit_text="false"
|
<slider bottom_delta="-30" can_edit_text="false"
|
||||||
control_name="wmiNightVisionNoiseStrength" decimal_digits="3"
|
control_name="NightVisionNoiseStrength" decimal_digits="3"
|
||||||
follows="left" height="10" increment="0.01" initial_val="0.3" label=""
|
follows="left" height="10" increment="0.01" initial_val="0.3" label=""
|
||||||
left="14" max_val="1" min_val="0" mouse_opaque="true"
|
left="14" max_val="1" min_val="0" mouse_opaque="true"
|
||||||
name="wmiNightVisionNoiseStrength" show_text="true" value="1.0" width="200" />
|
name="NightVisionNoiseStrength" show_text="true" value="1.0" width="200" />
|
||||||
</panel>
|
</panel>
|
||||||
<panel border="true" bottom="-180" follows="left|top|right|bottom" height="400"
|
<panel border="true" bottom="-180" follows="left|top|right|bottom" height="400"
|
||||||
label="Bloom" left="1" mouse_opaque="true"
|
label="Bloom" left="1" mouse_opaque="true"
|
||||||
name="wmiBloomPanel" width="398">
|
name="BloomPanel" width="398">
|
||||||
<check_box bottom="-20" control_name="wmiBloomToggle" follows="left|top"
|
<check_box bottom="-20" control_name="BloomToggle" follows="left|top"
|
||||||
font="SansSerifSmall" height="16" initial_value="false" label="Enable"
|
font="SansSerifSmall" height="16" initial_value="false" label="Enable"
|
||||||
left="14" mouse_opaque="true" name="wmiBloomToggle" width="200" />
|
left="14" mouse_opaque="true" name="BloomToggle" width="200" />
|
||||||
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||||
bottom_delta="-21" drop_shadow_visible="true" follows="left|top|right"
|
bottom_delta="-21" drop_shadow_visible="true" follows="left|top|right"
|
||||||
font="SansSerif" h_pad="0" halign="left" height="16"
|
font="SansSerif" h_pad="0" halign="left" height="16"
|
||||||
left="10" mouse_opaque="true" name="wmiBloomExtractText" v_pad="0"
|
left="10" mouse_opaque="true" name="BloomExtractText" v_pad="0"
|
||||||
width="355">
|
width="355">
|
||||||
Luminosity Extraction
|
Luminosity Extraction
|
||||||
</text>
|
</text>
|
||||||
<slider bottom_delta="-30" can_edit_text="false" control_name="wmiBloomExtract"
|
<slider bottom_delta="-30" can_edit_text="false" control_name="BloomExtract"
|
||||||
decimal_digits="3" follows="left" height="10" increment="0.01"
|
decimal_digits="3" follows="left" height="10" increment="0.01"
|
||||||
initial_val="0.9" label="" left="14" max_val="1" min_val="0"
|
initial_val="0.9" label="" left="14" max_val="1" min_val="0"
|
||||||
mouse_opaque="true" name="wmiBloomExtract" show_text="true" value="0.7"
|
mouse_opaque="true" name="BloomExtract" show_text="true" value="0.7"
|
||||||
width="200" />
|
width="200" />
|
||||||
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||||
bottom_delta="-20" drop_shadow_visible="true" follows="left|top|right"
|
bottom_delta="-20" drop_shadow_visible="true" follows="left|top|right"
|
||||||
font="SansSerif" h_pad="0" halign="left" height="16"
|
font="SansSerif" h_pad="0" halign="left" height="16"
|
||||||
left="10" mouse_opaque="true" name="wmiBloomSizeText" v_pad="0" width="355">
|
left="10" mouse_opaque="true" name="BloomSizeText" v_pad="0" width="355">
|
||||||
Bloom Size
|
Bloom Size
|
||||||
</text>
|
</text>
|
||||||
<slider bottom_delta="-30" can_edit_text="false" control_name="wmiBloomSize"
|
<slider bottom_delta="-30" can_edit_text="false" control_name="BloomSize"
|
||||||
decimal_digits="3" follows="left" height="10" increment="0.01"
|
decimal_digits="3" follows="left" height="10" increment="0.01"
|
||||||
initial_val="3.0" label="" left="14" max_val="20" min_val="0"
|
initial_val="3.0" label="" left="14" max_val="20" min_val="0"
|
||||||
mouse_opaque="true" name="wmiBloomSize" show_text="true" value="1.0"
|
mouse_opaque="true" name="BloomSize" show_text="true" value="1.0"
|
||||||
width="200" />
|
width="200" />
|
||||||
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||||
bottom_delta="-20" drop_shadow_visible="true" follows="left|top|right"
|
bottom_delta="-20" drop_shadow_visible="true" follows="left|top|right"
|
||||||
font="SansSerif" h_pad="0" halign="left" height="16"
|
font="SansSerif" h_pad="0" halign="left" height="16"
|
||||||
left="10" mouse_opaque="true" name="wmiBloomStrengthText" v_pad="0"
|
left="10" mouse_opaque="true" name="BloomStrengthText" v_pad="0"
|
||||||
width="355">
|
width="355">
|
||||||
Bloom Strength
|
Bloom Strength
|
||||||
</text>
|
</text>
|
||||||
<slider bottom_delta="-30" can_edit_text="false" control_name="wmiBloomStrength"
|
<slider bottom_delta="-30" can_edit_text="false" control_name="BloomStrength"
|
||||||
decimal_digits="3" follows="left" height="10" increment="0.01"
|
decimal_digits="3" follows="left" height="10" increment="0.01"
|
||||||
initial_val="1.2" label="" left="14" max_val="10" min_val="0"
|
initial_val="1.2" label="" left="14" max_val="10" min_val="0"
|
||||||
mouse_opaque="true" name="wmiBloomStrength" show_text="true" value="1.0"
|
mouse_opaque="true" name="BloomStrength" show_text="true" value="1.0"
|
||||||
width="200" />
|
width="200" />
|
||||||
</panel>
|
</panel>
|
||||||
<panel border="true" bottom="-180" follows="left|top|right|bottom" height="400"
|
<panel border="true" bottom="-180" follows="left|top|right|bottom" height="400"
|
||||||
|
|||||||
@@ -667,6 +667,10 @@
|
|||||||
<menu_item_call bottom="-151" enabled="false" height="19" label="Day Cycle Editor" left="0"
|
<menu_item_call bottom="-151" enabled="false" height="19" label="Day Cycle Editor" left="0"
|
||||||
mouse_opaque="true" name="Day Cycle Editor" width="169">
|
mouse_opaque="true" name="Day Cycle Editor" width="169">
|
||||||
<on_click function="World.DayCycle" userdata="editor" />
|
<on_click function="World.DayCycle" userdata="editor" />
|
||||||
|
</menu_item_call>
|
||||||
|
<menu_item_call bottom="-173" enabled="false" height="19" label="Post-Processing Effects" left="0"
|
||||||
|
mouse_opaque="true" name="Post-Processing Effects" width="169">
|
||||||
|
<on_click function="World.PostProcess" userdata="editor" />
|
||||||
</menu_item_call>
|
</menu_item_call>
|
||||||
</menu>
|
</menu>
|
||||||
</menu>
|
</menu>
|
||||||
|
|||||||
@@ -936,9 +936,12 @@ anguage Infrstructure (CLI) international standard</string>
|
|||||||
<key>windows</key>
|
<key>windows</key>
|
||||||
<map>
|
<map>
|
||||||
<key>md5sum</key>
|
<key>md5sum</key>
|
||||||
<string>fa5041874761895a06a20782b8ba34a2</string>
|
<string>b678c4d18ea8e4fab42b20f8d0b2629a</string>
|
||||||
|
<!--<string>fa5041874761895a06a20782b8ba34a2</string>-->
|
||||||
<key>url</key>
|
<key>url</key>
|
||||||
<uri>http://liny-odell.users.sourceforge.net/llqtwebkit-windows-qt4.6-20101122.tar.bz2</uri>
|
<uri>http://viewer-source-downloads.s3.amazonaws.com/install_pkgs/llqtwebkit-windows-qt4.7.1-20101221.tar.bz2</uri>
|
||||||
|
<!--<uri>http://liny-odell.users.sourceforge.net/llqtwebkit-windows-qt4.6-20101122.tar.bz2</uri>-->
|
||||||
|
|
||||||
</map>
|
</map>
|
||||||
</map>
|
</map>
|
||||||
</map>
|
</map>
|
||||||
|
|||||||
Reference in New Issue
Block a user