diff options
| author | Ansariel <ansariel.hiller@phoenixviewer.com> | 2024-05-22 19:04:52 +0200 | 
|---|---|---|
| committer | Ansariel <ansariel.hiller@phoenixviewer.com> | 2024-05-22 19:04:52 +0200 | 
| commit | 1b67dd855c41f5a0cda7ec2a68d98071986ca703 (patch) | |
| tree | ab243607f74f78200787bba5b9b88f07ef1b966f /indra/newview/app_settings/shaders/class1 | |
| parent | 6d6eabca44d08d5b97bfe3e941d2b9687c2246ea (diff) | |
| parent | e1623bb276f83a43ce7a197e388720c05bdefe61 (diff) | |
Merge remote-tracking branch 'origin/main' into DRTVWR-600-maint-A
# Conflicts:
#	autobuild.xml
#	indra/cmake/CMakeLists.txt
#	indra/cmake/GoogleMock.cmake
#	indra/llaudio/llaudioengine_fmodstudio.cpp
#	indra/llaudio/llaudioengine_fmodstudio.h
#	indra/llaudio/lllistener_fmodstudio.cpp
#	indra/llaudio/lllistener_fmodstudio.h
#	indra/llaudio/llstreamingaudio_fmodstudio.cpp
#	indra/llaudio/llstreamingaudio_fmodstudio.h
#	indra/llcharacter/llmultigesture.cpp
#	indra/llcharacter/llmultigesture.h
#	indra/llimage/llimage.cpp
#	indra/llimage/llimagepng.cpp
#	indra/llimage/llimageworker.cpp
#	indra/llimage/tests/llimageworker_test.cpp
#	indra/llmessage/tests/llmockhttpclient.h
#	indra/llprimitive/llgltfmaterial.h
#	indra/llrender/llfontfreetype.cpp
#	indra/llui/llcombobox.cpp
#	indra/llui/llfolderview.cpp
#	indra/llui/llfolderviewmodel.h
#	indra/llui/lllineeditor.cpp
#	indra/llui/lllineeditor.h
#	indra/llui/lltextbase.cpp
#	indra/llui/lltextbase.h
#	indra/llui/lltexteditor.cpp
#	indra/llui/lltextvalidate.cpp
#	indra/llui/lltextvalidate.h
#	indra/llui/lluictrl.h
#	indra/llui/llview.cpp
#	indra/llwindow/llwindowmacosx.cpp
#	indra/newview/app_settings/settings.xml
#	indra/newview/llappearancemgr.cpp
#	indra/newview/llappearancemgr.h
#	indra/newview/llavatarpropertiesprocessor.cpp
#	indra/newview/llavatarpropertiesprocessor.h
#	indra/newview/llbreadcrumbview.cpp
#	indra/newview/llbreadcrumbview.h
#	indra/newview/llbreastmotion.cpp
#	indra/newview/llbreastmotion.h
#	indra/newview/llconversationmodel.h
#	indra/newview/lldensityctrl.cpp
#	indra/newview/lldensityctrl.h
#	indra/newview/llface.inl
#	indra/newview/llfloatereditsky.cpp
#	indra/newview/llfloatereditwater.cpp
#	indra/newview/llfloateremojipicker.h
#	indra/newview/llfloaterimsessiontab.cpp
#	indra/newview/llfloaterprofiletexture.cpp
#	indra/newview/llfloaterprofiletexture.h
#	indra/newview/llgesturemgr.cpp
#	indra/newview/llgesturemgr.h
#	indra/newview/llimpanel.cpp
#	indra/newview/llimpanel.h
#	indra/newview/llinventorybridge.cpp
#	indra/newview/llinventorybridge.h
#	indra/newview/llinventoryclipboard.cpp
#	indra/newview/llinventoryclipboard.h
#	indra/newview/llinventoryfunctions.cpp
#	indra/newview/llinventoryfunctions.h
#	indra/newview/llinventorygallery.cpp
#	indra/newview/lllistbrowser.cpp
#	indra/newview/lllistbrowser.h
#	indra/newview/llpanelobjectinventory.cpp
#	indra/newview/llpanelprofile.cpp
#	indra/newview/llpanelprofile.h
#	indra/newview/llpreviewgesture.cpp
#	indra/newview/llsavedsettingsglue.cpp
#	indra/newview/llsavedsettingsglue.h
#	indra/newview/lltooldraganddrop.cpp
#	indra/newview/llurllineeditorctrl.cpp
#	indra/newview/llvectorperfoptions.cpp
#	indra/newview/llvectorperfoptions.h
#	indra/newview/llviewerparceloverlay.cpp
#	indra/newview/llviewertexlayer.cpp
#	indra/newview/llviewertexturelist.cpp
#	indra/newview/macmain.h
#	indra/test/test.cpp
Diffstat (limited to 'indra/newview/app_settings/shaders/class1')
164 files changed, 2346 insertions, 2346 deletions
| diff --git a/indra/newview/app_settings/shaders/class1/avatar/avatarF.glsl b/indra/newview/app_settings/shaders/class1/avatar/avatarF.glsl index b631ecb7d2..ad9240a6af 100644 --- a/indra/newview/app_settings/shaders/class1/avatar/avatarF.glsl +++ b/indra/newview/app_settings/shaders/class1/avatar/avatarF.glsl @@ -1,34 +1,34 @@ -/**  +/**   * @file avatarF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  void default_lighting(); -void main()  +void main()  { -	default_lighting(); +    default_lighting();  } -	 + diff --git a/indra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl b/indra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl index 374469ce2f..cdf661893c 100644 --- a/indra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl +++ b/indra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl @@ -1,28 +1,28 @@ -/**  +/**   * @file avatarSkinV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  in vec4 weight; @@ -30,20 +30,20 @@ uniform vec4 matrixPalette[45];  mat4 getSkinnedTransform()  { -	mat4 ret; -	int i = int(floor(weight.x)); -	float x = fract(weight.x); -		 -	ret[0] = mix(matrixPalette[i+0], matrixPalette[i+1], x); -	ret[1] = mix(matrixPalette[i+15],matrixPalette[i+16], x); -	ret[2] = mix(matrixPalette[i+30],matrixPalette[i+31], x); -	ret[3] = vec4(0,0,0,1); +    mat4 ret; +    int i = int(floor(weight.x)); +    float x = fract(weight.x); + +    ret[0] = mix(matrixPalette[i+0], matrixPalette[i+1], x); +    ret[1] = mix(matrixPalette[i+15],matrixPalette[i+16], x); +    ret[2] = mix(matrixPalette[i+30],matrixPalette[i+31], x); +    ret[3] = vec4(0,0,0,1); -	return ret; +    return ret;  #ifdef IS_AMD_CARD -	// If it's AMD make sure the GLSL compiler sees the arrays referenced once by static index. Otherwise it seems to optimise the storage awawy which leads to unfun crashes and artifacts. -	vec4 dummy1 = matrixPalette[0]; -	vec4 dummy2 = matrixPalette[44]; +    // If it's AMD make sure the GLSL compiler sees the arrays referenced once by static index. Otherwise it seems to optimise the storage awawy which leads to unfun crashes and artifacts. +    vec4 dummy1 = matrixPalette[0]; +    vec4 dummy2 = matrixPalette[44];  #endif  } diff --git a/indra/newview/app_settings/shaders/class1/avatar/avatarV.glsl b/indra/newview/app_settings/shaders/class1/avatar/avatarV.glsl index 9adc68e62b..1c3fdfe2a2 100644 --- a/indra/newview/app_settings/shaders/class1/avatar/avatarV.glsl +++ b/indra/newview/app_settings/shaders/class1/avatar/avatarV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file avatarV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -40,30 +40,30 @@ void calcAtmospherics(vec3 inPositionEye);  void main()  { -	vary_texcoord0 = texcoord0; -				 -	vec4 pos; -	vec3 norm; -	 -	vec4 pos_in = vec4(position.xyz, 1.0); - -	mat4 trans = getSkinnedTransform(); -	pos.x = dot(trans[0], pos_in); -	pos.y = dot(trans[1], pos_in); -	pos.z = dot(trans[2], pos_in); -	pos.w = 1.0; -	 -	norm.x = dot(trans[0].xyz, normal); -	norm.y = dot(trans[1].xyz, normal); -	norm.z = dot(trans[2].xyz, normal); -	norm = normalize(norm); -		 -	gl_Position = projection_matrix * pos; -	 -	calcAtmospherics(pos.xyz); - -	vec4 col = calcLighting(pos.xyz, norm, color); -	vertex_color = col;  +    vary_texcoord0 = texcoord0; + +    vec4 pos; +    vec3 norm; + +    vec4 pos_in = vec4(position.xyz, 1.0); + +    mat4 trans = getSkinnedTransform(); +    pos.x = dot(trans[0], pos_in); +    pos.y = dot(trans[1], pos_in); +    pos.z = dot(trans[2], pos_in); +    pos.w = 1.0; + +    norm.x = dot(trans[0].xyz, normal); +    norm.y = dot(trans[1].xyz, normal); +    norm.z = dot(trans[2].xyz, normal); +    norm = normalize(norm); + +    gl_Position = projection_matrix * pos; + +    calcAtmospherics(pos.xyz); + +    vec4 col = calcLighting(pos.xyz, norm, color); +    vertex_color = col;  } diff --git a/indra/newview/app_settings/shaders/class1/avatar/eyeballF.glsl b/indra/newview/app_settings/shaders/class1/avatar/eyeballF.glsl index 4296e551db..57d3695dcd 100644 --- a/indra/newview/app_settings/shaders/class1/avatar/eyeballF.glsl +++ b/indra/newview/app_settings/shaders/class1/avatar/eyeballF.glsl @@ -1,34 +1,34 @@ -/**  +/**   * @file eyeballF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  void default_lighting(); -void main()  +void main()  { -	default_lighting(); +    default_lighting();  } -	 + diff --git a/indra/newview/app_settings/shaders/class1/avatar/eyeballV.glsl b/indra/newview/app_settings/shaders/class1/avatar/eyeballV.glsl index 837074f08c..df05473b04 100644 --- a/indra/newview/app_settings/shaders/class1/avatar/eyeballV.glsl +++ b/indra/newview/app_settings/shaders/class1/avatar/eyeballV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file eyeballV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -41,19 +41,19 @@ void calcAtmospherics(vec3 inPositionEye);  void main()  { -	//transform vertex -	vec3 pos = (modelview_matrix * vec4(position.xyz, 1.0)).xyz; -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); -	vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; -	 -	 -	vec3 norm = normalize(normal_matrix * normal); -		 -	calcAtmospherics(pos.xyz); - -	vec4 specular = vec4(1.0); -	vec4 color = calcLightingSpecular(pos, norm, diffuse_color, specular);	 -	vertex_color = color; +    //transform vertex +    vec3 pos = (modelview_matrix * vec4(position.xyz, 1.0)).xyz; +    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); +    vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; + + +    vec3 norm = normalize(normal_matrix * normal); + +    calcAtmospherics(pos.xyz); + +    vec4 specular = vec4(1.0); +    vec4 color = calcLightingSpecular(pos, norm, diffuse_color, specular); +    vertex_color = color;  } diff --git a/indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl b/indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl index 0817076dd5..67f84ecaec 100644 --- a/indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl +++ b/indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl @@ -1,66 +1,66 @@ -/**  +/**   * @file objectSkinV.glsl   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -in vec4 weight4;   +in vec4 weight4;  uniform mat3x4 matrixPalette[MAX_JOINTS_PER_MESH_OBJECT];  mat4 getObjectSkinnedTransform()  { -	int i; -	 -	vec4 w = fract(weight4); -	vec4 index = floor(weight4); -	 +    int i; + +    vec4 w = fract(weight4); +    vec4 index = floor(weight4); +      index = min(index, vec4(MAX_JOINTS_PER_MESH_OBJECT-1));      index = max(index, vec4( 0.0));      w *= 1.0/(w.x+w.y+w.z+w.w); -	 -	int i1 = int(index.x); -	int i2 = int(index.y); -	int i3 = int(index.z); -	int i4 = int(index.w); -	mat3 mat = mat3(matrixPalette[i1])*w.x; -		 mat += mat3(matrixPalette[i2])*w.y; -		 mat += mat3(matrixPalette[i3])*w.z; -		 mat += mat3(matrixPalette[i4])*w.w; +    int i1 = int(index.x); +    int i2 = int(index.y); +    int i3 = int(index.z); +    int i4 = int(index.w); + +    mat3 mat = mat3(matrixPalette[i1])*w.x; +         mat += mat3(matrixPalette[i2])*w.y; +         mat += mat3(matrixPalette[i3])*w.z; +         mat += mat3(matrixPalette[i4])*w.w; + +    vec3 trans = vec3(matrixPalette[i1][0].w,matrixPalette[i1][1].w,matrixPalette[i1][2].w)*w.x; +         trans += vec3(matrixPalette[i2][0].w,matrixPalette[i2][1].w,matrixPalette[i2][2].w)*w.y; +         trans += vec3(matrixPalette[i3][0].w,matrixPalette[i3][1].w,matrixPalette[i3][2].w)*w.z; +         trans += vec3(matrixPalette[i4][0].w,matrixPalette[i4][1].w,matrixPalette[i4][2].w)*w.w; -	vec3 trans = vec3(matrixPalette[i1][0].w,matrixPalette[i1][1].w,matrixPalette[i1][2].w)*w.x; -		 trans += vec3(matrixPalette[i2][0].w,matrixPalette[i2][1].w,matrixPalette[i2][2].w)*w.y; -		 trans += vec3(matrixPalette[i3][0].w,matrixPalette[i3][1].w,matrixPalette[i3][2].w)*w.z; -		 trans += vec3(matrixPalette[i4][0].w,matrixPalette[i4][1].w,matrixPalette[i4][2].w)*w.w; +    mat4 ret; -	mat4 ret; +    ret[0] = vec4(mat[0], 0); +    ret[1] = vec4(mat[1], 0); +    ret[2] = vec4(mat[2], 0); +    ret[3] = vec4(trans, 1.0); -	ret[0] = vec4(mat[0], 0); -	ret[1] = vec4(mat[1], 0); -	ret[2] = vec4(mat[2], 0); -	ret[3] = vec4(trans, 1.0); -				 -	return ret; +    return ret;  #ifdef IS_AMD_CARD     // If it's AMD make sure the GLSL compiler sees the arrays referenced once by static index. Otherwise it seems to optimise the storage awawy which leads to unfun crashes and artifacts. diff --git a/indra/newview/app_settings/shaders/class1/deferred/alphaV.glsl b/indra/newview/app_settings/shaders/class1/deferred/alphaV.glsl index 4c9d813c9c..799b8767d5 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/alphaV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/alphaV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file alphaV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -69,70 +69,70 @@ uniform float near_clip;  void main()  { -	vec4 pos; -	vec3 norm; -	 -	//transform vertex +    vec4 pos; +    vec3 norm; + +    //transform vertex  #ifdef HAS_SKIN -	mat4 trans = getObjectSkinnedTransform(); -	trans = modelview_matrix * trans; -	 -	pos = trans * vec4(position.xyz, 1.0); -	 -	norm = position.xyz + normal.xyz; -	norm = normalize((trans * vec4(norm, 1.0)).xyz - pos.xyz); -	vec4 frag_pos = projection_matrix * pos; -	gl_Position = frag_pos; +    mat4 trans = getObjectSkinnedTransform(); +    trans = modelview_matrix * trans; + +    pos = trans * vec4(position.xyz, 1.0); + +    norm = position.xyz + normal.xyz; +    norm = normalize((trans * vec4(norm, 1.0)).xyz - pos.xyz); +    vec4 frag_pos = projection_matrix * pos; +    gl_Position = frag_pos;  #else  #ifdef IS_AVATAR_SKIN -	mat4 trans = getSkinnedTransform(); -	vec4 pos_in = vec4(position.xyz, 1.0); -	pos.x = dot(trans[0], pos_in); -	pos.y = dot(trans[1], pos_in); -	pos.z = dot(trans[2], pos_in); -	pos.w = 1.0; -	 -	norm.x = dot(trans[0].xyz, normal); -	norm.y = dot(trans[1].xyz, normal); -	norm.z = dot(trans[2].xyz, normal); -	norm = normalize(norm); -	 -	vec4 frag_pos = projection_matrix * pos; -	gl_Position = frag_pos; +    mat4 trans = getSkinnedTransform(); +    vec4 pos_in = vec4(position.xyz, 1.0); +    pos.x = dot(trans[0], pos_in); +    pos.y = dot(trans[1], pos_in); +    pos.z = dot(trans[2], pos_in); +    pos.w = 1.0; + +    norm.x = dot(trans[0].xyz, normal); +    norm.y = dot(trans[1].xyz, normal); +    norm.z = dot(trans[2].xyz, normal); +    norm = normalize(norm); + +    vec4 frag_pos = projection_matrix * pos; +    gl_Position = frag_pos;  #else -	norm = normalize(normal_matrix * normal); -	vec4 vert = vec4(position.xyz, 1.0); -	pos = (modelview_matrix * vert); -	gl_Position = modelview_projection_matrix*vec4(position.xyz, 1.0); +    norm = normalize(normal_matrix * normal); +    vec4 vert = vec4(position.xyz, 1.0); +    pos = (modelview_matrix * vert); +    gl_Position = modelview_projection_matrix*vec4(position.xyz, 1.0);  #endif //IS_AVATAR_SKIN -	 +  #endif // HAS_SKIN  #ifdef USE_INDEXED_TEX -	passTextureIndex(); +    passTextureIndex();  #endif -	vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; -	 -	vary_norm = norm; -	vary_position = pos.xyz; +    vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; + +    vary_norm = norm; +    vary_position = pos.xyz;  #ifdef USE_VERTEX_COLOR -	vertex_color = diffuse_color; +    vertex_color = diffuse_color;  #endif -	 +  #ifdef HAS_SKIN -	vary_fragcoord.xyz = frag_pos.xyz + vec3(0,0,near_clip); +    vary_fragcoord.xyz = frag_pos.xyz + vec3(0,0,near_clip);  #else  #ifdef IS_AVATAR_SKIN -	vary_fragcoord.xyz = pos.xyz + vec3(0,0,near_clip); +    vary_fragcoord.xyz = pos.xyz + vec3(0,0,near_clip);  #else -	pos = modelview_projection_matrix * vert; -	vary_fragcoord.xyz = pos.xyz + vec3(0,0,near_clip); +    pos = modelview_projection_matrix * vert; +    vary_fragcoord.xyz = pos.xyz + vec3(0,0,near_clip);  #endif -	 +  #endif  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/aoUtil.glsl b/indra/newview/app_settings/shaders/class1/deferred/aoUtil.glsl index da467cd5da..49470f0e39 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/aoUtil.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/aoUtil.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file class1/deferred/aoUtil.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -70,7 +70,7 @@ vec2 getKern(int i)      kern[5] = vec2(-0.7071, -0.7071) * 0.750*0.750;      kern[6] = vec2(-0.7071, 0.7071) * 0.875*0.875;      kern[7] = vec2(0.7071, -0.7071) * 1.000*1.000; -        +      return kern[i] / screen_res;  } @@ -83,33 +83,33 @@ float calcAmbientOcclusion(vec4 pos, vec3 norm, vec2 pos_screen)      float angle_hidden = 0.0;      float points = 0; -         +      float scale = min(ssao_radius / -pos_world.z, ssao_max_radius); -     +      // it was found that keeping # of samples a constant was the fastest, probably due to compiler optimizations (unrolling?)      for (int i = 0; i < 8; i++)      {          vec2 samppos_screen = pos_screen + scale * reflect(getKern(i), noise_reflect); -        vec3 samppos_world = getPositionAo(samppos_screen).xyz;  +        vec3 samppos_world = getPositionAo(samppos_screen).xyz;          vec3 diff = pos_world - samppos_world;          float dist2 = dot(diff, diff); -             +          // assume each sample corresponds to an occluding sphere with constant radius, constant x-sectional area          // --> solid angle shrinking by the square of distance          //radius is somewhat arbitrary, can approx with just some constant k * 1 / dist^2          //(k should vary inversely with # of samples, but this is taken care of later) -         +          float funky_val = (dot((samppos_world - 0.05*norm - pos_world), norm) > 0.0) ? 1.0 : 0.0;          angle_hidden = angle_hidden + funky_val * min(1.0/dist2, ssao_factor_inv); -             -        // 'blocked' samples (significantly closer to camera relative to pos_world) are "no data", not "no occlusion"  + +        // 'blocked' samples (significantly closer to camera relative to pos_world) are "no data", not "no occlusion"          float diffz_val = (diff.z > -1.0) ? 1.0 : 0.0;          points = points + diffz_val;      } -         +      angle_hidden = min(ssao_factor*angle_hidden/points, 1.0); -     +      float points_val = (points > 0.0) ? 1.0 : 0.0;      ret = (1.0 - (points_val * angle_hidden)); diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaMaskShadowF.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaMaskShadowF.glsl index f1dc1159d0..f1e0295859 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaMaskShadowF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaMaskShadowF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file avatarAlphaMaskShadowF.glsl   *   * $LicenseInfo:firstyear=2005&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2005, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -32,22 +32,22 @@ in float target_pos_x;  in float pos_w;  in vec2 vary_texcoord0; -void main()  +void main()  { -	float alpha = texture(diffuseMap, vary_texcoord0.xy).a; +    float alpha = texture(diffuseMap, vary_texcoord0.xy).a; -	if (alpha < 0.05) // treat as totally transparent -	{ -		discard; -	} +    if (alpha < 0.05) // treat as totally transparent +    { +        discard; +    } -	if (alpha < minimum_alpha) -	{ -	  if (fract(0.5*floor(target_pos_x / pos_w )) < 0.25) -	  { -	    discard; -	  } -	} +    if (alpha < minimum_alpha) +    { +      if (fract(0.5*floor(target_pos_x / pos_w )) < 0.25) +      { +        discard; +      } +    } -	frag_color = vec4(1,1,1,1); +    frag_color = vec4(1,1,1,1);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaShadowF.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaShadowF.glsl index 097e28aa0c..18ce998cb6 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaShadowF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaShadowF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file avatarAlphaShadowF.glsl   *   * $LicenseInfo:firstyear=2005&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2005, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -34,22 +34,22 @@ in float target_pos_x;  in vec2 vary_texcoord0;  uniform vec4 color; -void main()  +void main()  { -	float alpha = texture(diffuseMap, vary_texcoord0.xy).a * color.a; - -	if (alpha < 0.05) // treat as totally transparent -	{ -		discard; -	} - -	if (alpha < minimum_alpha) // treat as semi-transparent -	{ -	  if (fract(0.5*floor(target_pos_x / pos_w )) < 0.25) -	  { -	    discard; -	  } -	} - -	frag_color = vec4(1,1,1,1); +    float alpha = texture(diffuseMap, vary_texcoord0.xy).a * color.a; + +    if (alpha < 0.05) // treat as totally transparent +    { +        discard; +    } + +    if (alpha < minimum_alpha) // treat as semi-transparent +    { +      if (fract(0.5*floor(target_pos_x / pos_w )) < 0.25) +      { +        discard; +      } +    } + +    frag_color = vec4(1,1,1,1);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaShadowV.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaShadowV.glsl index 57e0b2b59f..8d32dab911 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaShadowV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaShadowV.glsl @@ -1,28 +1,28 @@ -/**  +/**   * @file avatarAlphaShadowV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  uniform mat4 texture_matrix0;  uniform mat4 projection_matrix;  uniform float shadow_target_width; @@ -40,31 +40,31 @@ out vec2 vary_texcoord0;  void main()  { -	vec4 pos; -	vec3 norm; -	 -	vec4 pos_in = vec4(position.xyz, 1.0); -	mat4 trans = getSkinnedTransform(); -	pos.x = dot(trans[0], pos_in); -	pos.y = dot(trans[1], pos_in); -	pos.z = dot(trans[2], pos_in); -	pos.w = 1.0; -	 -	norm.x = dot(trans[0].xyz, normal); -	norm.y = dot(trans[1].xyz, normal); -	norm.z = dot(trans[2].xyz, normal); -	norm = normalize(norm); -	 -	pos = projection_matrix * pos; +    vec4 pos; +    vec3 norm; + +    vec4 pos_in = vec4(position.xyz, 1.0); +    mat4 trans = getSkinnedTransform(); +    pos.x = dot(trans[0], pos_in); +    pos.y = dot(trans[1], pos_in); +    pos.z = dot(trans[2], pos_in); +    pos.w = 1.0; + +    norm.x = dot(trans[0].xyz, normal); +    norm.y = dot(trans[1].xyz, normal); +    norm.z = dot(trans[2].xyz, normal); +    norm = normalize(norm); + +    pos = projection_matrix * pos; -	target_pos_x = 0.5 * (shadow_target_width - 1.0) * pos.x; +    target_pos_x = 0.5 * (shadow_target_width - 1.0) * pos.x; -	pos_w = pos.w; +    pos_w = pos.w; -	vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; +    vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; -	gl_Position = pos; +    gl_Position = pos; -	passTextureIndex(); +    passTextureIndex();  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarEyesV.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarEyesV.glsl index 83b0ba096c..d9a6c9e5f1 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/avatarEyesV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/avatarEyesV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file avatarEyesV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -38,11 +38,11 @@ out vec2 vary_texcoord0;  void main()  { -	//transform vertex -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0);  -	vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; -	 -	vary_normal = normalize(normal_matrix * normal); +    //transform vertex +    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); +    vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; + +    vary_normal = normalize(normal_matrix * normal); -	vertex_color = diffuse_color; +    vertex_color = diffuse_color;  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarF.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarF.glsl index 6ebe4ce251..63d8e12e62 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/avatarF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/avatarF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file avatarF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -36,18 +36,18 @@ in vec2 vary_texcoord0;  vec2 encode_normal(vec3 n); -void main()  +void main()  { -	vec4 diff = texture(diffuseMap, vary_texcoord0.xy); -	 -	if (diff.a < minimum_alpha) -	{ -		discard; -	} -	 -	frag_data[0] = vec4(diff.rgb, 0.0); -	frag_data[1] = vec4(0,0,0,0); -	vec3 nvn = normalize(vary_normal); -	frag_data[2] = vec4(encode_normal(nvn.xyz), 0.0, GBUFFER_FLAG_HAS_ATMOS); +    vec4 diff = texture(diffuseMap, vary_texcoord0.xy); + +    if (diff.a < minimum_alpha) +    { +        discard; +    } + +    frag_data[0] = vec4(diff.rgb, 0.0); +    frag_data[1] = vec4(0,0,0,0); +    vec3 nvn = normalize(vary_normal); +    frag_data[2] = vec4(encode_normal(nvn.xyz), 0.0, GBUFFER_FLAG_HAS_ATMOS);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarShadowF.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarShadowF.glsl index 0c386ade6c..438e1d1b33 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/avatarShadowF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/avatarShadowF.glsl @@ -1,36 +1,36 @@ -/**  +/**   * @file avatarShadowF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -/*[EXTRA_CODE_HERE]*/  +/*[EXTRA_CODE_HERE]*/  out vec4 frag_color;  uniform sampler2D diffuseMap; -void main()  +void main()  { -	frag_color = vec4(1,1,1,1); +    frag_color = vec4(1,1,1,1);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarShadowV.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarShadowV.glsl index 5c64d48399..95db062203 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/avatarShadowV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/avatarShadowV.glsl @@ -1,28 +1,28 @@ -/**  +/**   * @file avatarShadowV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  uniform mat4 projection_matrix;  mat4 getSkinnedTransform(); @@ -33,23 +33,23 @@ in vec2 texcoord0;  void main()  { -	vec4 pos; -	vec3 norm; -	 -	vec4 pos_in = vec4(position.xyz, 1.0); -	mat4 trans = getSkinnedTransform(); -	pos.x = dot(trans[0], pos_in); -	pos.y = dot(trans[1], pos_in); -	pos.z = dot(trans[2], pos_in); -	pos.w = 1.0; -	 -	norm.x = dot(trans[0].xyz, normal); -	norm.y = dot(trans[1].xyz, normal); -	norm.z = dot(trans[2].xyz, normal); -	norm = normalize(norm); -	 -	pos = projection_matrix * pos; -	gl_Position = pos; +    vec4 pos; +    vec3 norm; + +    vec4 pos_in = vec4(position.xyz, 1.0); +    mat4 trans = getSkinnedTransform(); +    pos.x = dot(trans[0], pos_in); +    pos.y = dot(trans[1], pos_in); +    pos.z = dot(trans[2], pos_in); +    pos.w = 1.0; + +    norm.x = dot(trans[0].xyz, normal); +    norm.y = dot(trans[1].xyz, normal); +    norm.z = dot(trans[2].xyz, normal); +    norm = normalize(norm); + +    pos = projection_matrix * pos; +    gl_Position = pos;  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarV.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarV.glsl index bc0c11ec46..74d16592de 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/avatarV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/avatarV.glsl @@ -1,28 +1,28 @@ -/**  +/**   * @file avatarV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  uniform mat4 projection_matrix;  in vec3 position; @@ -38,26 +38,26 @@ out vec2 vary_texcoord0;  void main()  { -	vary_texcoord0 = texcoord0; -				 -	vec4 pos; -	vec3 norm; -	 -	vec4 pos_in = vec4(position.xyz, 1.0); -	mat4 trans = getSkinnedTransform(); -	pos.x = dot(trans[0], pos_in); -	pos.y = dot(trans[1], pos_in); -	pos.z = dot(trans[2], pos_in); -	pos.w = 1.0; -	 -	norm.x = dot(trans[0].xyz, normal); -	norm.y = dot(trans[1].xyz, normal); -	norm.z = dot(trans[2].xyz, normal); -	norm = normalize(norm); -	 -	vary_normal = norm; -	 -	gl_Position = projection_matrix * pos; +    vary_texcoord0 = texcoord0; + +    vec4 pos; +    vec3 norm; + +    vec4 pos_in = vec4(position.xyz, 1.0); +    mat4 trans = getSkinnedTransform(); +    pos.x = dot(trans[0], pos_in); +    pos.y = dot(trans[1], pos_in); +    pos.z = dot(trans[2], pos_in); +    pos.w = 1.0; + +    norm.x = dot(trans[0].xyz, normal); +    norm.y = dot(trans[1].xyz, normal); +    norm.z = dot(trans[2].xyz, normal); +    norm = normalize(norm); + +    vary_normal = norm; + +    gl_Position = projection_matrix * pos;  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/blurLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/blurLightF.glsl index 08baf98686..19fc660c2d 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/blurLightF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/blurLightF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file blurLightF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -42,16 +42,16 @@ in vec2 vary_fragcoord;  vec4 getPosition(vec2 pos_screen);  vec3 getNorm(vec2 pos_screen); -void main()  +void main()  {      vec2 tc = vary_fragcoord.xy;      vec3 norm = getNorm(tc);      vec3 pos = getPosition(tc).xyz;      vec4 ccol = texture(lightMap, tc).rgba; -   +      vec2 dlt = kern_scale * delta / (1.0+norm.xy*norm.xy);      dlt /= max(-pos.z*dist_factor, 1.0); -     +      vec2 defined_weight = kern[0].xy; // special case the first (centre) sample's weight in the blur; we have to sample it anyway so we get it for 'free'      vec4 col = defined_weight.xyxx * ccol; @@ -75,15 +75,15 @@ void main()      k[1] = (k[0]+k[2])*0.5f;      k[3] = (k[2]+k[4])*0.5f;      k[5] = (k[4]+k[6])*0.5f; -     +      for (int i = 1; i < 7; i++)      {          vec2 samptc = tc + k[i].z*dlt*2.0;          samptc /= screen_res; -        vec3 samppos = getPosition(samptc).xyz;  +        vec3 samppos = getPosition(samptc).xyz;          float d = dot(norm.xyz, samppos.xyz-pos.xyz);// dist from plane -         +          if (d*d <= pointplanedist_tolerance_pow2)          {              col += texture(lightMap, samptc)*k[i].xyxx; @@ -95,10 +95,10 @@ void main()      {          vec2 samptc = tc - k[i].z*dlt*2.0;          samptc /= screen_res; -        vec3 samppos = getPosition(samptc).xyz;  +        vec3 samppos = getPosition(samptc).xyz;          float d = dot(norm.xyz, samppos.xyz-pos.xyz);// dist from plane -         +          if (d*d <= pointplanedist_tolerance_pow2)          {              col += texture(lightMap, samptc)*k[i].xyxx; @@ -108,7 +108,7 @@ void main()      col /= defined_weight.xyxx;      //col.y *= col.y; -     +      frag_color = max(col, vec4(0));  #ifdef IS_AMD_CARD diff --git a/indra/newview/app_settings/shaders/class1/deferred/blurLightV.glsl b/indra/newview/app_settings/shaders/class1/deferred/blurLightV.glsl index 5abaa1f2a6..969fbc5a7d 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/blurLightV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/blurLightV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file blurLightF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -30,8 +30,8 @@ uniform vec2 screen_res;  void main()  { -	//transform vertex -	vec4 pos = vec4(position.xyz, 1.0); -	gl_Position = pos;  -	vary_fragcoord = (pos.xy*0.5+0.5); +    //transform vertex +    vec4 pos = vec4(position.xyz, 1.0); +    gl_Position = pos; +    vary_fragcoord = (pos.xy*0.5+0.5);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/bumpF.glsl b/indra/newview/app_settings/shaders/class1/deferred/bumpF.glsl index 35f483f633..11deecafbb 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/bumpF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/bumpF.glsl @@ -1,30 +1,30 @@ -/**  +/**   * @file bumpF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */  /*[EXTRA_CODE_HERE]*/ -  +  out vec4 frag_data[4];  uniform float minimum_alpha; @@ -40,26 +40,26 @@ in vec2 vary_texcoord0;  vec2 encode_normal(vec3 n); -void main()  +void main()  { -	vec4 col = texture(diffuseMap, vary_texcoord0.xy); -	 -	if(col.a < minimum_alpha) -	{ -		discard; -    }		 -		col *= vertex_color; -		 -		vec3 norm = texture(bumpMap, vary_texcoord0.xy).rgb * 2.0 - 1.0; +    vec4 col = texture(diffuseMap, vary_texcoord0.xy); + +    if(col.a < minimum_alpha) +    { +        discard; +    } +        col *= vertex_color; + +        vec3 norm = texture(bumpMap, vary_texcoord0.xy).rgb * 2.0 - 1.0; + +        vec3 tnorm = vec3(dot(norm,vary_mat0), +              dot(norm,vary_mat1), +              dot(norm,vary_mat2)); -		vec3 tnorm = vec3(dot(norm,vary_mat0), -			  dot(norm,vary_mat1), -			  dot(norm,vary_mat2)); -						 -		frag_data[0] = vec4(col.rgb, 0.0); -		frag_data[1] = vertex_color.aaaa; // spec -		//frag_data[1] = vec4(vec3(vertex_color.a), vertex_color.a+(1.0-vertex_color.a)*vertex_color.a); // spec - from former class3 - maybe better, but not so well tested -		vec3 nvn = normalize(tnorm); -		frag_data[2] = vec4(encode_normal(nvn), vertex_color.a, GBUFFER_FLAG_HAS_ATMOS); +        frag_data[0] = vec4(col.rgb, 0.0); +        frag_data[1] = vertex_color.aaaa; // spec +        //frag_data[1] = vec4(vec3(vertex_color.a), vertex_color.a+(1.0-vertex_color.a)*vertex_color.a); // spec - from former class3 - maybe better, but not so well tested +        vec3 nvn = normalize(tnorm); +        frag_data[2] = vec4(encode_normal(nvn), vertex_color.a, GBUFFER_FLAG_HAS_ATMOS);          frag_data[3] = vec4(0);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/bumpV.glsl b/indra/newview/app_settings/shaders/class1/deferred/bumpV.glsl index 3af2eab1e4..4ac757be65 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/bumpV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/bumpV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file bumpV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -47,27 +47,27 @@ uniform mat4 modelview_matrix;  void main()  { -	//transform vertex +    //transform vertex  #ifdef HAS_SKIN      mat4 mat = getObjectSkinnedTransform(); -	mat = modelview_matrix * mat; -	vec3 pos = (mat*vec4(position.xyz, 1.0)).xyz; -	gl_Position = projection_matrix*vec4(pos, 1.0); +    mat = modelview_matrix * mat; +    vec3 pos = (mat*vec4(position.xyz, 1.0)).xyz; +    gl_Position = projection_matrix*vec4(pos, 1.0); -	vec3 n = normalize((mat * vec4(normal.xyz+position.xyz, 1.0)).xyz-pos.xyz); -	vec3 t = normalize((mat * vec4(tangent.xyz+position.xyz, 1.0)).xyz-pos.xyz); +    vec3 n = normalize((mat * vec4(normal.xyz+position.xyz, 1.0)).xyz-pos.xyz); +    vec3 t = normalize((mat * vec4(tangent.xyz+position.xyz, 1.0)).xyz-pos.xyz);  #else -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0);  -	vec3 n = normalize(normal_matrix * normal); -	vec3 t = normalize(normal_matrix * tangent.xyz); +    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); +    vec3 n = normalize(normal_matrix * normal); +    vec3 t = normalize(normal_matrix * tangent.xyz);  #endif -	vec3 b = cross(n, t) * tangent.w; -	vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; +    vec3 b = cross(n, t) * tangent.w; +    vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; + +    vary_mat0 = vec3(t.x, b.x, n.x); +    vary_mat1 = vec3(t.y, b.y, n.y); +    vary_mat2 = vec3(t.z, b.z, n.z); -	vary_mat0 = vec3(t.x, b.x, n.x); -	vary_mat1 = vec3(t.y, b.y, n.y); -	vary_mat2 = vec3(t.z, b.z, n.z); -	 -	vertex_color = diffuse_color; +    vertex_color = diffuse_color;  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/cloudsF.glsl b/indra/newview/app_settings/shaders/class1/deferred/cloudsF.glsl index f6870c3ff0..450d4c4c4a 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/cloudsF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/cloudsF.glsl @@ -1,28 +1,28 @@ -/**  +/**   * @file class1\deferred\cloudsF.glsl   *   * $LicenseInfo:firstyear=2005&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2005, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -/*[EXTRA_CODE_HERE]*/  +/*[EXTRA_CODE_HERE]*/  out vec4 frag_data[4]; @@ -93,7 +93,7 @@ void main()      // And smooth      alpha1 = 1. - alpha1 * alpha1; -    alpha1 = 1. - alpha1 * alpha1;   +    alpha1 = 1. - alpha1 * alpha1;      alpha1 *= altitude_blend_factor;      alpha1 = clamp(alpha1, 0.0, 1.0); @@ -105,7 +105,7 @@ void main()      // And smooth      alpha2 = 1. - alpha2; -    alpha2 = 1. - alpha2 * alpha2;   +    alpha2 = 1. - alpha2 * alpha2;      // Combine      vec3 color; diff --git a/indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl b/indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl index 98314d39d3..c019b5606a 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file WLCloudsV.glsl   *   * $LicenseInfo:firstyear=2005&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2005, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -75,53 +75,53 @@ uniform float cloud_scale;  //       indra\newview\llsettingsvo.cpp  void main()  { -	// World / view / projection -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); +    // World / view / projection +    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); -	// Texture coords +    // Texture coords      // SL-13084 EEP added support for custom cloud textures -- flip them horizontally to match the preview of Clouds > Cloud Scroll      vary_texcoord0 = vec2(-texcoord0.x, texcoord0.y);  // See: LLSettingsVOSky::applySpecial -	vary_texcoord0.xy -= 0.5; -	vary_texcoord0.xy /= cloud_scale; -	vary_texcoord0.xy += 0.5; +    vary_texcoord0.xy -= 0.5; +    vary_texcoord0.xy /= cloud_scale; +    vary_texcoord0.xy += 0.5; -	vary_texcoord1 = vary_texcoord0; -	vary_texcoord1.x += lightnorm.x * 0.0125; -	vary_texcoord1.y += lightnorm.z * 0.0125; +    vary_texcoord1 = vary_texcoord0; +    vary_texcoord1.x += lightnorm.x * 0.0125; +    vary_texcoord1.y += lightnorm.z * 0.0125; -	vary_texcoord2 = vary_texcoord0 * 16.; -	vary_texcoord3 = vary_texcoord1 * 16.; +    vary_texcoord2 = vary_texcoord0 * 16.; +    vary_texcoord3 = vary_texcoord1 * 16.; -	// Get relative position +    // Get relative position      vec3 rel_pos = position.xyz - camPosLocal.xyz + vec3(0, 50, 0);      altitude_blend_factor = clamp((rel_pos.y + 512.0) / max_y, 0.0, 1.0); -	// Set altitude +    // Set altitude      if (rel_pos.y > 0) -	{ +    {          rel_pos *= (max_y / rel_pos.y); -	} +    }      if (rel_pos.y < 0) -	{ -		altitude_blend_factor = 0; // SL-11589 Fix clouds drooping below horizon +    { +        altitude_blend_factor = 0; // SL-11589 Fix clouds drooping below horizon          rel_pos *= (-32000. / rel_pos.y); -	} +    } -	// Can normalize then +    // Can normalize then      vec3  rel_pos_norm = normalize(rel_pos);      float rel_pos_len  = length(rel_pos); -	// Initialize temp variables -	vec3 sunlight = sunlight_color; -	vec3 light_atten; +    // Initialize temp variables +    vec3 sunlight = sunlight_color; +    vec3 light_atten; -	// Sunlight attenuation effect (hue and brightness) due to atmosphere -	// this is used later for sunlight modulation at various altitudes +    // Sunlight attenuation effect (hue and brightness) due to atmosphere +    // this is used later for sunlight modulation at various altitudes      light_atten = (blue_density + vec3(haze_density * 0.25)) * (density_multiplier * max_y); -	// Calculate relative weights +    // Calculate relative weights      vec3 combined_haze = abs(blue_density) + vec3(abs(haze_density));      vec3 blue_weight   = blue_density / combined_haze;      vec3 haze_weight   = haze_density / combined_haze; @@ -130,64 +130,64 @@ void main()      float off_axis = 1.0 / max(1e-6, max(0., rel_pos_norm.y) + lightnorm.y);      sunlight *= exp(-light_atten * off_axis); -	// Distance +    // Distance      float density_dist = rel_pos_len * density_multiplier;      // Transparency (-> combined_haze)      // ATI Bugfix -- can't store combined_haze*density_dist in a variable because the ati -	// compiler gets confused. +    // compiler gets confused.      combined_haze = exp(-combined_haze * density_dist); -	// Compute haze glow +    // Compute haze glow      float haze_glow = 1.0 - dot(rel_pos_norm, lightnorm.xyz);      // haze_glow is 0 at the sun and increases away from sun      haze_glow = max(haze_glow, .001); -		// Set a minimum "angle" (smaller glow.y allows tighter, brighter hotspot) +        // Set a minimum "angle" (smaller glow.y allows tighter, brighter hotspot)      haze_glow *= glow.x; -		// Higher glow.x gives dimmer glow (because next step is 1 / "angle") +        // Higher glow.x gives dimmer glow (because next step is 1 / "angle")      haze_glow = pow(haze_glow, glow.z); -		// glow.z should be negative, so we're doing a sort of (1 / "angle") function +        // glow.z should be negative, so we're doing a sort of (1 / "angle") function      haze_glow *= sun_moon_glow_factor; -	// Add "minimum anti-solar illumination" +    // Add "minimum anti-solar illumination"      // For sun, add to glow.  For moon, remove glow entirely. SL-13768      haze_glow = (sun_moon_glow_factor < 1.0) ? 0.0 : (haze_glow + 0.25); -	// Increase ambient when there are more clouds -	vec3 tmpAmbient = ambient_color; -	tmpAmbient += (1. - tmpAmbient) * cloud_shadow * 0.5;  +    // Increase ambient when there are more clouds +    vec3 tmpAmbient = ambient_color; +    tmpAmbient += (1. - tmpAmbient) * cloud_shadow * 0.5; -	// Dim sunlight by cloud shadow percentage -	sunlight *= (1. - cloud_shadow); +    // Dim sunlight by cloud shadow percentage +    sunlight *= (1. - cloud_shadow); -	// Haze color below cloud +    // Haze color below cloud      vec3 additiveColorBelowCloud =          (blue_horizon * blue_weight * (sunlight + tmpAmbient) + (haze_horizon * haze_weight) * (sunlight * haze_glow + tmpAmbient)); -	// CLOUDS +    // CLOUDS      sunlight = sunlight_color;      off_axis = 1.0 / max(1e-6, lightnorm.y * 2.);      sunlight *= exp(-light_atten * off_axis); -	// Cloud color out +    // Cloud color out      vary_CloudColorSun     = (sunlight * haze_glow) * cloud_color; -	vary_CloudColorAmbient = tmpAmbient * cloud_color; -	 -	// Attenuate cloud color by atmosphere +    vary_CloudColorAmbient = tmpAmbient * cloud_color; + +    // Attenuate cloud color by atmosphere      combined_haze = sqrt(combined_haze);  // less atmos opacity (more transparency) below clouds      vary_CloudColorSun *= combined_haze;      vary_CloudColorAmbient *= combined_haze;      vec3 oHazeColorBelowCloud = additiveColorBelowCloud * (1. - combined_haze); -	// Make a nice cloud density based on the cloud_shadow value that was passed in. -	vary_CloudDensity = 2. * (cloud_shadow - 0.25); +    // Make a nice cloud density based on the cloud_shadow value that was passed in. +    vary_CloudDensity = 2. * (cloud_shadow - 0.25); -	// Combine these to minimize register use -	vary_CloudColorAmbient += oHazeColorBelowCloud; +    // Combine these to minimize register use +    vary_CloudColorAmbient += oHazeColorBelowCloud; -	// needs this to compile on mac -	//vary_AtmosAttenuation = vec3(0.0,0.0,0.0); +    // needs this to compile on mac +    //vary_AtmosAttenuation = vec3(0.0,0.0,0.0); -	// END CLOUDS +    // END CLOUDS  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/cofF.glsl b/indra/newview/app_settings/shaders/class1/deferred/cofF.glsl index d95a33a6be..0a0fa0a374 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/cofF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/cofF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file cofF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -45,35 +45,35 @@ in vec2 vary_fragcoord;  float calc_cof(float depth)  { -	float sc = (depth-focal_distance)/-depth*blur_constant; -		 -	sc /= magnification; -	 -	// tan_pixel_angle = pixel_length/-depth; -	float pixel_length =  tan_pixel_angle*-focal_distance; -	 -	sc = sc/pixel_length; -	sc *= 1.414; -	 -	return sc; +    float sc = (depth-focal_distance)/-depth*blur_constant; + +    sc /= magnification; + +    // tan_pixel_angle = pixel_length/-depth; +    float pixel_length =  tan_pixel_angle*-focal_distance; + +    sc = sc/pixel_length; +    sc *= 1.414; + +    return sc;  } -void main()  +void main()  { -	vec2 tc = vary_fragcoord.xy; +    vec2 tc = vary_fragcoord.xy;      float z = texture(depthMap, tc).r; -	z = z*2.0-1.0; -	vec4 ndc = vec4(0.0, 0.0, z, 1.0); -	vec4 p = inv_proj*ndc; -	float depth = p.z/p.w; -	 -	vec4 diff = texture(diffuseRect, vary_fragcoord.xy); -	 -	float sc = calc_cof(depth); -	sc = min(sc, max_cof); -	sc = max(sc, -max_cof); -	 -	frag_color.rgb = diff.rgb; -	frag_color.a = sc/max_cof*0.5+0.5; +    z = z*2.0-1.0; +    vec4 ndc = vec4(0.0, 0.0, z, 1.0); +    vec4 p = inv_proj*ndc; +    float depth = p.z/p.w; + +    vec4 diff = texture(diffuseRect, vary_fragcoord.xy); + +    float sc = calc_cof(depth); +    sc = min(sc, max_cof); +    sc = max(sc, -max_cof); + +    frag_color.rgb = diff.rgb; +    frag_color.a = sc/max_cof*0.5+0.5;  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/deferredUtil.glsl b/indra/newview/app_settings/shaders/class1/deferred/deferredUtil.glsl index f9ebf33b4a..5ef3d63eb2 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/deferredUtil.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/deferredUtil.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file class1/deferred/deferredUtil.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -385,14 +385,14 @@ vec3 pbrIbl(vec3 diffuseColor,              float perceptualRough)  {      // retrieve a scale and bias to F0. See [1], Figure 3 -	vec2 brdf = BRDF(clamp(nv, 0, 1), 1.0-perceptualRough); -	vec3 diffuseLight = irradiance; -	vec3 specularLight = radiance; -     -	vec3 diffuse = diffuseLight * diffuseColor; -	vec3 specular = specularLight * (specularColor * brdf.x + brdf.y); +    vec2 brdf = BRDF(clamp(nv, 0, 1), 1.0-perceptualRough); +    vec3 diffuseLight = irradiance; +    vec3 specularLight = radiance; -	return (diffuse + specular) * ao; +    vec3 diffuse = diffuseLight * diffuseColor; +    vec3 specular = specularLight * (specularColor * brdf.x + brdf.y); + +    return (diffuse + specular) * ao;  } @@ -401,18 +401,18 @@ vec3 pbrIbl(vec3 diffuseColor,  // of the shading terms, outlined in the Readme.MD Appendix.  struct PBRInfo  { -	float NdotL;                  // cos angle between normal and light direction -	float NdotV;                  // cos angle between normal and view direction -	float NdotH;                  // cos angle between normal and half vector -	float LdotH;                  // cos angle between light direction and half vector -	float VdotH;                  // cos angle between view direction and half vector -	float perceptualRoughness;    // roughness value, as authored by the model creator (input to shader) -	float metalness;              // metallic value at the surface -	vec3 reflectance0;            // full reflectance color (normal incidence angle) -	vec3 reflectance90;           // reflectance color at grazing angle -	float alphaRoughness;         // roughness mapped to a more linear change in the roughness (proposed by [2]) -	vec3 diffuseColor;            // color contribution from diffuse lighting -	vec3 specularColor;           // color contribution from specular lighting +    float NdotL;                  // cos angle between normal and light direction +    float NdotV;                  // cos angle between normal and view direction +    float NdotH;                  // cos angle between normal and half vector +    float LdotH;                  // cos angle between light direction and half vector +    float VdotH;                  // cos angle between view direction and half vector +    float perceptualRoughness;    // roughness value, as authored by the model creator (input to shader) +    float metalness;              // metallic value at the surface +    vec3 reflectance0;            // full reflectance color (normal incidence angle) +    vec3 reflectance90;           // reflectance color at grazing angle +    float alphaRoughness;         // roughness mapped to a more linear change in the roughness (proposed by [2]) +    vec3 diffuseColor;            // color contribution from diffuse lighting +    vec3 specularColor;           // color contribution from specular lighting  };  // Basic Lambertian diffuse @@ -420,14 +420,14 @@ struct PBRInfo  // See also [1], Equation 1  vec3 diffuse(PBRInfo pbrInputs)  { -	return pbrInputs.diffuseColor / M_PI; +    return pbrInputs.diffuseColor / M_PI;  }  // The following equation models the Fresnel reflectance term of the spec equation (aka F())  // Implementation of fresnel from [4], Equation 15  vec3 specularReflection(PBRInfo pbrInputs)  { -	return pbrInputs.reflectance0 + (pbrInputs.reflectance90 - pbrInputs.reflectance0) * pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0); +    return pbrInputs.reflectance0 + (pbrInputs.reflectance90 - pbrInputs.reflectance0) * pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);  }  // This calculates the specular geometric attenuation (aka G()), @@ -436,13 +436,13 @@ vec3 specularReflection(PBRInfo pbrInputs)  // alphaRoughness as input as originally proposed in [2].  float geometricOcclusion(PBRInfo pbrInputs)  { -	float NdotL = pbrInputs.NdotL; -	float NdotV = pbrInputs.NdotV; -	float r = pbrInputs.alphaRoughness; +    float NdotL = pbrInputs.NdotL; +    float NdotV = pbrInputs.NdotV; +    float r = pbrInputs.alphaRoughness; -	float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL))); -	float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV))); -	return attenuationL * attenuationV; +    float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL))); +    float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV))); +    return attenuationL * attenuationV;  }  // The following equation(s) model the distribution of microfacet normals across the area being drawn (aka D()) @@ -450,13 +450,13 @@ float geometricOcclusion(PBRInfo pbrInputs)  // Follows the distribution function recommended in the SIGGRAPH 2013 course notes from EPIC Games [1], Equation 3.  float microfacetDistribution(PBRInfo pbrInputs)  { -	float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness; -	float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0; -	return roughnessSq / (M_PI * f * f); +    float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness; +    float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0; +    return roughnessSq / (M_PI * f * f);  } -vec3 pbrPunctual(vec3 diffuseColor, vec3 specularColor,  -                    float perceptualRoughness,  +vec3 pbrPunctual(vec3 diffuseColor, vec3 specularColor, +                    float perceptualRoughness,                      float metallic,                      vec3 n, // normal                      vec3 v, // surface point to camera @@ -464,53 +464,53 @@ vec3 pbrPunctual(vec3 diffuseColor, vec3 specularColor,  {      // make sure specular highlights from punctual lights don't fall off of polished surfaces      perceptualRoughness = max(perceptualRoughness, 8.0/255.0); -     -	float alphaRoughness = perceptualRoughness * perceptualRoughness; - -	// Compute reflectance. -	float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b); - -	// For typical incident reflectance range (between 4% to 100%) set the grazing reflectance to 100% for typical fresnel effect. -	// For very low reflectance range on highly diffuse objects (below 4%), incrementally reduce grazing reflecance to 0%. -	float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0); -	vec3 specularEnvironmentR0 = specularColor.rgb; -	vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90; - -	vec3 h = normalize(l+v);                        // Half vector between both l and v -	vec3 reflection = -normalize(reflect(v, n)); -	reflection.y *= -1.0f; - -	float NdotL = clamp(dot(n, l), 0.001, 1.0); -	float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0); -	float NdotH = clamp(dot(n, h), 0.0, 1.0); -	float LdotH = clamp(dot(l, h), 0.0, 1.0); -	float VdotH = clamp(dot(v, h), 0.0, 1.0); - -	PBRInfo pbrInputs = PBRInfo( -		NdotL, -		NdotV, -		NdotH, -		LdotH, -		VdotH, -		perceptualRoughness, -		metallic, -		specularEnvironmentR0, -		specularEnvironmentR90, -		alphaRoughness, -		diffuseColor, -		specularColor -	); - -	// Calculate the shading terms for the microfacet specular shading model -	vec3 F = specularReflection(pbrInputs); -	float G = geometricOcclusion(pbrInputs); -	float D = microfacetDistribution(pbrInputs); - -	// Calculation of analytical lighting contribution -	vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs); -	vec3 specContrib = F * G * D / (4.0 * NdotL * NdotV); -	// Obtain final intensity as reflectance (BRDF) scaled by the energy of the light (cosine law) -	vec3 color = NdotL * (diffuseContrib + specContrib); + +    float alphaRoughness = perceptualRoughness * perceptualRoughness; + +    // Compute reflectance. +    float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b); + +    // For typical incident reflectance range (between 4% to 100%) set the grazing reflectance to 100% for typical fresnel effect. +    // For very low reflectance range on highly diffuse objects (below 4%), incrementally reduce grazing reflecance to 0%. +    float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0); +    vec3 specularEnvironmentR0 = specularColor.rgb; +    vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90; + +    vec3 h = normalize(l+v);                        // Half vector between both l and v +    vec3 reflection = -normalize(reflect(v, n)); +    reflection.y *= -1.0f; + +    float NdotL = clamp(dot(n, l), 0.001, 1.0); +    float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0); +    float NdotH = clamp(dot(n, h), 0.0, 1.0); +    float LdotH = clamp(dot(l, h), 0.0, 1.0); +    float VdotH = clamp(dot(v, h), 0.0, 1.0); + +    PBRInfo pbrInputs = PBRInfo( +        NdotL, +        NdotV, +        NdotH, +        LdotH, +        VdotH, +        perceptualRoughness, +        metallic, +        specularEnvironmentR0, +        specularEnvironmentR90, +        alphaRoughness, +        diffuseColor, +        specularColor +    ); + +    // Calculate the shading terms for the microfacet specular shading model +    vec3 F = specularReflection(pbrInputs); +    float G = geometricOcclusion(pbrInputs); +    float D = microfacetDistribution(pbrInputs); + +    // Calculation of analytical lighting contribution +    vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs); +    vec3 specContrib = F * G * D / (4.0 * NdotL * NdotV); +    // Obtain final intensity as reflectance (BRDF) scaled by the energy of the light (cosine law) +    vec3 color = NdotL * (diffuseContrib + specContrib);      return clamp(color, vec3(0), vec3(10));  } @@ -528,9 +528,9 @@ vec3 pbrBaseLight(vec3 diffuseColor, vec3 specularColor, float metallic, vec3 v,      vec3 color = vec3(0);      float NdotV = clamp(abs(dot(norm, v)), 0.001, 1.0); -     +      color += pbrIbl(diffuseColor, specularColor, radiance, irradiance, ao, NdotV, perceptualRoughness); -     +      color += pbrPunctual(diffuseColor, specularColor, perceptualRoughness, metallic, norm, v, normalize(light_dir)) * sunlit * 3.0 * scol; //magic number to balance with legacy materials      color += colorEmissive; diff --git a/indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskF.glsl b/indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskF.glsl index 6f3b94f734..c2fb3201f4 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file diffuseAlphaMaskF.glsl   *   * $LicenseInfo:firstyear=2011&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2011, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -37,19 +37,19 @@ in vec2 vary_texcoord0;  vec2 encode_normal(vec3 n); -void main()  +void main()  { -	vec4 col = texture(diffuseMap, vary_texcoord0.xy) * vertex_color; -	 -	if (col.a < minimum_alpha) -	{ -		discard; -	} - -	frag_data[0] = vec4(col.rgb, 0.0); -	frag_data[1] = vec4(0,0,0,0); // spec -	vec3 nvn = normalize(vary_normal); -	frag_data[2] = vec4(encode_normal(nvn.xyz), 0.0, GBUFFER_FLAG_HAS_ATMOS); +    vec4 col = texture(diffuseMap, vary_texcoord0.xy) * vertex_color; + +    if (col.a < minimum_alpha) +    { +        discard; +    } + +    frag_data[0] = vec4(col.rgb, 0.0); +    frag_data[1] = vec4(0,0,0,0); // spec +    vec3 nvn = normalize(vary_normal); +    frag_data[2] = vec4(encode_normal(nvn.xyz), 0.0, GBUFFER_FLAG_HAS_ATMOS);      frag_data[3] = vec4(0);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskIndexedF.glsl b/indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskIndexedF.glsl index e5f2af2c53..dce1f91bc3 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskIndexedF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskIndexedF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file diffuseAlphaMaskIndexedF.glsl   *   * $LicenseInfo:firstyear=2011&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2011, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -36,18 +36,18 @@ in vec2 vary_texcoord0;  vec2 encode_normal(vec3 n); -void main()  +void main()  { -	vec4 col = diffuseLookup(vary_texcoord0.xy) * vertex_color; -	 -	if (col.a < minimum_alpha) -	{ -		discard; -	} -	 -	frag_data[0] = vec4(col.rgb, 0.0); -	frag_data[1] = vec4(0,0,0,0); -	vec3 nvn = normalize(vary_normal); -	frag_data[2] = vec4(encode_normal(nvn.xyz), 0.0, GBUFFER_FLAG_HAS_ATMOS); +    vec4 col = diffuseLookup(vary_texcoord0.xy) * vertex_color; + +    if (col.a < minimum_alpha) +    { +        discard; +    } + +    frag_data[0] = vec4(col.rgb, 0.0); +    frag_data[1] = vec4(0,0,0,0); +    vec3 nvn = normalize(vary_normal); +    frag_data[2] = vec4(encode_normal(nvn.xyz), 0.0, GBUFFER_FLAG_HAS_ATMOS);      frag_data[3] = vec4(0);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskNoColorF.glsl b/indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskNoColorF.glsl index 234f096ed5..1fc719dde5 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskNoColorF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/diffuseAlphaMaskNoColorF.glsl @@ -1,28 +1,28 @@ -/**  +/**   * @file diffuseAlphaMaskNoColorF.glsl   *   * $LicenseInfo:firstyear=2005&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2005, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  /*[EXTRA_CODE_HERE]*/  out vec4 frag_data[4]; @@ -36,19 +36,19 @@ in vec2 vary_texcoord0;  vec2 encode_normal(vec3 n); -void main()  +void main()  { -	vec4 col = texture(diffuseMap, vary_texcoord0.xy); -	 -	if (col.a < minimum_alpha) -	{ -		discard; -	} - -	frag_data[0] = vec4(col.rgb, 0.0); -	frag_data[1] = vec4(0,0,0,0); // spec -	vec3 nvn = normalize(vary_normal); -	frag_data[2] = vec4(encode_normal(nvn.xyz), 0.0, GBUFFER_FLAG_HAS_ATMOS); +    vec4 col = texture(diffuseMap, vary_texcoord0.xy); + +    if (col.a < minimum_alpha) +    { +        discard; +    } + +    frag_data[0] = vec4(col.rgb, 0.0); +    frag_data[1] = vec4(0,0,0,0); // spec +    vec3 nvn = normalize(vary_normal); +    frag_data[2] = vec4(encode_normal(nvn.xyz), 0.0, GBUFFER_FLAG_HAS_ATMOS);      frag_data[3] = vec4(0);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/diffuseF.glsl b/indra/newview/app_settings/shaders/class1/deferred/diffuseF.glsl index 68fb8bf499..d3d375b20a 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/diffuseF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/diffuseF.glsl @@ -1,30 +1,30 @@ -/**  +/**   * @file diffuseF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */  /*[EXTRA_CODE_HERE]*/ -  +  out vec4 frag_data[4];  uniform sampler2D diffuseMap; @@ -35,14 +35,14 @@ in vec2 vary_texcoord0;  vec2 encode_normal(vec3 n); -void main()  +void main()  { -	vec3 col = vertex_color.rgb * texture(diffuseMap, vary_texcoord0.xy).rgb; -	frag_data[0] = vec4(col, 0.0); -	frag_data[1] = vertex_color.aaaa; // spec -	//frag_data[1] = vec4(vec3(vertex_color.a), vertex_color.a+(1.0-vertex_color.a)*vertex_color.a); // spec - from former class3 - maybe better, but not so well tested -	vec3 nvn = normalize(vary_normal); -	frag_data[2] = vec4(encode_normal(nvn.xyz), vertex_color.a, GBUFFER_FLAG_HAS_ATMOS); +    vec3 col = vertex_color.rgb * texture(diffuseMap, vary_texcoord0.xy).rgb; +    frag_data[0] = vec4(col, 0.0); +    frag_data[1] = vertex_color.aaaa; // spec +    //frag_data[1] = vec4(vec3(vertex_color.a), vertex_color.a+(1.0-vertex_color.a)*vertex_color.a); // spec - from former class3 - maybe better, but not so well tested +    vec3 nvn = normalize(vary_normal); +    frag_data[2] = vec4(encode_normal(nvn.xyz), vertex_color.a, GBUFFER_FLAG_HAS_ATMOS);      frag_data[3] = vec4(0);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/diffuseIndexedF.glsl b/indra/newview/app_settings/shaders/class1/deferred/diffuseIndexedF.glsl index 93d561504e..afdd043c7c 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/diffuseIndexedF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/diffuseIndexedF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file diffuseIndexedF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -34,16 +34,16 @@ in vec2 vary_texcoord0;  vec2 encode_normal(vec3 n);  vec3 linear_to_srgb(vec3 c); -void main()  +void main()  { -	vec3 col = vertex_color.rgb * diffuseLookup(vary_texcoord0.xy).rgb; +    vec3 col = vertex_color.rgb * diffuseLookup(vary_texcoord0.xy).rgb; -	vec3 spec; -	spec.rgb = vec3(vertex_color.a); +    vec3 spec; +    spec.rgb = vec3(vertex_color.a); -	frag_data[0] = vec4(col, 0.0); -	frag_data[1] = vec4(spec, vertex_color.a); // spec -	vec3 nvn = normalize(vary_normal); -	frag_data[2] = vec4(encode_normal(nvn.xyz), vertex_color.a, GBUFFER_FLAG_HAS_ATMOS); +    frag_data[0] = vec4(col, 0.0); +    frag_data[1] = vec4(spec, vertex_color.a); // spec +    vec3 nvn = normalize(vary_normal); +    frag_data[2] = vec4(encode_normal(nvn.xyz), vertex_color.a, GBUFFER_FLAG_HAS_ATMOS);      frag_data[3] = vec4(0);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/diffuseNoColorV.glsl b/indra/newview/app_settings/shaders/class1/deferred/diffuseNoColorV.glsl index 13cc612fab..9ee34a2d77 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/diffuseNoColorV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/diffuseNoColorV.glsl @@ -1,31 +1,31 @@ -/**  +/**   * @file diffuseNoColorV.glsl   *    * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */  uniform mat3 normal_matrix;  uniform mat4 texture_matrix0; -uniform mat4 modelview_projection_matrix;  +uniform mat4 modelview_projection_matrix;  in vec3 position;  in vec3 normal; @@ -37,9 +37,9 @@ out vec2 vary_texcoord0;  void main()  { -	//transform vertex -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0);  -	vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; -	 -	vary_normal = normalize(normal_matrix * normal); +    //transform vertex +    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); +    vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; + +    vary_normal = normalize(normal_matrix * normal);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/diffuseV.glsl b/indra/newview/app_settings/shaders/class1/deferred/diffuseV.glsl index 2402cc3b70..304c01ecc3 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/diffuseV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/diffuseV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file diffuseV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -54,13 +54,13 @@ void main()      gl_Position = projection_matrix * pos;      vary_normal = normalize((mat*vec4(normal.xyz+position.xyz,1.0)).xyz-pos.xyz);  #else -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0);  +    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0);      vary_normal = normalize(normal_matrix * normal);  #endif -	 -	vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; -	 -	passTextureIndex(); -	vertex_color = diffuse_color; +    vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; + +    passTextureIndex(); + +    vertex_color = diffuse_color;  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/dofCombineF.glsl b/indra/newview/app_settings/shaders/class1/deferred/dofCombineF.glsl index 3b9b8ae696..65476c24ff 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/dofCombineF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/dofCombineF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file dofCombineF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -42,34 +42,34 @@ in vec2 vary_fragcoord;  vec4 dofSample(sampler2D tex, vec2 tc)  { -	tc.x = min(tc.x, dof_width); -	tc.y = min(tc.y, dof_height); +    tc.x = min(tc.x, dof_width); +    tc.y = min(tc.y, dof_height); -	return texture(tex, tc); +    return texture(tex, tc);  } -void main()  +void main()  { -	vec2 tc = vary_fragcoord.xy; -	 -	vec4 dof = dofSample(diffuseRect, vary_fragcoord.xy*res_scale); -	 -	vec4 diff = texture(lightMap, vary_fragcoord.xy); - -	float a = min(abs(diff.a*2.0-1.0) * max_cof*res_scale*res_scale, 1.0); - -	if (a > 0.25 && a < 0.75) -	{ //help out the transition a bit -		float sc = a/res_scale; -		 -		vec4 col; -		col = texture(lightMap, vary_fragcoord.xy+vec2(sc,sc)/screen_res); -		col += texture(lightMap, vary_fragcoord.xy+vec2(-sc,sc)/screen_res); -		col += texture(lightMap, vary_fragcoord.xy+vec2(sc,-sc)/screen_res); -		col += texture(lightMap, vary_fragcoord.xy+vec2(-sc,-sc)/screen_res); -		 -		diff = mix(diff, col*0.25, a); -	} - -	frag_color = mix(diff, dof, a); +    vec2 tc = vary_fragcoord.xy; + +    vec4 dof = dofSample(diffuseRect, vary_fragcoord.xy*res_scale); + +    vec4 diff = texture(lightMap, vary_fragcoord.xy); + +    float a = min(abs(diff.a*2.0-1.0) * max_cof*res_scale*res_scale, 1.0); + +    if (a > 0.25 && a < 0.75) +    { //help out the transition a bit +        float sc = a/res_scale; + +        vec4 col; +        col = texture(lightMap, vary_fragcoord.xy+vec2(sc,sc)/screen_res); +        col += texture(lightMap, vary_fragcoord.xy+vec2(-sc,sc)/screen_res); +        col += texture(lightMap, vary_fragcoord.xy+vec2(sc,-sc)/screen_res); +        col += texture(lightMap, vary_fragcoord.xy+vec2(-sc,-sc)/screen_res); + +        diff = mix(diff, col*0.25, a); +    } + +    frag_color = mix(diff, dof, a);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/emissiveF.glsl b/indra/newview/app_settings/shaders/class1/deferred/emissiveF.glsl index c95f791dbf..0c86ec4563 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/emissiveF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/emissiveF.glsl @@ -1,28 +1,28 @@ -/**  +/**   * @file emissiveF.glsl   *   * $LicenseInfo:firstyear=2005&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2005, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  /*[EXTRA_CODE_HERE]*/  out vec4 frag_color; @@ -30,10 +30,10 @@ out vec4 frag_color;  in vec4 vertex_color;  in vec2 vary_texcoord0; -void main()  +void main()  {      // NOTE: when this shader is used, only alpha is being written to -	float a = diffuseLookup(vary_texcoord0.xy).a*vertex_color.a; -	frag_color = max(vec4(0, 0, 0, a), vec4(0)); +    float a = diffuseLookup(vary_texcoord0.xy).a*vertex_color.a; +    frag_color = max(vec4(0, 0, 0, a), vec4(0));  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/emissiveV.glsl b/indra/newview/app_settings/shaders/class1/deferred/emissiveV.glsl index 5a0913a970..fc8f873e8e 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/emissiveV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/emissiveV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file emissiveV.glsl   *    * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -47,8 +47,8 @@ uniform mat4 projection_matrix;  void main()  { -	//transform vertex -	passTextureIndex(); +    //transform vertex +    passTextureIndex();  #ifdef HAS_SKIN      mat4 mat = getObjectSkinnedTransform(); @@ -57,15 +57,15 @@ void main()      vec4 pos = mat * vec4(position.xyz, 1.0);      gl_Position = projection_matrix * pos;  #else -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); +    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0);      vec4 pos = (modelview_matrix * vec4(position.xyz, 1.0));  #endif -	 -	vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; -	 -	calcAtmospherics(pos.xyz); -	 -	vertex_color = emissive; -	 +    vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; + +    calcAtmospherics(pos.xyz); + +    vertex_color = emissive; + +  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/exposureF.glsl b/indra/newview/app_settings/shaders/class1/deferred/exposureF.glsl index 9ac4ceb37e..709b47dcbd 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/exposureF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/exposureF.glsl @@ -1,28 +1,28 @@ -/**  +/**   * @file exposureF.glsl   *   * $LicenseInfo:firstyear=2023&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2023, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  /*[EXTRA_CODE_HERE]*/  out vec4 frag_color; @@ -41,7 +41,7 @@ float lum(vec3 col)      return dot(l, col);  } -void main()  +void main()  {      vec2 tc = vec2(0.5,0.5); @@ -55,7 +55,7 @@ void main()      float prev = texture(exposureMap, vec2(0.5,0.5)).r;      s = mix(prev, s, min(dt*2.0*abs(prev-s), 0.04)); -     +      frag_color = max(vec4(s, s, s, dt), vec4(0.0));  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/fullbrightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/fullbrightF.glsl index a6fab10791..ec6a4a502f 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/fullbrightF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/fullbrightF.glsl @@ -1,28 +1,28 @@ -/**  +/**   * @file deferred/fullbrightF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  /*[EXTRA_CODE_HERE]*/  out vec4 frag_color; @@ -50,7 +50,7 @@ void calcAtmosphericVars(vec3 inPositionEye, vec3 light_dir, float ambFactor, ou  vec4 applySkyAndWaterFog(vec3 pos, vec3 additive, vec3 atten, vec4 color);  #endif -void main()  +void main()  {  #ifdef IS_ALPHA @@ -88,7 +88,7 @@ void main()      calcAtmosphericVars(pos.xyz, vec3(0), 1.0, sunlit, amblit, additive, atten);      color.rgb = applySkyAndWaterFog(pos, additive, atten, color).rgb; -     +  #endif  #endif diff --git a/indra/newview/app_settings/shaders/class1/deferred/fullbrightShinyV.glsl b/indra/newview/app_settings/shaders/class1/deferred/fullbrightShinyV.glsl index 5795384b47..3b55c4645c 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/fullbrightShinyV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/fullbrightShinyV.glsl @@ -4,21 +4,21 @@   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -54,28 +54,28 @@ uniform mat4 projection_matrix;  void main()  { -	//transform vertex -	vec4 vert = vec4(position.xyz,1.0); -	passTextureIndex(); +    //transform vertex +    vec4 vert = vec4(position.xyz,1.0); +    passTextureIndex();  #ifdef HAS_SKIN      mat4 mat = getObjectSkinnedTransform();      mat = modelview_matrix * mat;      vec4 pos = mat * vert;      gl_Position = projection_matrix * pos; -	vec3 norm = normalize((mat*vec4(normal.xyz+position.xyz,1.0)).xyz-pos.xyz); +    vec3 norm = normalize((mat*vec4(normal.xyz+position.xyz,1.0)).xyz-pos.xyz);  #else -	vec4 pos = (modelview_matrix * vert); -	gl_Position = modelview_projection_matrix*vec4(position.xyz, 1.0); -	vec3 norm = normalize(normal_matrix * normal); +    vec4 pos = (modelview_matrix * vert); +    gl_Position = modelview_projection_matrix*vec4(position.xyz, 1.0); +    vec3 norm = normalize(normal_matrix * normal);  #endif      vary_position = pos.xyz; -	vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; +    vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy;      vary_texcoord1 = norm; -	calcAtmospherics(pos.xyz); +    calcAtmospherics(pos.xyz); -	vertex_color = diffuse_color; +    vertex_color = diffuse_color;  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/fullbrightV.glsl b/indra/newview/app_settings/shaders/class1/deferred/fullbrightV.glsl index 77e63e6360..9304ed6dfa 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/fullbrightV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/fullbrightV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file fullbrightV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -50,9 +50,9 @@ uniform mat4 projection_matrix;  void main()  { -	//transform vertex -	vec4 vert = vec4(position.xyz, 1.0); -	passTextureIndex(); +    //transform vertex +    vec4 vert = vec4(position.xyz, 1.0); +    passTextureIndex();  #ifdef HAS_SKIN      mat4 mat = getObjectSkinnedTransform(); @@ -60,15 +60,15 @@ void main()      vec4 pos = mat * vert;      gl_Position = projection_matrix * pos;  #else -	vec4 pos = (modelview_matrix * vert); -	gl_Position = modelview_projection_matrix*vec4(position.xyz, 1.0); +    vec4 pos = (modelview_matrix * vert); +    gl_Position = modelview_projection_matrix*vec4(position.xyz, 1.0);  #endif -	vary_position = pos.xyz; +    vary_position = pos.xyz; + +    vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; -	vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; -	 -	calcAtmospherics(pos.xyz); +    calcAtmospherics(pos.xyz); -	vertex_color = diffuse_color; +    vertex_color = diffuse_color;  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/fxaaF.glsl b/indra/newview/app_settings/shaders/class1/deferred/fxaaF.glsl index cd56ed0adf..94dac7e5a9 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/fxaaF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/fxaaF.glsl @@ -1,28 +1,28 @@ -/**  +/**   * @file fxaaF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  #extension GL_ARB_texture_rectangle : enable  #extension GL_ARB_shader_texture_lod : enable @@ -70,11 +70,11 @@ Example,  Or,    #define FXAA_360 1 -   +  Or,    #define FXAA_PS3 1 -   +  Etc.  (2.) @@ -85,7 +85,7 @@ Then include this file,  (3.)  Then call the FXAA pixel shader from within your desired shader.  Look at the FXAA Quality FxaaPixelShader() for docs on inputs. -As for FXAA 3.11 all inputs for all shaders are the same  +As for FXAA 3.11 all inputs for all shaders are the same  to enable easy porting between platforms.    return FxaaPixelShader(...); @@ -116,7 +116,7 @@ Look at the FXAA Quality FxaaPixelShader() for docs on inputs.  (6.)  Have FXAA vertex shader run as a full screen triangle, -and output "pos" and "fxaaConsolePosPos"  +and output "pos" and "fxaaConsolePosPos"  such that inputs in the pixel shader provide,    // {xy} = center of pixel @@ -133,7 +133,7 @@ Insure the texture sampler(s) used by FXAA are set to bilinear filtering.  ------------------------------------------------------------------------------                      INTEGRATION - RGBL AND COLORSPACE  ------------------------------------------------------------------------------ -FXAA3 requires RGBL as input unless the following is set,  +FXAA3 requires RGBL as input unless the following is set,    #define FXAA_GREEN_AS_LUMA 1 @@ -186,7 +186,7 @@ Getting luma correct is required for the algorithm to work correctly.  ------------------------------------------------------------------------------  Applying FXAA to a framebuffer with linear RGB color will look worse.  This is very counter intuitive, but happends to be true in this case. -The reason is because dithering artifacts will be more visiable  +The reason is because dithering artifacts will be more visiable  in a linear colorspace. @@ -281,7 +281,7 @@ A. Or use FXAA_GREEN_AS_LUMA.      // Might want to lower the settings for both,      //    fxaaConsoleEdgeThresholdMin      //    fxaaQualityEdgeThresholdMin -    // In order to insure AA does not get turned off on colors  +    // In order to insure AA does not get turned off on colors      // which contain a minor amount of green.      //      // 1 = On. @@ -342,23 +342,23 @@ A. Or use FXAA_GREEN_AS_LUMA.      // 1 = API supports gather4 on alpha channel.      // 0 = API does not support gather4 on alpha channel.      // -	#if (FXAA_GLSL_130 == 0) -		#define FXAA_GATHER4_ALPHA 0 -	#endif +    #if (FXAA_GLSL_130 == 0) +        #define FXAA_GATHER4_ALPHA 0 +    #endif      #if (FXAA_HLSL_5 == 1)          #define FXAA_GATHER4_ALPHA 1      #endif      #ifndef FXAA_GATHER4_ALPHA -		#ifdef GL_ARB_gpu_shader5 -			#define FXAA_GATHER4_ALPHA 1 -		#endif -	    #ifdef GL_NV_gpu_shader5 -		    #define FXAA_GATHER4_ALPHA 1 -		#endif -		#ifndef FXAA_GATHER4_ALPHA -			#define FXAA_GATHER4_ALPHA 0 -		#endif -	#endif +        #ifdef GL_ARB_gpu_shader5 +            #define FXAA_GATHER4_ALPHA 1 +        #endif +        #ifdef GL_NV_gpu_shader5 +            #define FXAA_GATHER4_ALPHA 1 +        #endif +        #ifndef FXAA_GATHER4_ALPHA +            #define FXAA_GATHER4_ALPHA 0 +        #endif +    #endif  #endif  /*============================================================================ @@ -421,14 +421,14 @@ NOTE the other tuning knobs are now in the shader function inputs!      //      // Choose the quality preset.      // This needs to be compiled into the shader as it effects code. -    // Best option to include multiple presets is to  +    // Best option to include multiple presets is to      // in each shader define the preset, then include this file. -    //  +    //      // OPTIONS      // -----------------------------------------------------------------------      // 10 to 15 - default medium dither (10=fastest, 15=highest quality)      // 20 to 29 - less dither, more expensive (20=fastest, 29=highest quality) -    // 39       - no dither, very expensive  +    // 39       - no dither, very expensive      //      // NOTES      // ----------------------------------------------------------------------- @@ -437,7 +437,7 @@ NOTE the other tuning knobs are now in the shader function inputs!      // 23 = closest to FXAA 3.9 visually and performance wise      //  _ = the lowest digit is directly related to performance      // _  = the highest digit is directly related to style -    //  +    //      #define FXAA_QUALITY__PRESET 12  #endif @@ -747,7 +747,7 @@ NOTE the other tuning knobs are now in the shader function inputs!      FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.w; }  #else      FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.y; } -#endif     +#endif @@ -801,28 +801,28 @@ FxaaFloat4 FxaaPixelShader(      //   Where N ranges between,      //     N = 0.50 (default)      //     N = 0.33 (sharper) -    // {x___} = -N/screenWidthInPixels   +    // {x___} = -N/screenWidthInPixels      // {_y__} = -N/screenHeightInPixels -    // {__z_} =  N/screenWidthInPixels   -    // {___w} =  N/screenHeightInPixels  +    // {__z_} =  N/screenWidthInPixels +    // {___w} =  N/screenHeightInPixels      FxaaFloat4 fxaaConsoleRcpFrameOpt,      //      // Only used on FXAA Console.      // Not used on 360, but used on PS3 and PC.      // This must be from a constant/uniform. -    // {x___} = -2.0/screenWidthInPixels   +    // {x___} = -2.0/screenWidthInPixels      // {_y__} = -2.0/screenHeightInPixels -    // {__z_} =  2.0/screenWidthInPixels   -    // {___w} =  2.0/screenHeightInPixels  +    // {__z_} =  2.0/screenWidthInPixels +    // {___w} =  2.0/screenHeightInPixels      FxaaFloat4 fxaaConsoleRcpFrameOpt2,      //      // Only used on FXAA Console.      // Only used on 360 in place of fxaaConsoleRcpFrameOpt2.      // This must be from a constant/uniform. -    // {x___} =  8.0/screenWidthInPixels   +    // {x___} =  8.0/screenWidthInPixels      // {_y__} =  8.0/screenHeightInPixels -    // {__z_} = -4.0/screenWidthInPixels   -    // {___w} = -4.0/screenHeightInPixels  +    // {__z_} = -4.0/screenWidthInPixels +    // {___w} = -4.0/screenHeightInPixels      FxaaFloat4 fxaaConsole360RcpFrameOpt2,      //      // Only used on FXAA Quality. @@ -844,7 +844,7 @@ FxaaFloat4 FxaaPixelShader(      //   0.333 - too little (faster)      //   0.250 - low quality      //   0.166 - default -    //   0.125 - high quality  +    //   0.125 - high quality      //   0.063 - overkill (slower)      FxaaFloat fxaaQualityEdgeThreshold,      // @@ -862,7 +862,7 @@ FxaaFloat4 FxaaPixelShader(      //   Tune by looking at mostly non-green content,      //   then start at zero and increase until aliasing is a problem.      FxaaFloat fxaaQualityEdgeThresholdMin, -    //  +    //      // Only used on FXAA Console.      // This used to be the FXAA_CONSOLE__EDGE_SHARPNESS define.      // It is here now to allow easier tuning. @@ -897,7 +897,7 @@ FxaaFloat4 FxaaPixelShader(      // Trims the algorithm from processing darks.      // The console setting has a different mapping than the quality setting.      // This only applies when FXAA_EARLY_EXIT is 1. -    // This does not apply to PS3,  +    // This does not apply to PS3,      // PS3 was simplified to avoid more shader instructions.      //   0.06 - faster but more aliasing in darks      //   0.05 - default @@ -909,7 +909,7 @@ FxaaFloat4 FxaaPixelShader(      //   Tune by looking at mostly non-green content,      //   then start at zero and increase until aliasing is a problem.      FxaaFloat fxaaConsoleEdgeThresholdMin, -    //     +    //      // Extra constants for 360 FXAA Console only.      // Use zeros or anything else for other platforms.      // These must be in physical constant registers and NOT immedates. @@ -1286,11 +1286,11 @@ FxaaFloat4 FxaaPixelShader(  /*============================================================================                           FXAA3 CONSOLE - PC VERSION -                          +  ------------------------------------------------------------------------------  Instead of using this on PC, I'd suggest just using FXAA Quality with      #define FXAA_QUALITY__PRESET 10 -Or  +Or      #define FXAA_QUALITY__PRESET 20  Either are higher qualilty and almost as fast as this on modern PC GPUs.  ============================================================================*/ @@ -1379,7 +1379,7 @@ FxaaFloat4 FxaaPixelShader(  /*============================================================================ -                      FXAA3 CONSOLE - 360 PIXEL SHADER  +                      FXAA3 CONSOLE - 360 PIXEL SHADER  ------------------------------------------------------------------------------  This optimized version thanks to suggestions from Andy Luedke. @@ -1414,14 +1414,14 @@ float4 FxaaPixelShader(  /*--------------------------------------------------------------------------*/      float4 lumaNwNeSwSe;      #if (FXAA_GREEN_AS_LUMA == 0) -        asm {  +        asm {              tfetch2D lumaNwNeSwSe.w___, tex, pos.xy, OffsetX = -0.5, OffsetY = -0.5, UseComputedLOD=false              tfetch2D lumaNwNeSwSe._w__, tex, pos.xy, OffsetX =  0.5, OffsetY = -0.5, UseComputedLOD=false              tfetch2D lumaNwNeSwSe.__w_, tex, pos.xy, OffsetX = -0.5, OffsetY =  0.5, UseComputedLOD=false              tfetch2D lumaNwNeSwSe.___w, tex, pos.xy, OffsetX =  0.5, OffsetY =  0.5, UseComputedLOD=false          };      #else -        asm {  +        asm {              tfetch2D lumaNwNeSwSe.y___, tex, pos.xy, OffsetX = -0.5, OffsetY = -0.5, UseComputedLOD=false              tfetch2D lumaNwNeSwSe._y__, tex, pos.xy, OffsetX =  0.5, OffsetY = -0.5, UseComputedLOD=false              tfetch2D lumaNwNeSwSe.__y_, tex, pos.xy, OffsetX = -0.5, OffsetY =  0.5, UseComputedLOD=false @@ -1442,7 +1442,7 @@ float4 FxaaPixelShader(      #else          float lumaMinM = min(lumaMin, rgbyM.y);          float lumaMaxM = max(lumaMax, rgbyM.y); -    #endif         +    #endif      if((lumaMaxM - lumaMinM) < max(fxaaConsoleEdgeThresholdMin, lumaMax * fxaaConsoleEdgeThreshold)) return rgbyM;  /*--------------------------------------------------------------------------*/      float2 dir; @@ -1591,7 +1591,7 @@ Pass |  Unit  |  uOp |  PC:  Op       |        |      |    13 |   SCT0 |  mad |  48:  ADDxc0_s rc, h2, h2.w---;       | SCB0/1 |  mul |  49:  MOVh h0(NE0.xxxx), h1; -  +  Pass   SCT  TEX  SCB    1:   0% 100%  25%    2:   0% 100%  25% @@ -1677,7 +1677,7 @@ half4 FxaaPixelShader(      #else          dir.x += lumaSw.y;          dir.z += lumaSw.y; -    #endif         +    #endif  /*--------------------------------------------------------------------------*/  // (3)      half4 lumaNw = h4tex2Dlod(tex, half4(fxaaConsolePosPos.xy, 0, 0)); @@ -1740,7 +1740,7 @@ half4 FxaaPixelShader(      #else          half lumaMin = min(min(lumaNw.y, lumaSw.y), min(lumaNe.y, lumaSe.y));          half lumaMax = max(max(lumaNw.y, lumaSw.y), max(lumaNe.y, lumaSe.y)); -    #endif         +    #endif      rgby2 = (rgby2 + rgby1) * 0.5;  /*--------------------------------------------------------------------------*/  // (12) @@ -1896,7 +1896,7 @@ Pass |  Unit  |  uOp |  PC:  Op       |        |      |    15 | SCT0/1 |  mul |  55:  MOVh h0(NE0.wwww), h2;       | SCB0/1 |  mul |  56:  MOVh h0(NE0.xxxx), h1; -  +  Pass   SCT  TEX  SCB    1:   0% 100%  25%    2:   0% 100%  25% @@ -2096,28 +2096,28 @@ uniform vec4 rcp_frame_opt2;  in vec2 vary_fragcoord;  in vec2 vary_tc; -void main()  +void main()  { -	vec4 diff =			FxaaPixelShader(vary_tc,			//pos -										vec4(vary_fragcoord.xy, 0, 0), //fxaaConsolePosPos -										diffuseMap,					//tex -										diffuseMap,					 -										diffuseMap, -										rcp_screen_res,				//fxaaQualityRcpFrame -										vec4(0,0,0,0),				//fxaaConsoleRcpFrameOpt -										rcp_frame_opt,				//fxaaConsoleRcpFrameOpt2 -										rcp_frame_opt2,				//fxaaConsole360RcpFrameOpt2 -										0.75,						//fxaaQualitySubpix -										0.07,						//fxaaQualityEdgeThreshold -										0.03,						//fxaaQualityEdgeThresholdMin -										8.0,						//fxaaConsoleEdgeSharpness -										0.125,						//fxaaConsoleEdgeThreshold -										0.05,						//fxaaConsoleEdgeThresholdMin -										vec4(0,0,0,0));				//fxaaConsole360ConstDir +    vec4 diff =         FxaaPixelShader(vary_tc,            //pos +                                        vec4(vary_fragcoord.xy, 0, 0), //fxaaConsolePosPos +                                        diffuseMap,                 //tex +                                        diffuseMap, +                                        diffuseMap, +                                        rcp_screen_res,             //fxaaQualityRcpFrame +                                        vec4(0,0,0,0),              //fxaaConsoleRcpFrameOpt +                                        rcp_frame_opt,              //fxaaConsoleRcpFrameOpt2 +                                        rcp_frame_opt2,             //fxaaConsole360RcpFrameOpt2 +                                        0.75,                       //fxaaQualitySubpix +                                        0.07,                       //fxaaQualityEdgeThreshold +                                        0.03,                       //fxaaQualityEdgeThresholdMin +                                        8.0,                        //fxaaConsoleEdgeSharpness +                                        0.125,                      //fxaaConsoleEdgeThreshold +                                        0.05,                       //fxaaConsoleEdgeThresholdMin +                                        vec4(0,0,0,0));             //fxaaConsole360ConstDir      frag_color = diff; -     +      gl_FragDepth = texture(depthMap, vary_fragcoord.xy).r;  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/genbrdflutF.glsl b/indra/newview/app_settings/shaders/class1/deferred/genbrdflutF.glsl index e40d070268..f57b10b720 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/genbrdflutF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/genbrdflutF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file class1/deferred/genbrdflut.glsl   *   * $LicenseInfo:firstyear=2022&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2022, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -60,82 +60,82 @@ const float PI = 3.1415926536;  // Based omn http://byteblacksmith.com/improvements-to-the-canonical-one-liner-glsl-rand-for-opengl-es-2-0/  float random(vec2 co)  { -	float a = 12.9898; -	float b = 78.233; -	float c = 43758.5453; -	float dt= dot(co.xy ,vec2(a,b)); -	float sn= mod(dt,3.14); -	return fract(sin(sn) * c); +    float a = 12.9898; +    float b = 78.233; +    float c = 43758.5453; +    float dt= dot(co.xy ,vec2(a,b)); +    float sn= mod(dt,3.14); +    return fract(sin(sn) * c);  } -vec2 hammersley2d(uint i, uint N)  +vec2 hammersley2d(uint i, uint N)  { -	// Radical inverse based on http://holger.dammertz.org/stuff/notes_HammersleyOnHemisphere.html -	uint bits = (i << 16u) | (i >> 16u); -	bits = ((bits & 0x55555555u) << 1u) | ((bits & 0xAAAAAAAAu) >> 1u); -	bits = ((bits & 0x33333333u) << 2u) | ((bits & 0xCCCCCCCCu) >> 2u); -	bits = ((bits & 0x0F0F0F0Fu) << 4u) | ((bits & 0xF0F0F0F0u) >> 4u); -	bits = ((bits & 0x00FF00FFu) << 8u) | ((bits & 0xFF00FF00u) >> 8u); -	float rdi = float(bits) * 2.3283064365386963e-10; -	return vec2(float(i) /float(N), rdi); +    // Radical inverse based on http://holger.dammertz.org/stuff/notes_HammersleyOnHemisphere.html +    uint bits = (i << 16u) | (i >> 16u); +    bits = ((bits & 0x55555555u) << 1u) | ((bits & 0xAAAAAAAAu) >> 1u); +    bits = ((bits & 0x33333333u) << 2u) | ((bits & 0xCCCCCCCCu) >> 2u); +    bits = ((bits & 0x0F0F0F0Fu) << 4u) | ((bits & 0xF0F0F0F0u) >> 4u); +    bits = ((bits & 0x00FF00FFu) << 8u) | ((bits & 0xFF00FF00u) >> 8u); +    float rdi = float(bits) * 2.3283064365386963e-10; +    return vec2(float(i) /float(N), rdi);  }  // Based on http://blog.selfshadow.com/publications/s2013-shading-course/karis/s2013_pbs_epic_slides.pdf -vec3 importanceSample_GGX(vec2 Xi, float roughness, vec3 normal)  +vec3 importanceSample_GGX(vec2 Xi, float roughness, vec3 normal)  { -	// Maps a 2D point to a hemisphere with spread based on roughness -	float alpha = roughness * roughness; -	float phi = 2.0 * PI * Xi.x + random(normal.xz) * 0.1; -	float cosTheta = sqrt((1.0 - Xi.y) / (1.0 + (alpha*alpha - 1.0) * Xi.y)); -	float sinTheta = sqrt(1.0 - cosTheta * cosTheta); -	vec3 H = vec3(sinTheta * cos(phi), sinTheta * sin(phi), cosTheta); - -	// Tangent space -	vec3 up = abs(normal.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0); -	vec3 tangentX = normalize(cross(up, normal)); -	vec3 tangentY = normalize(cross(normal, tangentX)); - -	// Convert to world Space -	return normalize(tangentX * H.x + tangentY * H.y + normal * H.z); +    // Maps a 2D point to a hemisphere with spread based on roughness +    float alpha = roughness * roughness; +    float phi = 2.0 * PI * Xi.x + random(normal.xz) * 0.1; +    float cosTheta = sqrt((1.0 - Xi.y) / (1.0 + (alpha*alpha - 1.0) * Xi.y)); +    float sinTheta = sqrt(1.0 - cosTheta * cosTheta); +    vec3 H = vec3(sinTheta * cos(phi), sinTheta * sin(phi), cosTheta); + +    // Tangent space +    vec3 up = abs(normal.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0); +    vec3 tangentX = normalize(cross(up, normal)); +    vec3 tangentY = normalize(cross(normal, tangentX)); + +    // Convert to world Space +    return normalize(tangentX * H.x + tangentY * H.y + normal * H.z);  }  // Geometric Shadowing function  float G_SchlicksmithGGX(float dotNL, float dotNV, float roughness)  { -	float k = (roughness * roughness) / 2.0; -	float GL = dotNL / (dotNL * (1.0 - k) + k); -	float GV = dotNV / (dotNV * (1.0 - k) + k); -	return GL * GV; +    float k = (roughness * roughness) / 2.0; +    float GL = dotNL / (dotNL * (1.0 - k) + k); +    float GV = dotNV / (dotNV * (1.0 - k) + k); +    return GL * GV;  }  vec2 BRDF(float NoV, float roughness)  { -	// Normal always points along z-axis for the 2D lookup  -	const vec3 N = vec3(0.0, 0.0, 1.0); -	vec3 V = vec3(sqrt(1.0 - NoV*NoV), 0.0, NoV); - -	vec2 LUT = vec2(0.0); -	for(uint i = 0u; i < NUM_SAMPLES; i++) { -		vec2 Xi = hammersley2d(i, NUM_SAMPLES); -		vec3 H = importanceSample_GGX(Xi, roughness, N); -		vec3 L = 2.0 * dot(V, H) * H - V; - -		float dotNL = max(dot(N, L), 0.0); -		float dotNV = max(dot(N, V), 0.0); -		float dotVH = max(dot(V, H), 0.0);  -		float dotNH = max(dot(H, N), 0.0); - -		if (dotNL > 0.0) { -			float G = G_SchlicksmithGGX(dotNL, dotNV, roughness); -			float G_Vis = (G * dotVH) / (dotNH * dotNV); -			float Fc = pow(1.0 - dotVH, 5.0); -			LUT += vec2((1.0 - Fc) * G_Vis, Fc * G_Vis); -		} -	} -	return LUT / float(NUM_SAMPLES); +    // Normal always points along z-axis for the 2D lookup +    const vec3 N = vec3(0.0, 0.0, 1.0); +    vec3 V = vec3(sqrt(1.0 - NoV*NoV), 0.0, NoV); + +    vec2 LUT = vec2(0.0); +    for(uint i = 0u; i < NUM_SAMPLES; i++) { +        vec2 Xi = hammersley2d(i, NUM_SAMPLES); +        vec3 H = importanceSample_GGX(Xi, roughness, N); +        vec3 L = 2.0 * dot(V, H) * H - V; + +        float dotNL = max(dot(N, L), 0.0); +        float dotNV = max(dot(N, V), 0.0); +        float dotVH = max(dot(V, H), 0.0); +        float dotNH = max(dot(H, N), 0.0); + +        if (dotNL > 0.0) { +            float G = G_SchlicksmithGGX(dotNL, dotNV, roughness); +            float G_Vis = (G * dotVH) / (dotNH * dotNV); +            float Fc = pow(1.0 - dotVH, 5.0); +            LUT += vec2((1.0 - Fc) * G_Vis, Fc * G_Vis); +        } +    } +    return LUT / float(NUM_SAMPLES);  } -void main()  +void main()  { -	outColor = vec4(BRDF(vary_uv.s, 1.0-vary_uv.t), 0.0, 1.0); +    outColor = vec4(BRDF(vary_uv.s, 1.0-vary_uv.t), 0.0, 1.0);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/genbrdflutV.glsl b/indra/newview/app_settings/shaders/class1/deferred/genbrdflutV.glsl index 3a1572996f..a609776176 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/genbrdflutV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/genbrdflutV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file class3\deferred\genbrdflutV.glsl   *   * $LicenseInfo:firstyear=2022&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2022, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -31,9 +31,9 @@ out vec2 vary_uv;  void main()  { -	//transform vertex -	vec4 pos = modelview_projection_matrix * vec4(position.xyz, 1.0); -	vary_uv = position.xy*0.5+0.5; +    //transform vertex +    vec4 pos = modelview_projection_matrix * vec4(position.xyz, 1.0); +    vary_uv = position.xy*0.5+0.5; -	gl_Position = vec4(position.xyz, 1.0); +    gl_Position = vec4(position.xyz, 1.0);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/highlightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/highlightF.glsl index 748fcbed80..5c09950712 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/highlightF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/highlightF.glsl @@ -1,28 +1,28 @@ -/**  +/**   * @file highlightF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  out vec4 frag_data[4];  uniform vec4 color; @@ -30,10 +30,10 @@ uniform sampler2D diffuseMap;  in vec2 vary_texcoord0; -void main()  +void main()  { -	frag_data[0] = color*texture(diffuseMap, vary_texcoord0.xy); -	frag_data[1] = vec4(0.0); -	frag_data[2] = vec4(0.0, 1.0, 0.0, GBUFFER_FLAG_SKIP_ATMOS); +    frag_data[0] = color*texture(diffuseMap, vary_texcoord0.xy); +    frag_data[1] = vec4(0.0); +    frag_data[2] = vec4(0.0, 1.0, 0.0, GBUFFER_FLAG_SKIP_ATMOS);      frag_data[3] = vec4(0);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/impostorF.glsl b/indra/newview/app_settings/shaders/class1/deferred/impostorF.glsl index aae595f619..5561a3d488 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/impostorF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/impostorF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file impostorF.glsl   *   * $LicenseInfo:firstyear=2011&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -39,20 +39,20 @@ in vec2 vary_texcoord0;  vec3 linear_to_srgb(vec3 c);  vec2 encode_normal (vec3 n); -void main()  +void main()  { -	vec4 col = texture(diffuseMap, vary_texcoord0.xy); +    vec4 col = texture(diffuseMap, vary_texcoord0.xy); -	if (col.a < minimum_alpha) -	{ -		discard; -	} +    if (col.a < minimum_alpha) +    { +        discard; +    } -	vec4 norm = texture(normalMap,   vary_texcoord0.xy); -	vec4 spec = texture(specularMap, vary_texcoord0.xy); +    vec4 norm = texture(normalMap,   vary_texcoord0.xy); +    vec4 spec = texture(specularMap, vary_texcoord0.xy); -	frag_data[0] = vec4(col.rgb, 0.0); -	frag_data[1] = spec; -	frag_data[2] = vec4(encode_normal(norm.xyz),0,GBUFFER_FLAG_HAS_ATMOS); +    frag_data[0] = vec4(col.rgb, 0.0); +    frag_data[1] = spec; +    frag_data[2] = vec4(encode_normal(norm.xyz),0,GBUFFER_FLAG_HAS_ATMOS);      frag_data[3] = vec4(0);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/impostorV.glsl b/indra/newview/app_settings/shaders/class1/deferred/impostorV.glsl index 444c54a31e..6af0757143 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/impostorV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/impostorV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file impostorV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -33,7 +33,7 @@ out vec2 vary_texcoord0;  void main()  { -	//transform vertex -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0);  -	vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; +    //transform vertex +    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); +    vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy;  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/luminanceF.glsl b/indra/newview/app_settings/shaders/class1/deferred/luminanceF.glsl index c8afacf9bb..b9337a357f 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/luminanceF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/luminanceF.glsl @@ -1,32 +1,32 @@ -/**  +/**   * @file luminanceF.glsl   *   * $LicenseInfo:firstyear=2023&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2023, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  /*[EXTRA_CODE_HERE]*/ -// take a luminance sample of diffuseRect and emissiveRect  +// take a luminance sample of diffuseRect and emissiveRect  out vec4 frag_color; @@ -41,7 +41,7 @@ float lum(vec3 col)      return dot(l, col);  } -void main()  +void main()  {      vec2 tc = vary_fragcoord*0.6+0.2;      tc.y -= 0.1; // HACK - nudge exposure sample down a little bit to favor ground over sky diff --git a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl index 4dee23372f..c23729ef30 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl @@ -39,7 +39,7 @@ void main()  {  #if (DIFFUSE_ALPHA_MODE == DIFFUSE_ALPHA_MODE_BLEND)      frag_color = vec4(0.5, 0, 1, 0.5); -#else // mode is not DIFFUSE_ALPHA_MODE_BLEND, encode to gbuffer  +#else // mode is not DIFFUSE_ALPHA_MODE_BLEND, encode to gbuffer      // deferred path               // See: C++: addDeferredAttachment(), shader: softenLightF.glsl      frag_data[0] = vec4(0.5, 0, 1, 0);    // gbuffer is sRGB for legacy materials      frag_data[1] = vec4(0); // XYZ = Specular color. W = Specular exponent. diff --git a/indra/newview/app_settings/shaders/class1/deferred/materialV.glsl b/indra/newview/app_settings/shaders/class1/deferred/materialV.glsl index 7cdddfe8db..5e48ff709f 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/materialV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/materialV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file materialV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -72,70 +72,70 @@ out vec3 vary_normal;  in vec2 texcoord2;  out vec2 vary_texcoord2;  #endif -  +  out vec4 vertex_color;  out vec2 vary_texcoord0;  void main()  {  #ifdef HAS_SKIN -	mat4 mat = getObjectSkinnedTransform(); +    mat4 mat = getObjectSkinnedTransform(); -	mat = modelview_matrix * mat; +    mat = modelview_matrix * mat; -	vec3 pos = (mat*vec4(position.xyz,1.0)).xyz; +    vec3 pos = (mat*vec4(position.xyz,1.0)).xyz;  #if (DIFFUSE_ALPHA_MODE == DIFFUSE_ALPHA_MODE_BLEND) -	vary_position = pos; +    vary_position = pos;  #endif -	gl_Position = projection_matrix*vec4(pos,1.0); +    gl_Position = projection_matrix*vec4(pos,1.0);  #else -	//transform vertex -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0);  +    //transform vertex +    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0);  #endif -	 -	vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; -	 + +    vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; +  #ifdef HAS_NORMAL_MAP -	vary_texcoord1 = (texture_matrix0 * vec4(texcoord1,0,1)).xy; +    vary_texcoord1 = (texture_matrix0 * vec4(texcoord1,0,1)).xy;  #endif  #ifdef HAS_SPECULAR_MAP -	vary_texcoord2 = (texture_matrix0 * vec4(texcoord2,0,1)).xy; +    vary_texcoord2 = (texture_matrix0 * vec4(texcoord2,0,1)).xy;  #endif  #ifdef HAS_SKIN -	vec3 n = normalize((mat*vec4(normal.xyz+position.xyz,1.0)).xyz-pos.xyz); +    vec3 n = normalize((mat*vec4(normal.xyz+position.xyz,1.0)).xyz-pos.xyz);  #ifdef HAS_NORMAL_MAP -	vec3 t = normalize((mat*vec4(tangent.xyz+position.xyz,1.0)).xyz-pos.xyz); +    vec3 t = normalize((mat*vec4(tangent.xyz+position.xyz,1.0)).xyz-pos.xyz);      vary_tangent = t;      vary_sign = tangent.w;      vary_normal = n;  #else //HAS_NORMAL_MAP -	vary_normal  = n; +    vary_normal  = n;  #endif //HAS_NORMAL_MAP  #else //HAS_SKIN -	vec3 n = normalize(normal_matrix * normal); +    vec3 n = normalize(normal_matrix * normal);  #ifdef HAS_NORMAL_MAP -	vec3 t = normalize(normal_matrix * tangent.xyz); +    vec3 t = normalize(normal_matrix * tangent.xyz);      vary_tangent = t;      vary_sign = tangent.w;      vary_normal = n;  #else //HAS_NORMAL_MAP -	vary_normal = n; +    vary_normal = n;  #endif //HAS_NORMAL_MAP  #endif //HAS_SKIN -	 -	vertex_color = diffuse_color; + +    vertex_color = diffuse_color;  #if (DIFFUSE_ALPHA_MODE == DIFFUSE_ALPHA_MODE_BLEND)  #if !defined(HAS_SKIN) -	vary_position = (modelview_matrix*vec4(position.xyz, 1.0)).xyz; +    vary_position = (modelview_matrix*vec4(position.xyz, 1.0)).xyz;  #endif  #endif  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/moonF.glsl b/indra/newview/app_settings/shaders/class1/deferred/moonF.glsl index 183354b9bd..03a8518c36 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/moonF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/moonF.glsl @@ -1,28 +1,28 @@ -/**  +/**   * @file class1\deferred\moonF.glsl   *   * $LicenseInfo:firstyear=2005&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2005, 2020 Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  /*[EXTRA_CODE_HERE]*/  out vec4 frag_data[4]; @@ -34,7 +34,7 @@ uniform sampler2D diffuseMap;  in vec2 vary_texcoord0; -void main()  +void main()  {      // Restore Pre-EEP alpha fade moon near horizon      float fade = 1.0; diff --git a/indra/newview/app_settings/shaders/class1/deferred/moonV.glsl b/indra/newview/app_settings/shaders/class1/deferred/moonV.glsl index c2a1dccb33..8d9df7e926 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/moonV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/moonV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file class1\deferred\moonV.glsl   *    * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, 2020 Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ diff --git a/indra/newview/app_settings/shaders/class1/deferred/normgenF.glsl b/indra/newview/app_settings/shaders/class1/deferred/normgenF.glsl index 05dced0026..902746366d 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/normgenF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/normgenF.glsl @@ -1,28 +1,28 @@ -/**  +/**   * @file normgenF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  /*[EXTRA_CODE_HERE]*/  out vec4 frag_color; @@ -37,18 +37,18 @@ uniform float norm_scale;  void main()  { -	float c = texture(alphaMap, vary_texcoord0).r; - -	vec3 right = vec3(norm_scale, 0, (texture(alphaMap, vary_texcoord0+vec2(stepX, 0)).r-c)*255); -	vec3 left = vec3(-norm_scale, 0, (texture(alphaMap, vary_texcoord0-vec2(stepX, 0)).r-c)*255); -	vec3 up = vec3(0, -norm_scale, (texture(alphaMap, vary_texcoord0-vec2(0, stepY)).r-c)*255); -	vec3 down = vec3(0, norm_scale, (texture(alphaMap, vary_texcoord0+vec2(0, stepY)).r-c)*255); -	 -	vec3 norm = cross(right, down) + cross(down, left) + cross(left,up) + cross(up, right); -	 -	norm = normalize(norm); -	norm *= 0.5; -	norm += 0.5;	 - -	frag_color = vec4(norm, c); +    float c = texture(alphaMap, vary_texcoord0).r; + +    vec3 right = vec3(norm_scale, 0, (texture(alphaMap, vary_texcoord0+vec2(stepX, 0)).r-c)*255); +    vec3 left = vec3(-norm_scale, 0, (texture(alphaMap, vary_texcoord0-vec2(stepX, 0)).r-c)*255); +    vec3 up = vec3(0, -norm_scale, (texture(alphaMap, vary_texcoord0-vec2(0, stepY)).r-c)*255); +    vec3 down = vec3(0, norm_scale, (texture(alphaMap, vary_texcoord0+vec2(0, stepY)).r-c)*255); + +    vec3 norm = cross(right, down) + cross(down, left) + cross(left,up) + cross(up, right); + +    norm = normalize(norm); +    norm *= 0.5; +    norm += 0.5; + +    frag_color = vec4(norm, c);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/normgenV.glsl b/indra/newview/app_settings/shaders/class1/deferred/normgenV.glsl index 7896659ad3..135ebf9418 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/normgenV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/normgenV.glsl @@ -1,28 +1,28 @@ -/**  +/**   * @file normgenV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  in vec3 position;  in vec2 texcoord0; @@ -31,6 +31,6 @@ out vec2 vary_texcoord0;  void main()  { -	gl_Position = vec4(position.x*2.0-1.0, position.y*2.0-1.0, -1.0, 1.0);  -	vary_texcoord0 = texcoord0; +    gl_Position = vec4(position.x*2.0-1.0, position.y*2.0-1.0, -1.0, 1.0); +    vary_texcoord0 = texcoord0;  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaBlendF.glsl b/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaBlendF.glsl index 79425ad716..dbaab9bbda 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaBlendF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaBlendF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file pbrShadowAlphaBlendF.glsl   *   * $LicenseInfo:firstyear=2023&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2023, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -33,7 +33,7 @@ in vec4 vertex_color;  in vec2 vary_texcoord0;  uniform float minimum_alpha; -void main()  +void main()  {      float alpha = texture(diffuseMap,vary_texcoord0.xy).a; @@ -52,5 +52,5 @@ void main()          }      } -	frag_color = vec4(1,1,1,1); +    frag_color = vec4(1,1,1,1);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaMaskF.glsl b/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaMaskF.glsl index 1d1545be7e..c1fb9f5d84 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaMaskF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaMaskF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file pbrShadowAlphaMaskF.glsl   *   * $LicenseInfo:firstyear=2023&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2023, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -33,7 +33,7 @@ in vec4 vertex_color;  in vec2 vary_texcoord0;  uniform float minimum_alpha; -void main()  +void main()  {      float alpha = texture(diffuseMap,vary_texcoord0.xy).a; diff --git a/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaMaskV.glsl b/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaMaskV.glsl index 4fb5fbcf06..0cfe3c9a5f 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaMaskV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaMaskV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file pbrShadowAlphaMaskV.glsl   *   * $LicenseInfo:firstyear=2023&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2023, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -67,7 +67,7 @@ void main()      post_pos = pos;      gl_Position = pos; -     +      passTextureIndex();      vary_texcoord0 = texture_transform(texcoord0, texture_base_color_transform, texture_matrix0); diff --git a/indra/newview/app_settings/shaders/class1/deferred/pbralphaF.glsl b/indra/newview/app_settings/shaders/class1/deferred/pbralphaF.glsl index 2ccd3fd962..566f4f9c2a 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/pbralphaF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/pbralphaF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file pbralphaF.glsl   *   * $LicenseInfo:firstyear=2023&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2023, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ diff --git a/indra/newview/app_settings/shaders/class1/deferred/pbralphaV.glsl b/indra/newview/app_settings/shaders/class1/deferred/pbralphaV.glsl index 6b960fae33..d0fc362db9 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/pbralphaV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/pbralphaV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file class1\deferred\pbralphaV.glsl   *   * $LicenseInfo:firstyear=2022&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2022, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -77,13 +77,13 @@ vec3 tangent_space_transform(vec4 vertex_tangent, vec3 vertex_normal, vec4[2] kh  void main()  {  #ifdef HAS_SKIN -	mat4 mat = getObjectSkinnedTransform(); -	mat = modelview_matrix * mat; -	vec3 pos = (mat*vec4(position.xyz,1.0)).xyz; -	vary_position = pos; +    mat4 mat = getObjectSkinnedTransform(); +    mat = modelview_matrix * mat; +    vec3 pos = (mat*vec4(position.xyz,1.0)).xyz; +    vary_position = pos;      vec4 vert = projection_matrix * vec4(pos,1.0);  #else -	//transform vertex +    //transform vertex      vec4 vert = modelview_projection_matrix * vec4(position.xyz, 1.0);  #endif      gl_Position = vert; @@ -96,11 +96,11 @@ void main()      emissive_texcoord = texture_transform(texcoord0, texture_emissive_transform, texture_matrix0);  #ifdef HAS_SKIN -	vec3 n = (mat*vec4(normal.xyz+position.xyz,1.0)).xyz-pos.xyz; -	vec3 t = (mat*vec4(tangent.xyz+position.xyz,1.0)).xyz-pos.xyz; +    vec3 n = (mat*vec4(normal.xyz+position.xyz,1.0)).xyz-pos.xyz; +    vec3 t = (mat*vec4(tangent.xyz+position.xyz,1.0)).xyz-pos.xyz;  #else //HAS_SKIN -	vec3 n = normal_matrix * normal; -  	vec3 t = normal_matrix * tangent.xyz; +    vec3 n = normal_matrix * normal; +    vec3 t = normal_matrix * tangent.xyz;  #endif //HAS_SKIN      n = normalize(n); @@ -109,10 +109,10 @@ void main()      vary_sign = tangent.w;      vary_normal = n; -	vertex_color = diffuse_color; +    vertex_color = diffuse_color;  #if !defined(HAS_SKIN) -	vary_position = (modelview_matrix*vec4(position.xyz, 1.0)).xyz; +    vary_position = (modelview_matrix*vec4(position.xyz, 1.0)).xyz;  #endif  } @@ -145,7 +145,7 @@ vec2 texture_transform(vec2 vertex_texcoord, vec4[2] khr_gltf_transform, mat4 sl  void main()  { -	//transform vertex +    //transform vertex      vec4 vert = modelview_projection_matrix * vec4(position.xyz, 1.0);      gl_Position = vert;      vary_position = vert.xyz; @@ -153,7 +153,7 @@ void main()      base_color_texcoord = texture_transform(texcoord0, texture_base_color_transform, texture_matrix0);      emissive_texcoord = texture_transform(texcoord0, texture_emissive_transform, texture_matrix0); -	vertex_color = diffuse_color; +    vertex_color = diffuse_color;  }  #endif diff --git a/indra/newview/app_settings/shaders/class1/deferred/pbrglowF.glsl b/indra/newview/app_settings/shaders/class1/deferred/pbrglowF.glsl index b74b2e6a83..0c52c924b0 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/pbrglowF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/pbrglowF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file pbrglowF.glsl   *   * $LicenseInfo:firstyear=2023&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2023, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ diff --git a/indra/newview/app_settings/shaders/class1/deferred/pbrglowV.glsl b/indra/newview/app_settings/shaders/class1/deferred/pbrglowV.glsl index 82a50a115c..f739099359 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/pbrglowV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/pbrglowV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file pbgglowV.glsl   *   * $LicenseInfo:firstyear=2023&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2023, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -44,7 +44,7 @@ in vec2 texcoord0;  out vec2 base_color_texcoord;  out vec2 emissive_texcoord; -  +  out vec4 vertex_emissive;  vec2 texture_transform(vec2 vertex_texcoord, vec4[2] khr_gltf_transform, mat4 sl_animation_transform); @@ -61,7 +61,7 @@ void main()      gl_Position = projection_matrix*vec4(pos,1.0);  #else      //transform vertex -    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0);  +    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0);  #endif      base_color_texcoord = texture_transform(texcoord0, texture_base_color_transform, texture_matrix0); diff --git a/indra/newview/app_settings/shaders/class1/deferred/pbropaqueF.glsl b/indra/newview/app_settings/shaders/class1/deferred/pbropaqueF.glsl index faa273b834..ed19fba228 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/pbropaqueF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/pbropaqueF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file pbropaqueF.glsl   *   * $LicenseInfo:firstyear=2022&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2022, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -28,7 +28,7 @@  #ifndef IS_HUD -// deferred opaque implementation  +// deferred opaque implementation  uniform sampler2D diffuseMap;  //always in sRGB space @@ -75,7 +75,7 @@ void main()      float sign = vary_sign;      vec3 vN = vary_normal;      vec3 vT = vary_tangent.xyz; -     +      vec3 vB = sign * cross(vN, vT);      vec3 tnorm = normalize( vNt.x * vT + vNt.y * vB + vNt.z * vN ); @@ -85,7 +85,7 @@ void main()      //   roughness 0.0      //   metal     0.0      vec3 spec = texture(specularMap, metallic_roughness_texcoord.xy).rgb; -     +      spec.g *= roughnessFactor;      spec.b *= metallicFactor; diff --git a/indra/newview/app_settings/shaders/class1/deferred/pbropaqueV.glsl b/indra/newview/app_settings/shaders/class1/deferred/pbropaqueV.glsl index 160ae7a215..53e4b732df 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/pbropaqueV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/pbropaqueV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file pbropaqueV.glsl   *   * $LicenseInfo:firstyear=2022&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2022, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -53,7 +53,7 @@ out vec2 base_color_texcoord;  out vec2 normal_texcoord;  out vec2 metallic_roughness_texcoord;  out vec2 emissive_texcoord; -  +  out vec4 vertex_color;  out vec3 vary_tangent; @@ -66,17 +66,17 @@ vec3 tangent_space_transform(vec4 vertex_tangent, vec3 vertex_normal, vec4[2] kh  void main()  {  #ifdef HAS_SKIN -	mat4 mat = getObjectSkinnedTransform(); +    mat4 mat = getObjectSkinnedTransform(); -	mat = modelview_matrix * mat; +    mat = modelview_matrix * mat; -	vec3 pos = (mat*vec4(position.xyz,1.0)).xyz; +    vec3 pos = (mat*vec4(position.xyz,1.0)).xyz; -	gl_Position = projection_matrix*vec4(pos,1.0); +    gl_Position = projection_matrix*vec4(pos,1.0);  #else -	//transform vertex -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0);  +    //transform vertex +    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0);  #endif      base_color_texcoord = texture_transform(texcoord0, texture_base_color_transform, texture_matrix0); @@ -85,11 +85,11 @@ void main()      emissive_texcoord = texture_transform(texcoord0, texture_emissive_transform, texture_matrix0);  #ifdef HAS_SKIN -	vec3 n = (mat*vec4(normal.xyz+position.xyz,1.0)).xyz-pos.xyz; -	vec3 t = (mat*vec4(tangent.xyz+position.xyz,1.0)).xyz-pos.xyz; +    vec3 n = (mat*vec4(normal.xyz+position.xyz,1.0)).xyz-pos.xyz; +    vec3 t = (mat*vec4(tangent.xyz+position.xyz,1.0)).xyz-pos.xyz;  #else //HAS_SKIN -	vec3 n = normal_matrix * normal; -	vec3 t = normal_matrix * tangent.xyz; +    vec3 n = normal_matrix * normal; +    vec3 t = normal_matrix * tangent.xyz;  #endif      n = normalize(n); @@ -97,11 +97,11 @@ void main()      vary_tangent = normalize(tangent_space_transform(vec4(t, tangent.w), n, texture_normal_transform, texture_matrix0));      vary_sign = tangent.w;      vary_normal = n; -	 -	vertex_color = diffuse_color; + +    vertex_color = diffuse_color;  } -#else  +#else  // fullbright HUD implementation @@ -118,7 +118,7 @@ in vec2 texcoord0;  out vec2 base_color_texcoord;  out vec2 emissive_texcoord; -  +  out vec4 vertex_color;  vec2 texture_transform(vec2 vertex_texcoord, vec4[2] khr_gltf_transform, mat4 sl_animation_transform); @@ -126,7 +126,7 @@ vec2 texture_transform(vec2 vertex_texcoord, vec4[2] khr_gltf_transform, mat4 sl  void main()  {      //transform vertex -    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0);  +    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0);      base_color_texcoord = texture_transform(texcoord0, texture_base_color_transform, texture_matrix0);      emissive_texcoord = texture_transform(texcoord0, texture_emissive_transform, texture_matrix0); diff --git a/indra/newview/app_settings/shaders/class1/deferred/postDeferredF.glsl b/indra/newview/app_settings/shaders/class1/deferred/postDeferredF.glsl index 86e3f1acda..9797bcd2ce 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/postDeferredF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/postDeferredF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file postDeferredF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -38,87 +38,87 @@ in vec2 vary_fragcoord;  void dofSample(inout vec4 diff, inout float w, float min_sc, vec2 tc)  { -	vec4 s = texture(diffuseRect, tc); - -	float sc = abs(s.a*2.0-1.0)*max_cof; - -	if (sc > min_sc) //sampled pixel is more "out of focus" than current sample radius -	{ -		float wg = 0.25; -		 -		// de-weight dull areas to make highlights 'pop' -		wg += s.r+s.g+s.b; -	 -		diff += wg*s; -		 -		w += wg; -	} +    vec4 s = texture(diffuseRect, tc); + +    float sc = abs(s.a*2.0-1.0)*max_cof; + +    if (sc > min_sc) //sampled pixel is more "out of focus" than current sample radius +    { +        float wg = 0.25; + +        // de-weight dull areas to make highlights 'pop' +        wg += s.r+s.g+s.b; + +        diff += wg*s; + +        w += wg; +    }  }  void dofSampleNear(inout vec4 diff, inout float w, float min_sc, vec2 tc)  { -	vec4 s = texture(diffuseRect, tc); +    vec4 s = texture(diffuseRect, tc); -	float wg = 0.25; +    float wg = 0.25; -	// de-weight dull areas to make highlights 'pop' -	wg += s.r+s.g+s.b; +    // de-weight dull areas to make highlights 'pop' +    wg += s.r+s.g+s.b; -	diff += wg*s; -		 -	w += wg; +    diff += wg*s; + +    w += wg;  } -void main()  +void main()  { -	vec2 tc = vary_fragcoord.xy; -	 -	vec4 diff = texture(diffuseRect, vary_fragcoord.xy); -	 -	{  -		float w = 1.0; -		 -		float sc = (diff.a*2.0-1.0)*max_cof; -			 -		float PI = 3.14159265358979323846264; - -		// sample quite uniformly spaced points within a circle, for a circular 'bokeh'		 -		if (sc > 0.5) -		{ -			while (sc > 0.5) -			{ -				int its = int(max(1.0,(sc*3.7)));	 -				for (int i=0; i<its; ++i) -				{ -					float ang = sc+i*2*PI/its; // sc is added for rotary perturbance -					float samp_x = sc*sin(ang); -					float samp_y = sc*cos(ang); -					// you could test sample coords against an interesting non-circular aperture shape here, if desired. -					dofSampleNear(diff, w, sc, vary_fragcoord.xy + (vec2(samp_x,samp_y) / screen_res)); -				} -				sc -= 1.0; -			} -		} -		else if (sc < -0.5) -		{ -			sc = abs(sc); -			while (sc > 0.5) -			{ -				int its = int(max(1.0,(sc*3.7))); -				for (int i=0; i<its; ++i) -				{ -					float ang = sc+i*2*PI/its; // sc is added for rotary perturbance -					float samp_x = sc*sin(ang); -					float samp_y = sc*cos(ang); -					// you could test sample coords against an interesting non-circular aperture shape here, if desired. -					dofSample(diff, w, sc, vary_fragcoord.xy + (vec2(samp_x,samp_y) / screen_res)); -				} -				sc -= 1.0; -			} -		} - -		diff /= w; -	} -	 -	frag_color = diff; +    vec2 tc = vary_fragcoord.xy; + +    vec4 diff = texture(diffuseRect, vary_fragcoord.xy); + +    { +        float w = 1.0; + +        float sc = (diff.a*2.0-1.0)*max_cof; + +        float PI = 3.14159265358979323846264; + +        // sample quite uniformly spaced points within a circle, for a circular 'bokeh' +        if (sc > 0.5) +        { +            while (sc > 0.5) +            { +                int its = int(max(1.0,(sc*3.7))); +                for (int i=0; i<its; ++i) +                { +                    float ang = sc+i*2*PI/its; // sc is added for rotary perturbance +                    float samp_x = sc*sin(ang); +                    float samp_y = sc*cos(ang); +                    // you could test sample coords against an interesting non-circular aperture shape here, if desired. +                    dofSampleNear(diff, w, sc, vary_fragcoord.xy + (vec2(samp_x,samp_y) / screen_res)); +                } +                sc -= 1.0; +            } +        } +        else if (sc < -0.5) +        { +            sc = abs(sc); +            while (sc > 0.5) +            { +                int its = int(max(1.0,(sc*3.7))); +                for (int i=0; i<its; ++i) +                { +                    float ang = sc+i*2*PI/its; // sc is added for rotary perturbance +                    float samp_x = sc*sin(ang); +                    float samp_y = sc*cos(ang); +                    // you could test sample coords against an interesting non-circular aperture shape here, if desired. +                    dofSample(diff, w, sc, vary_fragcoord.xy + (vec2(samp_x,samp_y) / screen_res)); +                } +                sc -= 1.0; +            } +        } + +        diff /= w; +    } + +    frag_color = diff;  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/postDeferredGammaCorrect.glsl b/indra/newview/app_settings/shaders/class1/deferred/postDeferredGammaCorrect.glsl index 3443785e1a..7a25f63260 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/postDeferredGammaCorrect.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/postDeferredGammaCorrect.glsl @@ -1,28 +1,28 @@ -/**  +/**   * @file postDeferredGammaCorrect.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  /*[EXTRA_CODE_HERE]*/  out vec4 frag_color; @@ -79,7 +79,7 @@ vec3 RRTAndODTFit(vec3 color)  } -// tone mapping  +// tone mapping  vec3 toneMapACES_Hill(vec3 color)  {      color = ACESInputMat * color; @@ -102,7 +102,7 @@ vec3 toneMap(vec3 color)  {  #ifndef NO_POST      float exp_scale = texture(exposureMap, vec2(0.5,0.5)).r; -     +      color *= exposure * exp_scale;      // mix ACES and Linear here as a compromise to avoid over-darkening legacy content @@ -116,38 +116,38 @@ vec3 toneMap(vec3 color)  //=================================  // borrowed noise from: -//	<https://www.shadertoy.com/view/4dS3Wd> -//	By Morgan McGuire @morgan3d, http://graphicscodex.com +//  <https://www.shadertoy.com/view/4dS3Wd> +//  By Morgan McGuire @morgan3d, http://graphicscodex.com  //  float hash(float n) { return fract(sin(n) * 1e4); }  float hash(vec2 p) { return fract(1e4 * sin(17.0 * p.x + p.y * 0.1) * (0.1 + abs(sin(p.y * 13.0 + p.x)))); }  float noise(float x) { -	float i = floor(x); -	float f = fract(x); -	float u = f * f * (3.0 - 2.0 * f); -	return mix(hash(i), hash(i + 1.0), u); +    float i = floor(x); +    float f = fract(x); +    float u = f * f * (3.0 - 2.0 * f); +    return mix(hash(i), hash(i + 1.0), u);  }  float noise(vec2 x) { -	vec2 i = floor(x); -	vec2 f = fract(x); - -	// Four corners in 2D of a tile -	float a = hash(i); -	float b = hash(i + vec2(1.0, 0.0)); -	float c = hash(i + vec2(0.0, 1.0)); -	float d = hash(i + vec2(1.0, 1.0)); - -	// Simple 2D lerp using smoothstep envelope between the values. -	// return vec3(mix(mix(a, b, smoothstep(0.0, 1.0, f.x)), -	//			mix(c, d, smoothstep(0.0, 1.0, f.x)), -	//			smoothstep(0.0, 1.0, f.y))); - -	// Same code, with the clamps in smoothstep and common subexpressions -	// optimized away. -	vec2 u = f * f * (3.0 - 2.0 * f); -	return mix(a, b, u.x) + (c - a) * u.y * (1.0 - u.x) + (d - b) * u.x * u.y; +    vec2 i = floor(x); +    vec2 f = fract(x); + +    // Four corners in 2D of a tile +    float a = hash(i); +    float b = hash(i + vec2(1.0, 0.0)); +    float c = hash(i + vec2(0.0, 1.0)); +    float d = hash(i + vec2(1.0, 1.0)); + +    // Simple 2D lerp using smoothstep envelope between the values. +    // return vec3(mix(mix(a, b, smoothstep(0.0, 1.0, f.x)), +    //          mix(c, d, smoothstep(0.0, 1.0, f.x)), +    //          smoothstep(0.0, 1.0, f.y))); + +    // Same code, with the clamps in smoothstep and common subexpressions +    // optimized away. +    vec2 u = f * f * (3.0 - 2.0 * f); +    return mix(a, b, u.x) + (c - a) * u.y * (1.0 - u.x) + (d - b) * u.x * u.y;  }  //============================= @@ -161,7 +161,7 @@ vec3 legacyGamma(vec3 color)      return c;  } -void main()  +void main()  {      //this is the one of the rare spots where diffuseRect contains linear color values (not sRGB)      vec4 diff = texture(diffuseRect, vary_fragcoord); @@ -180,7 +180,7 @@ void main()      vec3 seed = (diff.rgb+vec3(1.0))*vec3(tc.xy, tc.x+tc.y);      vec3 nz = vec3(noise(seed.rg), noise(seed.gb), noise(seed.rb));      diff.rgb += nz*0.003; -     +      frag_color = max(diff, vec4(0));  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/postDeferredNoDoFF.glsl b/indra/newview/app_settings/shaders/class1/deferred/postDeferredNoDoFF.glsl index bace9b8c90..07384ebe9b 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/postDeferredNoDoFF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/postDeferredNoDoFF.glsl @@ -1,28 +1,28 @@ -/**  +/**   * @file postDeferredNoDoFF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  /*[EXTRA_CODE_HERE]*/  out vec4 frag_color; @@ -33,11 +33,11 @@ uniform sampler2D depthMap;  uniform vec2 screen_res;  in vec2 vary_fragcoord; -void main()  +void main()  { -	vec4 diff = texture(diffuseRect, vary_fragcoord.xy); -	 -	frag_color = diff; +    vec4 diff = texture(diffuseRect, vary_fragcoord.xy); + +    frag_color = diff;      gl_FragDepth = texture(depthMap, vary_fragcoord.xy).r;  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/postDeferredNoTCV.glsl b/indra/newview/app_settings/shaders/class1/deferred/postDeferredNoTCV.glsl index 7e8a5d68d4..87f28621ae 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/postDeferredNoTCV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/postDeferredNoTCV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file postDeferredV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -31,8 +31,8 @@ uniform vec2 screen_res;  void main()  { -	//transform vertex -	vec4 pos = vec4(position.xyz, 1.0); -	gl_Position = pos; -	vary_fragcoord = (pos.xy*0.5+0.5); +    //transform vertex +    vec4 pos = vec4(position.xyz, 1.0); +    gl_Position = pos; +    vary_fragcoord = (pos.xy*0.5+0.5);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/postDeferredV.glsl b/indra/newview/app_settings/shaders/class1/deferred/postDeferredV.glsl index 10b4b3e76c..09fe443e2d 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/postDeferredV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/postDeferredV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file postDeferredV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -34,9 +34,9 @@ uniform vec2 screen_res;  void main()  { -	//transform vertex -	vec4 pos = vec4(position.xyz, 1.0); -	gl_Position = pos;	 -	vary_tc = (pos.xy*0.5+0.5)*tc_scale; -	vary_fragcoord = (pos.xy*0.5+0.5); +    //transform vertex +    vec4 pos = vec4(position.xyz, 1.0); +    gl_Position = pos; +    vary_tc = (pos.xy*0.5+0.5)*tc_scale; +    vary_fragcoord = (pos.xy*0.5+0.5);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/postDeferredVisualizeBuffers.glsl b/indra/newview/app_settings/shaders/class1/deferred/postDeferredVisualizeBuffers.glsl index 2c17de311c..a539d5af90 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/postDeferredVisualizeBuffers.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/postDeferredVisualizeBuffers.glsl @@ -1,28 +1,28 @@ -/**  +/**   * @file postDeferredNoDoFF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  /*[EXTRA_CODE_HERE]*/  out vec4 frag_color; @@ -32,10 +32,10 @@ uniform float mipLevel;  in vec2 vary_fragcoord; -void main()  +void main()  { -	vec4 diff = textureLod(diffuseRect, vary_fragcoord.xy, mipLevel); -	 -	frag_color = diff; +    vec4 diff = textureLod(diffuseRect, vary_fragcoord.xy, mipLevel); + +    frag_color = diff;  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl b/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl index a8febabcc6..9db8f461dd 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file shadowAlphaMaskF.glsl   *   * $LicenseInfo:firstyear=2011&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2011, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -35,9 +35,9 @@ in vec4 vertex_color;  in vec2 vary_texcoord0;  uniform float minimum_alpha; -void main()  +void main()  { -	float alpha = diffuseLookup(vary_texcoord0.xy).a; +    float alpha = diffuseLookup(vary_texcoord0.xy).a;      if (alpha < minimum_alpha)      { @@ -61,5 +61,5 @@ void main()          }      } -	frag_color = vec4(1,1,1,1); +    frag_color = vec4(1,1,1,1);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskV.glsl b/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskV.glsl index 26db1a5d4d..665ff6d3df 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file shadowAlphaMaskV.glsl   *   * $LicenseInfo:firstyear=2011&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2011, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -47,26 +47,26 @@ void passTextureIndex();  void main()  { -	//transform vertex +    //transform vertex  #if defined(HAS_SKIN) -	vec4 pre_pos = vec4(position.xyz, 1.0); -	mat4 mat = getObjectSkinnedTransform(); -	mat = modelview_matrix * mat; -	vec4 pos = mat * pre_pos; -	pos = projection_matrix * pos; +    vec4 pre_pos = vec4(position.xyz, 1.0); +    mat4 mat = getObjectSkinnedTransform(); +    mat = modelview_matrix * mat; +    vec4 pos = mat * pre_pos; +    pos = projection_matrix * pos;  #else -	vec4 pre_pos = vec4(position.xyz, 1.0); -	vec4 pos = modelview_projection_matrix * pre_pos; +    vec4 pre_pos = vec4(position.xyz, 1.0); +    vec4 pos = modelview_projection_matrix * pre_pos;  #endif -	target_pos_x = 0.5 * (shadow_target_width - 1.0) * pos.x; +    target_pos_x = 0.5 * (shadow_target_width - 1.0) * pos.x; + +    post_pos = pos; -	post_pos = pos; +    gl_Position = pos; -	gl_Position = pos; -	 -	passTextureIndex(); +    passTextureIndex(); -	vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; -	vertex_color = diffuse_color; +    vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; +    vertex_color = diffuse_color;  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/shadowCubeV.glsl b/indra/newview/app_settings/shaders/class1/deferred/shadowCubeV.glsl index 0f5f9ed289..1c169b3cc9 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/shadowCubeV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/shadowCubeV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file shadowCubeV.glsl   *   * $LicenseInfo:firstyear=2011&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -32,9 +32,9 @@ uniform vec3 box_size;  void main()  { -	//transform vertex -	vec3 p = position*box_size+box_center; -	vec4 pos = modelview_projection_matrix*vec4(p.xyz, 1.0); +    //transform vertex +    vec3 p = position*box_size+box_center; +    vec4 pos = modelview_projection_matrix*vec4(p.xyz, 1.0); -	gl_Position = pos; +    gl_Position = pos;  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/shadowF.glsl b/indra/newview/app_settings/shaders/class1/deferred/shadowF.glsl index 370aa75d04..b55d769fd6 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/shadowF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/shadowF.glsl @@ -1,31 +1,31 @@ -/**  +/**   * @file shadowF.glsl   *   * $LicenseInfo:firstyear=2011&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  out vec4 frag_color; -void main()  +void main()  { -	frag_color = vec4(1,1,1,1); +    frag_color = vec4(1,1,1,1);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/shadowSkinnedV.glsl b/indra/newview/app_settings/shaders/class1/deferred/shadowSkinnedV.glsl index 9bbc63bce1..1485ea9121 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/shadowSkinnedV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/shadowSkinnedV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file shadowSkinnedV.glsl   *   * $LicenseInfo:firstyear=2021&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -32,12 +32,12 @@ mat4 getObjectSkinnedTransform();  void main()  { -	//transform vertex -	mat4 mat = getObjectSkinnedTransform(); -	 -	mat = modelview_matrix * mat; -	vec4 pos = (mat*vec4(position.xyz, 1.0)); -	pos = projection_matrix*pos; +    //transform vertex +    mat4 mat = getObjectSkinnedTransform(); + +    mat = modelview_matrix * mat; +    vec4 pos = (mat*vec4(position.xyz, 1.0)); +    pos = projection_matrix*pos; -	gl_Position = pos; +    gl_Position = pos;  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/shadowUtil.glsl b/indra/newview/app_settings/shaders/class1/deferred/shadowUtil.glsl index ee3a5f1f31..16cc7cfbbc 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/shadowUtil.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/shadowUtil.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file class1/deferred/shadowUtil.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -83,7 +83,7 @@ float pcfSpotShadow(sampler2DShadow shadowMap, vec4 stc, float bias_scale, vec2      vec2 off = 1.0/proj_shadow_res;      off.y *= 1.5; -     +      shadow += texture(shadowMap, stc.xyz+vec3(off.x*2.0, off.y, 0.0));      shadow += texture(shadowMap, stc.xyz+vec3(off.x, -off.y, 0.0));      shadow += texture(shadowMap, stc.xyz+vec3(-off.x, off.y, 0.0)); @@ -112,7 +112,7 @@ float sampleDirectionalShadow(vec3 pos, vec3 norm, vec2 pos_screen)      vec4 spos = vec4(shadow_pos.xyz, 1.0);      if (spos.z > -shadow_clip.w) -    {    +    {          vec4 lpos;          vec4 near_split = shadow_clip*-0.75;          vec4 far_split = shadow_clip*-1.25; @@ -122,7 +122,7 @@ float sampleDirectionalShadow(vec3 pos, vec3 norm, vec2 pos_screen)          if (spos.z < near_split.z)          {              lpos = shadow_matrix[3]*spos; -             +              float w = 1.0;              w -= max(spos.z-far_split.z, 0.0)/transition_domain.z;              //w = clamp(w, 0.0, 1.0); @@ -138,7 +138,7 @@ float sampleDirectionalShadow(vec3 pos, vec3 norm, vec2 pos_screen)          if (spos.z < near_split.y && spos.z > far_split.z)          {              lpos = shadow_matrix[2]*spos; -             +              float w = 1.0;              w -= max(spos.z-far_split.y, 0.0)/transition_domain.y;              w -= max(near_split.z-spos.z, 0.0)/transition_domain.z; @@ -154,7 +154,7 @@ float sampleDirectionalShadow(vec3 pos, vec3 norm, vec2 pos_screen)          if (spos.z < near_split.x && spos.z > far_split.y)          {              lpos = shadow_matrix[1]*spos; -             +              float w = 1.0;              w -= max(spos.z-far_split.x, 0.0)/transition_domain.x;              w -= max(near_split.y-spos.z, 0.0)/transition_domain.y; @@ -170,7 +170,7 @@ float sampleDirectionalShadow(vec3 pos, vec3 norm, vec2 pos_screen)          if (spos.z > far_split.x)          {              lpos = shadow_matrix[0]*spos; -                             +              float w = 1.0;              w -= max(near_split.x-spos.z, 0.0)/transition_domain.x;              //w = clamp(w, 0.0, 1.0); @@ -203,9 +203,9 @@ float sampleSpotShadow(vec3 pos, vec3 norm, int index, vec2 pos_screen)      vec4 spos = vec4(pos,1.0);      if (spos.z > -shadow_clip.w) -    {    +    {          vec4 lpos; -         +          vec4 near_split = shadow_clip*-0.75;          vec4 far_split = shadow_clip*-1.25;          vec4 transition_domain = near_split-far_split; @@ -216,7 +216,7 @@ float sampleSpotShadow(vec3 pos, vec3 norm, int index, vec2 pos_screen)              w -= max(spos.z-far_split.z, 0.0)/transition_domain.z;              if (index == 0) -            {         +            {                  lpos = shadow_matrix[4]*spos;                  shadow += pcfSpotShadow(shadowMap4, lpos, 0.8, spos.xy)*w;              } diff --git a/indra/newview/app_settings/shaders/class1/deferred/shadowV.glsl b/indra/newview/app_settings/shaders/class1/deferred/shadowV.glsl index bd62954ff8..5e1c502822 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/shadowV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/shadowV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file shadowV.glsl   *   * $LicenseInfo:firstyear=2011&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -29,6 +29,6 @@ in vec3 position;  void main()  { -	//transform vertex -	gl_Position = modelview_projection_matrix*vec4(position.xyz, 1.0); +    //transform vertex +    gl_Position = modelview_projection_matrix*vec4(position.xyz, 1.0);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/skyF.glsl b/indra/newview/app_settings/shaders/class1/deferred/skyF.glsl index 9d9ba49d82..a07a4301bc 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/skyF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/skyF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file class1/deferred/skyF.glsl   *   * $LicenseInfo:firstyear=2005&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2005, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -71,9 +71,9 @@ vec3 halo22(float d)  void main()  { -    // Potential Fill-rate optimization.  Add cloud calculation  -    // back in and output alpha of 0 (so that alpha culling kills  -    // the fragment) if the sky wouldn't show up because the clouds  +    // Potential Fill-rate optimization.  Add cloud calculation +    // back in and output alpha of 0 (so that alpha culling kills +    // the fragment) if the sky wouldn't show up because the clouds      // are fully opaque.      vec3 color = vary_HazeColor; diff --git a/indra/newview/app_settings/shaders/class1/deferred/skyV.glsl b/indra/newview/app_settings/shaders/class1/deferred/skyV.glsl index 17ce2dee5b..6110b6ade0 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/skyV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/skyV.glsl @@ -92,7 +92,7 @@ void main()      // Initialize temp variables      vec3 sunlight = (sun_up_factor == 1) ? sunlight_color : moonlight_color * 0.7; //magic 0.7 to match legacy color -     +      // Sunlight attenuation effect (hue and brightness) due to atmosphere      // this is used later for sunlight modulation at various altitudes      vec3 light_atten = (blue_density + vec3(haze_density * 0.25)) * (density_multiplier * max_y); @@ -142,7 +142,7 @@ void main()      sunlight *= max(0.0, (1. - cloud_shadow));      // Haze color below cloud -    vec3 add_below_cloud = (blue_horizon * blue_weight * (sunlight + ambient)  +    vec3 add_below_cloud = (blue_horizon * blue_weight * (sunlight + ambient)                           + (haze_horizon * haze_weight) * (sunlight * haze_glow + ambient));      // Attenuate cloud color by atmosphere diff --git a/indra/newview/app_settings/shaders/class1/deferred/starsF.glsl b/indra/newview/app_settings/shaders/class1/deferred/starsF.glsl index b35d10c8a0..6f45adc68d 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/starsF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/starsF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file starsF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -44,15 +44,15 @@ float twinkle(){  // See:  // ALM off: class1/environment/starsF.glsl  // ALM on : class1/deferred/starsF.glsl -void main()  +void main()  { -	// camera above water: class1\deferred\starsF.glsl -	// camera below water: class1\environment\starsF.glsl +    // camera above water: class1\deferred\starsF.glsl +    // camera below water: class1\environment\starsF.glsl      vec4 col_a = texture(diffuseMap, vary_texcoord0.xy);      vec4 col_b = texture(diffuseMap, vary_texcoord0.xy);      vec4 col = mix(col_b, col_a, blend_factor);      col.rgb *= vertex_color.rgb; -  +      float factor = smoothstep(0.0f, 0.9f, custom_alpha);      col.a = (col.a * factor) * 32.0f; diff --git a/indra/newview/app_settings/shaders/class1/deferred/starsV.glsl b/indra/newview/app_settings/shaders/class1/deferred/starsV.glsl index 726508607d..97ee437870 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/starsV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/starsV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file starsV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -37,18 +37,18 @@ out vec2 screenpos;  void main()  { -	//transform vertex +    //transform vertex      vec4 pos = modelview_projection_matrix * vec4(position, 1.0); -     -    // smash to far clip plane to  + +    // smash to far clip plane to      // avoid rendering on top of moon (do NOT write to gl_FragDepth, it's slow)      pos.z = pos.w; -	gl_Position = pos; +    gl_Position = pos;      float t = mod(time, 1.25f);      screenpos = position.xy * vec2(t, t); -	vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; -	vertex_color = diffuse_color; +    vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; +    vertex_color = diffuse_color;  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/sunDiscF.glsl b/indra/newview/app_settings/shaders/class1/deferred/sunDiscF.glsl index fd343ed2dc..e3441add35 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/sunDiscF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/sunDiscF.glsl @@ -1,28 +1,28 @@ -/**  +/**   * @file sunDiscF.glsl   *   * $LicenseInfo:firstyear=2005&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2005, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  /*[EXTRA_CODE_HERE]*/  out vec4 frag_data[4]; @@ -35,7 +35,7 @@ uniform float blend_factor; // interp factor between sunDisc A/B  in vec2 vary_texcoord0;  in float sun_fade; -void main()  +void main()  {      vec4 sunDiscA = texture(diffuseMap, vary_texcoord0.xy);      vec4 sunDiscB = texture(altDiffuseMap, vary_texcoord0.xy); diff --git a/indra/newview/app_settings/shaders/class1/deferred/sunDiscV.glsl b/indra/newview/app_settings/shaders/class1/deferred/sunDiscV.glsl index 9a8d791a1d..ef45e6ab32 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/sunDiscV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/sunDiscV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file sunDiscV.glsl   *    * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -47,7 +47,7 @@ void main()      // smash to *almost* far clip plane -- behind clouds but in front of stars      pos.z = pos.w*0.999999;      gl_Position = pos; -     +      calcAtmospherics(pos.xyz);      vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; diff --git a/indra/newview/app_settings/shaders/class1/deferred/terrainF.glsl b/indra/newview/app_settings/shaders/class1/deferred/terrainF.glsl index f6d509e2c6..bee9e6d2fe 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/terrainF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/terrainF.glsl @@ -1,28 +1,28 @@ -/**  +/**   * @file class1\deferred\terrainF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  /*[EXTRA_CODE_HERE]*/  out vec4 frag_data[4]; @@ -43,7 +43,7 @@ vec2 encode_normal(vec3 n);  void main()  {      /// Note: This should duplicate the blending functionality currently used for the terrain rendering. -     +      vec4 color0 = texture(detail_0, vary_texcoord0.xy);      vec4 color1 = texture(detail_1, vary_texcoord0.xy);      vec4 color2 = texture(detail_2, vary_texcoord0.xy); @@ -53,9 +53,9 @@ void main()      float alpha2 = texture(alpha_ramp,vary_texcoord1.xy).a;      float alphaFinal = texture(alpha_ramp, vary_texcoord1.zw).a;      vec4 outColor = mix( mix(color3, color2, alpha2), mix(color1, color0, alpha1), alphaFinal ); -    -    outColor.a = 0.0; // yes, downstream atmospherics  -     + +    outColor.a = 0.0; // yes, downstream atmospherics +      frag_data[0] = outColor;      frag_data[1] = vec4(0.0,0.0,0.0,-1.0);      vec3 nvn = normalize(vary_normal); diff --git a/indra/newview/app_settings/shaders/class1/deferred/terrainV.glsl b/indra/newview/app_settings/shaders/class1/deferred/terrainV.glsl index f6d3b59e85..aab2abff1e 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/terrainV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/terrainV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file class1\environment\terrainV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -44,15 +44,15 @@ uniform vec4 object_plane_t;  vec4 texgen_object(vec4  vpos, vec4 tc, mat4 mat, vec4 tp0, vec4 tp1)  {      vec4 tcoord; -     +      tcoord.x = dot(vpos, tp0);      tcoord.y = dot(vpos, tp1);      tcoord.z = tc.z;      tcoord.w = tc.w; -     -    tcoord = mat * tcoord;  -     -    return tcoord;  + +    tcoord = mat * tcoord; + +    return tcoord;  }  void main() @@ -65,12 +65,12 @@ void main()      pos = t_pos.xyz;      vary_normal = normalize(normal_matrix * normal); -     +      // Transform and pass tex coords      vary_texcoord0.xy = texgen_object(vec4(position, 1.0), vec4(texcoord0,0,1), texture_matrix0, object_plane_s, object_plane_t).xy; -     +      vec4 t = vec4(texcoord1,0,1); -     +      vary_texcoord0.zw = t.xy;      vary_texcoord1.xy = t.xy-vec2(2.0, 0.0);      vary_texcoord1.zw = t.xy-vec2(1.0, 0.0); diff --git a/indra/newview/app_settings/shaders/class1/deferred/textureUtilV.glsl b/indra/newview/app_settings/shaders/class1/deferred/textureUtilV.glsl index 636dfed4ba..8e641522e3 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/textureUtilV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/textureUtilV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file class1/deferred/textureUtilV.glsl   *   * $LicenseInfo:firstyear=2023&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2023, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ diff --git a/indra/newview/app_settings/shaders/class1/deferred/treeF.glsl b/indra/newview/app_settings/shaders/class1/deferred/treeF.glsl index e2d87e68fa..db6070f328 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/treeF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/treeF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file treeF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -37,17 +37,17 @@ uniform float minimum_alpha;  vec2 encode_normal(vec3 n); -void main()  +void main()  { -	vec4 col = texture(diffuseMap, vary_texcoord0.xy); -	if (col.a < minimum_alpha) -	{ -		discard; -	} - -	frag_data[0] = vec4(vertex_color.rgb*col.rgb, 0.0); -	frag_data[1] = vec4(0,0,0,0); -	vec3 nvn = normalize(vary_normal); -	frag_data[2] = vec4(encode_normal(nvn.xyz), 0.0, GBUFFER_FLAG_HAS_ATMOS); +    vec4 col = texture(diffuseMap, vary_texcoord0.xy); +    if (col.a < minimum_alpha) +    { +        discard; +    } + +    frag_data[0] = vec4(vertex_color.rgb*col.rgb, 0.0); +    frag_data[1] = vec4(0,0,0,0); +    vec3 nvn = normalize(vary_normal); +    frag_data[2] = vec4(encode_normal(nvn.xyz), 0.0, GBUFFER_FLAG_HAS_ATMOS);      frag_data[3] = vec4(0);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/treeShadowF.glsl b/indra/newview/app_settings/shaders/class1/deferred/treeShadowF.glsl index 7dcab640f2..33a5efa45d 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/treeShadowF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/treeShadowF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file treeShadowF.glsl   *   * $LicenseInfo:firstyear=2005&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2005, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -34,14 +34,14 @@ uniform sampler2D diffuseMap;  in vec2 vary_texcoord0; -void main()  +void main()  { -	float alpha = texture(diffuseMap, vary_texcoord0.xy).a; +    float alpha = texture(diffuseMap, vary_texcoord0.xy).a; -	if (alpha < minimum_alpha) -	{ -		discard; -	} +    if (alpha < minimum_alpha) +    { +        discard; +    } -	frag_color = vec4(1,1,1,1); +    frag_color = vec4(1,1,1,1);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/treeShadowSkinnedV.glsl b/indra/newview/app_settings/shaders/class1/deferred/treeShadowSkinnedV.glsl index f5192c3009..f2c80072dc 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/treeShadowSkinnedV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/treeShadowSkinnedV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file treeShadowV.glsl   *    * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -26,7 +26,7 @@  uniform mat4 texture_matrix0;  uniform mat4 modelview_matrix;  uniform mat4 projection_matrix; -  +  in vec3 position;  in vec2 texcoord0; @@ -36,13 +36,13 @@ mat4 getObjectSkinnedTransform();  void main()  { -	//transform vertex +    //transform vertex      mat4 mat = getObjectSkinnedTransform(); -	 -	mat = modelview_matrix * mat; -	 -	vec4 pos = mat * vec4(position.xyz, 1.0); + +    mat = modelview_matrix * mat; + +    vec4 pos = mat * vec4(position.xyz, 1.0);      gl_Position = projection_matrix * pos; -	 -	vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; + +    vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy;  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/treeShadowV.glsl b/indra/newview/app_settings/shaders/class1/deferred/treeShadowV.glsl index 3102c870fc..8f359a0a3d 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/treeShadowV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/treeShadowV.glsl @@ -1,31 +1,31 @@ -/**  +/**   * @file treeShadowV.glsl   *    * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */  uniform mat4 texture_matrix0;  uniform mat4 modelview_projection_matrix; -  +  in vec3 position;  in vec2 texcoord0; @@ -33,8 +33,8 @@ out vec2 vary_texcoord0;  void main()  { -	//transform vertex -	gl_Position = modelview_projection_matrix*vec4(position.xyz, 1.0); -	 -	vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; +    //transform vertex +    gl_Position = modelview_projection_matrix*vec4(position.xyz, 1.0); + +    vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy;  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/treeV.glsl b/indra/newview/app_settings/shaders/class1/deferred/treeV.glsl index ce8a10712c..81900fba70 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/treeV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/treeV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file treeV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -37,11 +37,11 @@ out vec2 vary_texcoord0;  void main()  { -	//transform vertex -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0);  -	vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; -	 -	vary_normal = normalize(normal_matrix * normal); +    //transform vertex +    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); +    vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; + +    vary_normal = normalize(normal_matrix * normal); -	vertex_color = vec4(1,1,1,1); +    vertex_color = vec4(1,1,1,1);  } diff --git a/indra/newview/app_settings/shaders/class1/effects/glowExtractF.glsl b/indra/newview/app_settings/shaders/class1/effects/glowExtractF.glsl index b5437d43d2..72eda80716 100644 --- a/indra/newview/app_settings/shaders/class1/effects/glowExtractF.glsl +++ b/indra/newview/app_settings/shaders/class1/effects/glowExtractF.glsl @@ -1,28 +1,28 @@ -/**  +/**   * @file glowExtractF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  /*[EXTRA_CODE_HERE]*/  out vec4 frag_color; @@ -42,12 +42,12 @@ in vec2 vary_texcoord0;  void main()  { -	vec4 col = texture(diffuseMap, vary_texcoord0.xy);	 -	/// CALCULATING LUMINANCE (Using NTSC lum weights) -	/// http://en.wikipedia.org/wiki/Luma_%28video%29 -	float lum = smoothstep(minLuminance, minLuminance+1.0, dot(col.rgb, lumWeights ) ); -	float warmth = smoothstep(minLuminance, minLuminance+1.0, max(col.r * warmthWeights.r, max(col.g * warmthWeights.g, col.b * warmthWeights.b)) );  -	 +    vec4 col = texture(diffuseMap, vary_texcoord0.xy); +    /// CALCULATING LUMINANCE (Using NTSC lum weights) +    /// http://en.wikipedia.org/wiki/Luma_%28video%29 +    float lum = smoothstep(minLuminance, minLuminance+1.0, dot(col.rgb, lumWeights ) ); +    float warmth = smoothstep(minLuminance, minLuminance+1.0, max(col.r * warmthWeights.r, max(col.g * warmthWeights.g, col.b * warmthWeights.b)) ); +  #if HAS_NOISE      float TRUE_NOISE_RES = 128; // See mTrueNoiseMap      // *NOTE: Usually this is vary_fragcoord not vary_texcoord0, but glow extraction is in screen space @@ -57,7 +57,7 @@ void main()      col.rgb += glow_noise / NOISE_DEPTH;      col.rgb = max(col.rgb, vec3(0));  #endif -	frag_color.rgb = col.rgb; -	frag_color.a = max(col.a, mix(lum, warmth, warmthAmount) * maxExtractAlpha); -	 +    frag_color.rgb = col.rgb; +    frag_color.a = max(col.a, mix(lum, warmth, warmthAmount) * maxExtractAlpha); +  } diff --git a/indra/newview/app_settings/shaders/class1/effects/glowExtractV.glsl b/indra/newview/app_settings/shaders/class1/effects/glowExtractV.glsl index ccda75596d..209c3081fb 100644 --- a/indra/newview/app_settings/shaders/class1/effects/glowExtractV.glsl +++ b/indra/newview/app_settings/shaders/class1/effects/glowExtractV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file glowExtractV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -29,9 +29,9 @@ in vec3 position;  out vec2 vary_texcoord0; -void main()  +void main()  { -	gl_Position = vec4(position, 1.0); -	 -	vary_texcoord0.xy = position.xy * 0.5 + 0.5; +    gl_Position = vec4(position, 1.0); + +    vary_texcoord0.xy = position.xy * 0.5 + 0.5;  } diff --git a/indra/newview/app_settings/shaders/class1/effects/glowF.glsl b/indra/newview/app_settings/shaders/class1/effects/glowF.glsl index 8718dd8b52..ce17dcf810 100644 --- a/indra/newview/app_settings/shaders/class1/effects/glowF.glsl +++ b/indra/newview/app_settings/shaders/class1/effects/glowF.glsl @@ -1,28 +1,28 @@ -/**  +/**   * @file glowF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  out vec4 frag_color;  uniform sampler2D diffuseMap; @@ -36,21 +36,21 @@ in vec4 vary_texcoord3;  void main()  { -	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] * texture(diffuseMap, vary_texcoord0.xy);	 -	col += kern[1] * texture(diffuseMap, vary_texcoord1.xy); -	col += kern[2] * texture(diffuseMap, vary_texcoord2.xy);	 -	col += kern[3] * texture(diffuseMap, vary_texcoord3.xy);	 -	col += kern[4] * texture(diffuseMap, vary_texcoord0.zw);	 -	col += kern[5] * texture(diffuseMap, vary_texcoord1.zw);	 -	col += kern[6] * texture(diffuseMap, vary_texcoord2.zw);	 -	col += kern[7] * texture(diffuseMap, vary_texcoord3.zw);	 -	 -	frag_color = max(vec4(col.rgb * glowStrength, col.a), vec4(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] * texture(diffuseMap, vary_texcoord0.xy); +    col += kern[1] * texture(diffuseMap, vary_texcoord1.xy); +    col += kern[2] * texture(diffuseMap, vary_texcoord2.xy); +    col += kern[3] * texture(diffuseMap, vary_texcoord3.xy); +    col += kern[4] * texture(diffuseMap, vary_texcoord0.zw); +    col += kern[5] * texture(diffuseMap, vary_texcoord1.zw); +    col += kern[6] * texture(diffuseMap, vary_texcoord2.zw); +    col += kern[7] * texture(diffuseMap, vary_texcoord3.zw); + +    frag_color = max(vec4(col.rgb * glowStrength, col.a), vec4(0));  } diff --git a/indra/newview/app_settings/shaders/class1/effects/glowV.glsl b/indra/newview/app_settings/shaders/class1/effects/glowV.glsl index 60ec4e6f3b..a824c69f0c 100644 --- a/indra/newview/app_settings/shaders/class1/effects/glowV.glsl +++ b/indra/newview/app_settings/shaders/class1/effects/glowV.glsl @@ -1,28 +1,28 @@ -/**  +/**   * @file glowV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  uniform mat4 modelview_projection_matrix;  in vec3 position; @@ -34,19 +34,19 @@ out vec4 vary_texcoord1;  out vec4 vary_texcoord2;  out vec4 vary_texcoord3; -void main()  +void main()  { -	gl_Position = vec4(position, 1.0); -	 -	vec2 texcoord = position.xy * 0.5 + 0.5; - - -	vary_texcoord0.xy = texcoord + glowDelta*(-3.5); -	vary_texcoord1.xy = texcoord + glowDelta*(-2.5); -	vary_texcoord2.xy = texcoord + glowDelta*(-1.5); -	vary_texcoord3.xy = texcoord + glowDelta*(-0.5); -	vary_texcoord0.zw = texcoord + glowDelta*(0.5); -	vary_texcoord1.zw = texcoord + glowDelta*(1.5); -	vary_texcoord2.zw = texcoord + glowDelta*(2.5); -	vary_texcoord3.zw = texcoord + glowDelta*(3.5); +    gl_Position = vec4(position, 1.0); + +    vec2 texcoord = position.xy * 0.5 + 0.5; + + +    vary_texcoord0.xy = texcoord + glowDelta*(-3.5); +    vary_texcoord1.xy = texcoord + glowDelta*(-2.5); +    vary_texcoord2.xy = texcoord + glowDelta*(-1.5); +    vary_texcoord3.xy = texcoord + glowDelta*(-0.5); +    vary_texcoord0.zw = texcoord + glowDelta*(0.5); +    vary_texcoord1.zw = texcoord + glowDelta*(1.5); +    vary_texcoord2.zw = texcoord + glowDelta*(2.5); +    vary_texcoord3.zw = texcoord + glowDelta*(3.5);  } diff --git a/indra/newview/app_settings/shaders/class1/environment/encodeNormF.glsl b/indra/newview/app_settings/shaders/class1/environment/encodeNormF.glsl index 6cd2445522..ca3e4f6718 100644 --- a/indra/newview/app_settings/shaders/class1/environment/encodeNormF.glsl +++ b/indra/newview/app_settings/shaders/class1/environment/encodeNormF.glsl @@ -4,21 +4,21 @@   * $LicenseInfo:firstyear=2018&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2018, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -28,7 +28,7 @@  // Also see: A_bit_more_deferred_-_CryEngine3.ppt  vec2 encode_normal(vec3 n)  { -	float f = sqrt(8 * n.z + 8); -	return n.xy / f + 0.5; +    float f = sqrt(8 * n.z + 8); +    return n.xy / f + 0.5;  } diff --git a/indra/newview/app_settings/shaders/class1/environment/srgbF.glsl b/indra/newview/app_settings/shaders/class1/environment/srgbF.glsl index e3fd10447e..7e1d906878 100644 --- a/indra/newview/app_settings/shaders/class1/environment/srgbF.glsl +++ b/indra/newview/app_settings/shaders/class1/environment/srgbF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file srgbF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -27,37 +27,37 @@  vec3 srgb_to_linear(vec3 cs)  { -	vec3 low_range = cs / vec3(12.92); -	vec3 high_range = pow((cs+vec3(0.055))/vec3(1.055), vec3(2.4)); -	bvec3 lte = lessThanEqual(cs,vec3(0.04045)); +    vec3 low_range = cs / vec3(12.92); +    vec3 high_range = pow((cs+vec3(0.055))/vec3(1.055), vec3(2.4)); +    bvec3 lte = lessThanEqual(cs,vec3(0.04045));  #ifdef OLD_SELECT -	vec3 result; -	result.r = lte.r ? low_range.r : high_range.r; -	result.g = lte.g ? low_range.g : high_range.g; -	result.b = lte.b ? low_range.b : high_range.b; +    vec3 result; +    result.r = lte.r ? low_range.r : high_range.r; +    result.g = lte.g ? low_range.g : high_range.g; +    result.b = lte.b ? low_range.b : high_range.b;      return result;  #else -	return mix(high_range, low_range, lte); +    return mix(high_range, low_range, lte);  #endif  }  vec3 linear_to_srgb(vec3 cl)  { -	cl = clamp(cl, vec3(0), vec3(1)); -	vec3 low_range  = cl * 12.92; -	vec3 high_range = 1.055 * pow(cl, vec3(0.41666)) - 0.055; -	bvec3 lt = lessThan(cl,vec3(0.0031308)); +    cl = clamp(cl, vec3(0), vec3(1)); +    vec3 low_range  = cl * 12.92; +    vec3 high_range = 1.055 * pow(cl, vec3(0.41666)) - 0.055; +    bvec3 lt = lessThan(cl,vec3(0.0031308));  #ifdef OLD_SELECT -	vec3 result; -	result.r = lt.r ? low_range.r : high_range.r; -	result.g = lt.g ? low_range.g : high_range.g; -	result.b = lt.b ? low_range.b : high_range.b; +    vec3 result; +    result.r = lt.r ? low_range.r : high_range.r; +    result.g = lt.g ? low_range.g : high_range.g; +    result.b = lt.b ? low_range.b : high_range.b;      return result;  #else -	return mix(high_range, low_range, lt); +    return mix(high_range, low_range, lt);  #endif  } diff --git a/indra/newview/app_settings/shaders/class1/environment/waterF.glsl b/indra/newview/app_settings/shaders/class1/environment/waterF.glsl index 075397d96c..9f94bf57fc 100644 --- a/indra/newview/app_settings/shaders/class1/environment/waterF.glsl +++ b/indra/newview/app_settings/shaders/class1/environment/waterF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file waterF.glsl   *   * $LicenseInfo:firstyear=2023&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2023, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ diff --git a/indra/newview/app_settings/shaders/class1/environment/waterFogF.glsl b/indra/newview/app_settings/shaders/class1/environment/waterFogF.glsl index f796bb5f3f..20b61e9302 100644 --- a/indra/newview/app_settings/shaders/class1/environment/waterFogF.glsl +++ b/indra/newview/app_settings/shaders/class1/environment/waterFogF.glsl @@ -4,25 +4,25 @@   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  uniform vec4 waterPlane; @@ -44,30 +44,30 @@ vec4 getWaterFogViewNoClip(vec3 pos)      float es = -(dot(view, waterPlane.xyz));      //find intersection point with water plane and eye vector -     +      //get eye depth      float e0 = max(-waterPlane.w, 0.0); -     +      vec3 int_v = waterPlane.w > 0.0 ? view * waterPlane.w/es : vec3(0.0, 0.0, 0.0); -     +      //get object depth      float depth = length(pos - int_v); -         +      //get "thickness" of water      float l = max(depth, 0.1);      float kd = waterFogDensity;      float ks = waterFogKS;      vec4 kc = waterFogColor; -     +      float F = 0.98; -     +      float t1 = -kd * pow(F, ks * e0);      float t2 = kd + ks * es;      float t3 = pow(F, t2*l) - 1.0; -     +      float L = min(t1/t2*t3, 1.0); -     +      float D = pow(0.98, l*kd);      return vec4(srgb_to_linear(kc.rgb*L), D); @@ -86,7 +86,7 @@ vec4 getWaterFogView(vec3 pos)  vec4 applyWaterFogView(vec3 pos, vec4 color)  {      vec4 fogged = getWaterFogView(pos); -     +      color.rgb = color.rgb * fogged.a + fogged.rgb;      return color; @@ -120,7 +120,7 @@ vec4 applySkyAndWaterFog(vec3 pos, vec3 additive, vec3 atten, vec4 color)      if (eye_above_water)      {          if (!obj_above_water) -        {  +        {              color.rgb = applyWaterFogViewLinearNoClip(pos, color).rgb;          }          else diff --git a/indra/newview/app_settings/shaders/class1/environment/waterV.glsl b/indra/newview/app_settings/shaders/class1/environment/waterV.glsl index 5a3845b1a3..33f35aff2d 100644 --- a/indra/newview/app_settings/shaders/class1/environment/waterV.glsl +++ b/indra/newview/app_settings/shaders/class1/environment/waterV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file class1\environment\waterV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -48,62 +48,62 @@ out vec3 vary_tangent;  out vec3 vary_normal;  out vec2 vary_fragcoord; -float wave(vec2 v, float t, float f, vec2 d, float s)  +float wave(vec2 v, float t, float f, vec2 d, float s)  {     return (dot(d, v)*f + t*s)*f;  }  void main()  { -	//transform vertex -	vec4 pos = vec4(position.xyz, 1.0); -	mat4 modelViewProj = modelview_projection_matrix; -	 +    //transform vertex +    vec4 pos = vec4(position.xyz, 1.0); +    mat4 modelViewProj = modelview_projection_matrix; +      vary_position = (modelview_matrix * pos).xyz;      vary_light_dir = normal_matrix * lightDir;      vary_normal = normal_matrix * vec3(0, 0, 1);      vary_tangent = normal_matrix * vec3(1, 0, 0); -	vec4 oPosition; -		     -	//get view vector -	vec3 oEyeVec; -	oEyeVec.xyz = pos.xyz-eyeVec; -		 -	float d = length(oEyeVec.xy); -	float ld = min(d, 2560.0); -	 -	pos.xy = eyeVec.xy + oEyeVec.xy/d*ld; -	view.xyz = oEyeVec; - -	d = clamp(ld/1536.0-0.5, 0.0, 1.0);	 -	d *= d; -		 -	oPosition = vec4(position, 1.0); -//	oPosition.z = mix(oPosition.z, max(eyeVec.z*0.75, 0.0), d); // SL-11589 remove "U" shaped horizon - -	oPosition = modelViewProj * oPosition; -	 -	refCoord.xyz = oPosition.xyz + vec3(0,0,0.2); -	 -	//get wave position parameter (create sweeping horizontal waves) -	vec3 v = pos.xyz; -	v.x += (cos(v.x*0.08/*+time*0.01*/)+sin(v.y*0.02))*6.0; -	     -	//push position for further horizon effect. -	pos.xyz = oEyeVec.xyz*(waterHeight/oEyeVec.z); -	pos.w = 1.0; -	pos = modelview_matrix*pos; -	 -	calcAtmospherics(pos.xyz); -		 -	//pass wave parameters to pixel shader -	vec2 bigWave =  (v.xy) * vec2(0.04,0.04)  + waveDir1 * time * 0.055; -	//get two normal map (detail map) texture coordinates -	littleWave.xy = (v.xy) * vec2(0.45, 0.9)   + waveDir2 * time * 0.13; -	littleWave.zw = (v.xy) * vec2(0.1, 0.2) + waveDir1 * time * 0.1; -	view.w = bigWave.y; -	refCoord.w = bigWave.x; -	 -	gl_Position = oPosition; +    vec4 oPosition; + +    //get view vector +    vec3 oEyeVec; +    oEyeVec.xyz = pos.xyz-eyeVec; + +    float d = length(oEyeVec.xy); +    float ld = min(d, 2560.0); + +    pos.xy = eyeVec.xy + oEyeVec.xy/d*ld; +    view.xyz = oEyeVec; + +    d = clamp(ld/1536.0-0.5, 0.0, 1.0); +    d *= d; + +    oPosition = vec4(position, 1.0); +//  oPosition.z = mix(oPosition.z, max(eyeVec.z*0.75, 0.0), d); // SL-11589 remove "U" shaped horizon + +    oPosition = modelViewProj * oPosition; + +    refCoord.xyz = oPosition.xyz + vec3(0,0,0.2); + +    //get wave position parameter (create sweeping horizontal waves) +    vec3 v = pos.xyz; +    v.x += (cos(v.x*0.08/*+time*0.01*/)+sin(v.y*0.02))*6.0; + +    //push position for further horizon effect. +    pos.xyz = oEyeVec.xyz*(waterHeight/oEyeVec.z); +    pos.w = 1.0; +    pos = modelview_matrix*pos; + +    calcAtmospherics(pos.xyz); + +    //pass wave parameters to pixel shader +    vec2 bigWave =  (v.xy) * vec2(0.04,0.04)  + waveDir1 * time * 0.055; +    //get two normal map (detail map) texture coordinates +    littleWave.xy = (v.xy) * vec2(0.45, 0.9)   + waveDir2 * time * 0.13; +    littleWave.zw = (v.xy) * vec2(0.1, 0.2) + waveDir1 * time * 0.1; +    view.w = bigWave.y; +    refCoord.w = bigWave.x; + +    gl_Position = oPosition;  } diff --git a/indra/newview/app_settings/shaders/class1/interface/alphamaskF.glsl b/indra/newview/app_settings/shaders/class1/interface/alphamaskF.glsl index a46e91c394..18fdf6be25 100644 --- a/indra/newview/app_settings/shaders/class1/interface/alphamaskF.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/alphamaskF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file alphamaskF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -32,13 +32,13 @@ uniform float minimum_alpha;  in vec2 vary_texcoord0;  in vec4 vertex_color; -void main()  +void main()  { -	vec4 col = vertex_color*texture(diffuseMap, vary_texcoord0.xy); -	if (col.a < minimum_alpha) -	{ -		discard; -	} +    vec4 col = vertex_color*texture(diffuseMap, vary_texcoord0.xy); +    if (col.a < minimum_alpha) +    { +        discard; +    } -	frag_color = max(col, vec4(0)); +    frag_color = max(col, vec4(0));  } diff --git a/indra/newview/app_settings/shaders/class1/interface/alphamaskV.glsl b/indra/newview/app_settings/shaders/class1/interface/alphamaskV.glsl index a8dac55130..0306d5fc5a 100644 --- a/indra/newview/app_settings/shaders/class1/interface/alphamaskV.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/alphamaskV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file alphamaskV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -35,8 +35,8 @@ out vec2 vary_texcoord0;  void main()  { -	gl_Position = modelview_projection_matrix * vec4(position, 1); -	vary_texcoord0 =  (texture_matrix0 * vec4(texcoord0,0,1)).xy; -	vertex_color = diffuse_color; +    gl_Position = modelview_projection_matrix * vec4(position, 1); +    vary_texcoord0 =  (texture_matrix0 * vec4(texcoord0,0,1)).xy; +    vertex_color = diffuse_color;  } diff --git a/indra/newview/app_settings/shaders/class1/interface/benchmarkF.glsl b/indra/newview/app_settings/shaders/class1/interface/benchmarkF.glsl index 06b19c22c9..748a789bc1 100644 --- a/indra/newview/app_settings/shaders/class1/interface/benchmarkF.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/benchmarkF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file benchmarkF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2011, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -29,7 +29,7 @@ uniform sampler2D diffuseMap;  in vec2 tc0; -void main()  +void main()  { -	frag_color = texture(diffuseMap, tc0); +    frag_color = texture(diffuseMap, tc0);  } diff --git a/indra/newview/app_settings/shaders/class1/interface/benchmarkV.glsl b/indra/newview/app_settings/shaders/class1/interface/benchmarkV.glsl index cbcc6bef97..9bf6d140d9 100644 --- a/indra/newview/app_settings/shaders/class1/interface/benchmarkV.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/benchmarkV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file benchmarkV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2011, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -31,8 +31,8 @@ out vec2 tc0;  void main()  { -	gl_Position = vec4(position, 1.0);  -	 -	tc0 = (position.xy*0.5+0.5); +    gl_Position = vec4(position, 1.0); + +    tc0 = (position.xy*0.5+0.5);  } diff --git a/indra/newview/app_settings/shaders/class1/interface/clipF.glsl b/indra/newview/app_settings/shaders/class1/interface/clipF.glsl index ee2d652f32..1b5415da3f 100644 --- a/indra/newview/app_settings/shaders/class1/interface/clipF.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/clipF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file debugF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2011, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -31,12 +31,12 @@ uniform vec4 clip_plane;  in vec3 vary_position; -void main()  +void main()  { -	if (dot(vary_position,clip_plane.xyz)+clip_plane.w < 0.0) -	{ -		discard; -	} +    if (dot(vary_position,clip_plane.xyz)+clip_plane.w < 0.0) +    { +        discard; +    } -	frag_color = max(color, vec4(0)); +    frag_color = max(color, vec4(0));  } diff --git a/indra/newview/app_settings/shaders/class1/interface/clipV.glsl b/indra/newview/app_settings/shaders/class1/interface/clipV.glsl index 7dd2ef593f..e9a8444bb8 100644 --- a/indra/newview/app_settings/shaders/class1/interface/clipV.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/clipV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file debugV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2011, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -32,7 +32,7 @@ out vec3 vary_position;  void main()  { -	vary_position = (modelview_matrix*vec4(position.xyz,1.0)).xyz; -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); +    vary_position = (modelview_matrix*vec4(position.xyz,1.0)).xyz; +    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0);  } diff --git a/indra/newview/app_settings/shaders/class1/interface/copyF.glsl b/indra/newview/app_settings/shaders/class1/interface/copyF.glsl index 65d3c20091..edaa2488f0 100644 --- a/indra/newview/app_settings/shaders/class1/interface/copyF.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/copyF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file copyF.glsl   *   * $LicenseInfo:firstyear=2023&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2023, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -30,7 +30,7 @@ uniform sampler2D diffuseMap;  out vec4 frag_color; -void main()  +void main()  {      frag_color = texture(diffuseMap, tc);  #if defined(COPY_DEPTH) diff --git a/indra/newview/app_settings/shaders/class1/interface/copyV.glsl b/indra/newview/app_settings/shaders/class1/interface/copyV.glsl index ace5da6578..e8cc189c61 100644 --- a/indra/newview/app_settings/shaders/class1/interface/copyV.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/copyV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file copyV.glsl   *   * $LicenseInfo:firstyear=2023&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2023, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -27,7 +27,7 @@  in vec3 position;  out vec2 tc; -void main()  +void main()  {      tc = position.xy * 0.5 + 0.5;      gl_Position = vec4(position, 1.0); diff --git a/indra/newview/app_settings/shaders/class1/interface/debugF.glsl b/indra/newview/app_settings/shaders/class1/interface/debugF.glsl index cefa429639..f863d1ad20 100644 --- a/indra/newview/app_settings/shaders/class1/interface/debugF.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/debugF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file debugF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2011, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -27,7 +27,7 @@ out vec4 frag_color;  uniform vec4 color; -void main()  +void main()  { -	frag_color = max(color, vec4(0)); +    frag_color = max(color, vec4(0));  } diff --git a/indra/newview/app_settings/shaders/class1/interface/debugV.glsl b/indra/newview/app_settings/shaders/class1/interface/debugV.glsl index 2e32863109..82d1b6ca04 100644 --- a/indra/newview/app_settings/shaders/class1/interface/debugV.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/debugV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file debugV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2011, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -41,7 +41,7 @@ void main()      vec4 pos = mat * vec4(position.xyz,1.0);      gl_Position = projection_matrix * pos;  #else -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); +    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0);  #endif  } diff --git a/indra/newview/app_settings/shaders/class1/interface/gaussianF.glsl b/indra/newview/app_settings/shaders/class1/interface/gaussianF.glsl index eca591d387..09eb7a6a6a 100644 --- a/indra/newview/app_settings/shaders/class1/interface/gaussianF.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/gaussianF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file gaussianF.glsl   *   * $LicenseInfo:firstyear=2023&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2023, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -37,12 +37,12 @@ in vec2 vary_texcoord0;  // get linear depth value given a depth buffer sample d and znear and zfar values  float linearDepth(float d, float znear, float zfar); -void main()  +void main()  {      vec3 col = vec3(0,0,0);      float w[9] = float[9]( 0.0002, 0.0060, 0.0606, 0.2417, 0.3829, 0.2417, 0.0606, 0.0060, 0.0002 ); -     +      for (int i = 0; i < 9; ++i)      {          vec2 tc = vary_texcoord0 + (i-4)*direction*resScale; diff --git a/indra/newview/app_settings/shaders/class1/interface/glowcombineF.glsl b/indra/newview/app_settings/shaders/class1/interface/glowcombineF.glsl index fa8aa5c7fe..ca000dcb23 100644 --- a/indra/newview/app_settings/shaders/class1/interface/glowcombineF.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/glowcombineF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file glowcombineF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -32,7 +32,7 @@ uniform sampler2D emissiveRect;  in vec2 tc; -void main()  +void main()  { -	frag_color = texture(diffuseRect, tc) + texture(emissiveRect, tc); +    frag_color = texture(diffuseRect, tc) + texture(emissiveRect, tc);  } diff --git a/indra/newview/app_settings/shaders/class1/interface/glowcombineFXAAF.glsl b/indra/newview/app_settings/shaders/class1/interface/glowcombineFXAAF.glsl index 3d4035620f..6d34c8aefa 100644 --- a/indra/newview/app_settings/shaders/class1/interface/glowcombineFXAAF.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/glowcombineFXAAF.glsl @@ -1,28 +1,28 @@ -/**  +/**   * @file glowcombineFXAAF.glsl   *   * $LicenseInfo:firstyear=2005&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2005, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  /*[EXTRA_CODE_HERE]*/  out vec4 frag_color; @@ -33,9 +33,9 @@ uniform vec2 screen_res;  in vec2 vary_tc; -void main()  +void main()  {      vec3 col = texture(diffuseRect, vary_tc).rgb; -    +      frag_color = vec4(col.rgb, dot(col.rgb, vec3(0.299, 0.587, 0.144)));  } diff --git a/indra/newview/app_settings/shaders/class1/interface/glowcombineFXAAV.glsl b/indra/newview/app_settings/shaders/class1/interface/glowcombineFXAAV.glsl index fa67b13e4d..780624a402 100644 --- a/indra/newview/app_settings/shaders/class1/interface/glowcombineFXAAV.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/glowcombineFXAAV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file glowcombineFXAAV.glsl   *    * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -30,9 +30,9 @@ out vec2 vary_tc;  void main()  { -	vec4 pos = vec4(position.xyz, 1.0); -	gl_Position = pos; +    vec4 pos = vec4(position.xyz, 1.0); +    gl_Position = pos; -	vary_tc = pos.xy*0.5+0.5; +    vary_tc = pos.xy*0.5+0.5;  } diff --git a/indra/newview/app_settings/shaders/class1/interface/glowcombineV.glsl b/indra/newview/app_settings/shaders/class1/interface/glowcombineV.glsl index 8fa08a18c3..03b70b6c47 100644 --- a/indra/newview/app_settings/shaders/class1/interface/glowcombineV.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/glowcombineV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file glowcombineV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ diff --git a/indra/newview/app_settings/shaders/class1/interface/highlightF.glsl b/indra/newview/app_settings/shaders/class1/interface/highlightF.glsl index 9bba1b2e18..c70acf4cde 100644 --- a/indra/newview/app_settings/shaders/class1/interface/highlightF.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/highlightF.glsl @@ -1,28 +1,28 @@ -/**  +/**   * @file highlightF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  out vec4 frag_color;  uniform vec4 color; @@ -30,7 +30,7 @@ uniform sampler2D diffuseMap;  in vec2 vary_texcoord0; -void main()  +void main()  { -	frag_color = max(color*texture(diffuseMap, vary_texcoord0.xy), vec4(0)); +    frag_color = max(color*texture(diffuseMap, vary_texcoord0.xy), vec4(0));  } diff --git a/indra/newview/app_settings/shaders/class1/interface/highlightNormV.glsl b/indra/newview/app_settings/shaders/class1/interface/highlightNormV.glsl index 0253c7236d..993bfe1a30 100644 --- a/indra/newview/app_settings/shaders/class1/interface/highlightNormV.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/highlightNormV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file highlightV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -35,8 +35,8 @@ out vec2 vary_texcoord0;  void main()  { -	//transform vertex -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); -	vary_texcoord0 = (texture_matrix0 * vec4(texcoord1,0,1)).xy; +    //transform vertex +    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); +    vary_texcoord0 = (texture_matrix0 * vec4(texcoord1,0,1)).xy;  } diff --git a/indra/newview/app_settings/shaders/class1/interface/highlightSpecV.glsl b/indra/newview/app_settings/shaders/class1/interface/highlightSpecV.glsl index 9f7ff8337a..cf8fbf79eb 100644 --- a/indra/newview/app_settings/shaders/class1/interface/highlightSpecV.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/highlightSpecV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file highlightV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -35,8 +35,8 @@ out vec2 vary_texcoord0;  void main()  { -	//transform vertex -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); -	vary_texcoord0 = (texture_matrix0 * vec4(texcoord2,0,1)).xy; +    //transform vertex +    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); +    vary_texcoord0 = (texture_matrix0 * vec4(texcoord2,0,1)).xy;  } diff --git a/indra/newview/app_settings/shaders/class1/interface/highlightV.glsl b/indra/newview/app_settings/shaders/class1/interface/highlightV.glsl index 481b7a3b1d..f97b2c4ae1 100644 --- a/indra/newview/app_settings/shaders/class1/interface/highlightV.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/highlightV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file highlightV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -39,15 +39,15 @@ uniform mat4 modelview_matrix;  void main()  { -	//transform vertex +    //transform vertex  #ifdef HAS_SKIN      mat4 mat = getObjectSkinnedTransform();      mat = modelview_matrix * mat;      vec4 pos = mat * vec4(position.xyz,1.0);      gl_Position = projection_matrix * pos;  #else -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); +    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0);  #endif -	vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; +    vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy;  } diff --git a/indra/newview/app_settings/shaders/class1/interface/irradianceGenV.glsl b/indra/newview/app_settings/shaders/class1/interface/irradianceGenV.glsl index 633c928e6b..1d37a16975 100644 --- a/indra/newview/app_settings/shaders/class1/interface/irradianceGenV.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/irradianceGenV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file irradianceGenV.glsl   *   * $LicenseInfo:firstyear=2022&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2011, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -31,8 +31,8 @@ out vec3 vary_dir;  void main()  { -	gl_Position = vec4(position, 1.0); +    gl_Position = vec4(position, 1.0); -	vary_dir = vec3(modelview_matrix * vec4(position, 1.0)).xyz; +    vary_dir = vec3(modelview_matrix * vec4(position, 1.0)).xyz;  } diff --git a/indra/newview/app_settings/shaders/class1/interface/occlusionCubeV.glsl b/indra/newview/app_settings/shaders/class1/interface/occlusionCubeV.glsl index 75ff19e470..f144ca558d 100644 --- a/indra/newview/app_settings/shaders/class1/interface/occlusionCubeV.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/occlusionCubeV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file occlusionCubeV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -32,7 +32,7 @@ uniform vec3 box_size;  void main()  { -	vec3 p = position*box_size+box_center; -	gl_Position = modelview_projection_matrix * vec4(p.xyz, 1.0); +    vec3 p = position*box_size+box_center; +    gl_Position = modelview_projection_matrix * vec4(p.xyz, 1.0);  } diff --git a/indra/newview/app_settings/shaders/class1/interface/occlusionF.glsl b/indra/newview/app_settings/shaders/class1/interface/occlusionF.glsl index f5d2804c7f..ee821d3884 100644 --- a/indra/newview/app_settings/shaders/class1/interface/occlusionF.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/occlusionF.glsl @@ -1,31 +1,31 @@ -/**  +/**   * @file occlusionF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  out vec4 frag_data[4]; -void main()  +void main()  {      // emissive red PBR material for debugging      frag_data[0] = vec4(0, 0, 0, 0); diff --git a/indra/newview/app_settings/shaders/class1/interface/occlusionSkinnedV.glsl b/indra/newview/app_settings/shaders/class1/interface/occlusionSkinnedV.glsl index 1ff9c347b6..583e4d378c 100644 --- a/indra/newview/app_settings/shaders/class1/interface/occlusionSkinnedV.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/occlusionSkinnedV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file occlusionSkinnedV.glsl   *   * $LicenseInfo:firstyear=2021&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -32,9 +32,9 @@ mat4 getObjectSkinnedTransform();  void main()  { -	mat4 mat = getObjectSkinnedTransform(); -	mat = modelview_matrix * mat; -	vec3 pos = (mat*vec4(position.xyz, 1.0)).xyz; -	gl_Position = projection_matrix*vec4(pos, 1.0); +    mat4 mat = getObjectSkinnedTransform(); +    mat = modelview_matrix * mat; +    vec3 pos = (mat*vec4(position.xyz, 1.0)).xyz; +    gl_Position = projection_matrix*vec4(pos, 1.0);  } diff --git a/indra/newview/app_settings/shaders/class1/interface/occlusionV.glsl b/indra/newview/app_settings/shaders/class1/interface/occlusionV.glsl index b44c746fa7..026467d916 100644 --- a/indra/newview/app_settings/shaders/class1/interface/occlusionV.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/occlusionV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file uiV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -29,6 +29,6 @@ in vec3 position;  void main()  { -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); +    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0);  } diff --git a/indra/newview/app_settings/shaders/class1/interface/onetexturefilterF.glsl b/indra/newview/app_settings/shaders/class1/interface/onetexturefilterF.glsl index a85d055a5b..b3ba3c5f13 100644 --- a/indra/newview/app_settings/shaders/class1/interface/onetexturefilterF.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/onetexturefilterF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file onetexturefilterF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -30,16 +30,16 @@ uniform float tolerance;  in vec2 vary_texcoord0; -void main()  +void main()  { -	frag_color = texture(tex0, vary_texcoord0.xy); -	 -	if(frag_color[0] + frag_color[1] + frag_color[2] < tolerance) -	{ -		discard; -	} -	else -	{		 -		frag_color[3] = 0.95f;	 -	}	 +    frag_color = texture(tex0, vary_texcoord0.xy); + +    if(frag_color[0] + frag_color[1] + frag_color[2] < tolerance) +    { +        discard; +    } +    else +    { +        frag_color[3] = 0.95f; +    }  } diff --git a/indra/newview/app_settings/shaders/class1/interface/onetexturefilterV.glsl b/indra/newview/app_settings/shaders/class1/interface/onetexturefilterV.glsl index 1b8411603a..d2400dcb20 100644 --- a/indra/newview/app_settings/shaders/class1/interface/onetexturefilterV.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/onetexturefilterV.glsl @@ -1,28 +1,28 @@ -/**  +/**   * @file onetexturefilterV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  uniform mat4 modelview_projection_matrix;  in vec3 position; @@ -32,7 +32,7 @@ out vec2 vary_texcoord0;  void main()  { -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); -	vary_texcoord0 = texcoord0; +    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); +    vary_texcoord0 = texcoord0;  } diff --git a/indra/newview/app_settings/shaders/class1/interface/pathfindingF.glsl b/indra/newview/app_settings/shaders/class1/interface/pathfindingF.glsl index fac22be6de..55a5c9ab8a 100644 --- a/indra/newview/app_settings/shaders/class1/interface/pathfindingF.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/pathfindingF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file pathfindingF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -27,7 +27,7 @@ out vec4 frag_color;  in vec4 vertex_color; -void main()  +void main()  { -	frag_color = vertex_color; +    frag_color = vertex_color;  } diff --git a/indra/newview/app_settings/shaders/class1/interface/pathfindingNoNormalV.glsl b/indra/newview/app_settings/shaders/class1/interface/pathfindingNoNormalV.glsl index 4f08df839d..f90eec554f 100644 --- a/indra/newview/app_settings/shaders/class1/interface/pathfindingNoNormalV.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/pathfindingNoNormalV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file pathfindingV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -32,11 +32,11 @@ out vec4 vertex_color;  uniform float tint;  uniform float alpha_scale; -  +  void main()  { -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); +    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); -	vertex_color = vec4(diffuse_color.rgb * tint, diffuse_color.a*alpha_scale); +    vertex_color = vec4(diffuse_color.rgb * tint, diffuse_color.a*alpha_scale);  } diff --git a/indra/newview/app_settings/shaders/class1/interface/pathfindingV.glsl b/indra/newview/app_settings/shaders/class1/interface/pathfindingV.glsl index 9e77927cb8..a7e30cf2ef 100644 --- a/indra/newview/app_settings/shaders/class1/interface/pathfindingV.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/pathfindingV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file pathfindingV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -34,21 +34,21 @@ out vec4 vertex_color;  uniform float tint;  uniform float ambiance;  uniform float alpha_scale; -  +  void main()  { -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); +    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); + +    vec3 l1 = vec3(-0.75, 1, 1.0)*0.5; +    vec3 l2 = vec3(0.5, -0.6, 0.4)*0.25; +    vec3 l3 = vec3(0.5, -0.8, 0.3)*0.5; -	vec3 l1 = vec3(-0.75, 1, 1.0)*0.5; -	vec3 l2 = vec3(0.5, -0.6, 0.4)*0.25; -	vec3 l3 = vec3(0.5, -0.8, 0.3)*0.5; +    float lit = max(dot(normal, l1), 0.0); +    lit += max(dot(normal, l2), 0.0); +    lit += max(dot(normal, l3), 0.0); -	float lit = max(dot(normal, l1), 0.0); -	lit += max(dot(normal, l2), 0.0); -	lit += max(dot(normal, l3), 0.0); +    lit = clamp(lit, ambiance, 1.0); -	lit = clamp(lit, ambiance, 1.0); -	 -	vertex_color = vec4(diffuse_color.rgb * tint * lit, diffuse_color.a*alpha_scale); +    vertex_color = vec4(diffuse_color.rgb * tint * lit, diffuse_color.a*alpha_scale);  } diff --git a/indra/newview/app_settings/shaders/class1/interface/radianceGenF.glsl b/indra/newview/app_settings/shaders/class1/interface/radianceGenF.glsl index 9ecdf0bf77..eb0f7297ad 100644 --- a/indra/newview/app_settings/shaders/class1/interface/radianceGenF.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/radianceGenF.glsl @@ -1,28 +1,28 @@ -/**  +/**   * @file radianceGenF.glsl   *   * $LicenseInfo:firstyear=2022&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2022, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  /*[EXTRA_CODE_HERE]*/ @@ -36,7 +36,7 @@ in vec3 vary_dir;  //uniform float roughness;  uniform float mipLevel; -uniform int u_width;  +uniform int u_width;  uniform float max_probe_lod; @@ -73,95 +73,95 @@ const float PI = 3.1415926536;  // Based omn http://byteblacksmith.com/improvements-to-the-canonical-one-liner-glsl-rand-for-opengl-es-2-0/  float random(vec2 co)  { -	float a = 12.9898; -	float b = 78.233; -	float c = 43758.5453; -	float dt= dot(co.xy ,vec2(a,b)); -	float sn= mod(dt,3.14); -	return fract(sin(sn) * c); +    float a = 12.9898; +    float b = 78.233; +    float c = 43758.5453; +    float dt= dot(co.xy ,vec2(a,b)); +    float sn= mod(dt,3.14); +    return fract(sin(sn) * c);  } -vec2 hammersley2d(uint i, uint N)  +vec2 hammersley2d(uint i, uint N)  { -	// Radical inverse based on http://holger.dammertz.org/stuff/notes_HammersleyOnHemisphere.html -	uint bits = (i << 16u) | (i >> 16u); -	bits = ((bits & 0x55555555u) << 1u) | ((bits & 0xAAAAAAAAu) >> 1u); -	bits = ((bits & 0x33333333u) << 2u) | ((bits & 0xCCCCCCCCu) >> 2u); -	bits = ((bits & 0x0F0F0F0Fu) << 4u) | ((bits & 0xF0F0F0F0u) >> 4u); -	bits = ((bits & 0x00FF00FFu) << 8u) | ((bits & 0xFF00FF00u) >> 8u); -	float rdi = float(bits) * 2.3283064365386963e-10; -	return vec2(float(i) /float(N), rdi); +    // Radical inverse based on http://holger.dammertz.org/stuff/notes_HammersleyOnHemisphere.html +    uint bits = (i << 16u) | (i >> 16u); +    bits = ((bits & 0x55555555u) << 1u) | ((bits & 0xAAAAAAAAu) >> 1u); +    bits = ((bits & 0x33333333u) << 2u) | ((bits & 0xCCCCCCCCu) >> 2u); +    bits = ((bits & 0x0F0F0F0Fu) << 4u) | ((bits & 0xF0F0F0F0u) >> 4u); +    bits = ((bits & 0x00FF00FFu) << 8u) | ((bits & 0xFF00FF00u) >> 8u); +    float rdi = float(bits) * 2.3283064365386963e-10; +    return vec2(float(i) /float(N), rdi);  }  // Based on http://blog.selfshadow.com/publications/s2013-shading-course/karis/s2013_pbs_epic_slides.pdf -vec3 importanceSample_GGX(vec2 Xi, float roughness, vec3 normal)  +vec3 importanceSample_GGX(vec2 Xi, float roughness, vec3 normal)  { -	// Maps a 2D point to a hemisphere with spread based on roughness -	float alpha = roughness * roughness; -	float phi = 2.0 * PI * Xi.x + random(normal.xz) * 0.1; -	float cosTheta = sqrt((1.0 - Xi.y) / (1.0 + (alpha*alpha - 1.0) * Xi.y)); -	float sinTheta = sqrt(1.0 - cosTheta * cosTheta); -	vec3 H = vec3(sinTheta * cos(phi), sinTheta * sin(phi), cosTheta); - -	// Tangent space -	vec3 up = abs(normal.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0); -	vec3 tangentX = normalize(cross(up, normal)); -	vec3 tangentY = normalize(cross(normal, tangentX)); - -	// Convert to world Space -	return normalize(tangentX * H.x + tangentY * H.y + normal * H.z); +    // Maps a 2D point to a hemisphere with spread based on roughness +    float alpha = roughness * roughness; +    float phi = 2.0 * PI * Xi.x + random(normal.xz) * 0.1; +    float cosTheta = sqrt((1.0 - Xi.y) / (1.0 + (alpha*alpha - 1.0) * Xi.y)); +    float sinTheta = sqrt(1.0 - cosTheta * cosTheta); +    vec3 H = vec3(sinTheta * cos(phi), sinTheta * sin(phi), cosTheta); + +    // Tangent space +    vec3 up = abs(normal.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0); +    vec3 tangentX = normalize(cross(up, normal)); +    vec3 tangentY = normalize(cross(normal, tangentX)); + +    // Convert to world Space +    return normalize(tangentX * H.x + tangentY * H.y + normal * H.z);  }  // Normal Distribution function  float D_GGX(float dotNH, float roughness)  { -	float alpha = roughness * roughness; -	float alpha2 = alpha * alpha; -	float denom = dotNH * dotNH * (alpha2 - 1.0) + 1.0; -	return (alpha2)/(PI * denom*denom);  +    float alpha = roughness * roughness; +    float alpha2 = alpha * alpha; +    float denom = dotNH * dotNH * (alpha2 - 1.0) + 1.0; +    return (alpha2)/(PI * denom*denom);  }  vec4 prefilterEnvMap(vec3 R)  { -	vec3 N = R; -	vec3 V = R; -	vec4 color = vec4(0.0); -	float totalWeight = 0.0; -	float envMapDim = float(textureSize(reflectionProbes, 0).s); +    vec3 N = R; +    vec3 V = R; +    vec4 color = vec4(0.0); +    float totalWeight = 0.0; +    float envMapDim = float(textureSize(reflectionProbes, 0).s);      float roughness = mipLevel/max_probe_lod;      int numSamples = max(int(32*roughness), 1);      float numMips = max_probe_lod+1; -	for(uint i = 0u; i < numSamples; i++) { -		vec2 Xi = hammersley2d(i, numSamples); -		vec3 H = importanceSample_GGX(Xi, roughness, N); -		vec3 L = 2.0 * dot(V, H) * H - V; -		float dotNL = clamp(dot(N, L), 0.0, 1.0); -		if(dotNL > 0.0) { -			// Filtering based on https://placeholderart.wordpress.com/2015/07/28/implementation-notes-runtime-environment-map-filtering-for-image-based-lighting/ - -			float dotNH = clamp(dot(N, H), 0.0, 1.0); -			float dotVH = clamp(dot(V, H), 0.0, 1.0); - -			// Probability Distribution Function -			float pdf = D_GGX(dotNH, roughness) * dotNH / (4.0 * dotVH) + 0.0001; -			// Slid angle of current smple -			float omegaS = 1.0 / (float(numSamples) * pdf); -			// Solid angle of 1 pixel across all cube faces -			float omegaP = 4.0 * PI / (6.0 * envMapDim * envMapDim); -			// Biased (+1.0) mip level for better result -			float mipLevel = roughness == 0.0 ? 0.0 : clamp(0.5 * log2(omegaS / omegaP) + 1.0, 0.0f, max_probe_lod); -			color += textureLod(reflectionProbes, vec4(L, sourceIdx), mipLevel) * dotNL; -			totalWeight += dotNL; -		} -	} -	return (color / totalWeight); +    for(uint i = 0u; i < numSamples; i++) { +        vec2 Xi = hammersley2d(i, numSamples); +        vec3 H = importanceSample_GGX(Xi, roughness, N); +        vec3 L = 2.0 * dot(V, H) * H - V; +        float dotNL = clamp(dot(N, L), 0.0, 1.0); +        if(dotNL > 0.0) { +            // Filtering based on https://placeholderart.wordpress.com/2015/07/28/implementation-notes-runtime-environment-map-filtering-for-image-based-lighting/ + +            float dotNH = clamp(dot(N, H), 0.0, 1.0); +            float dotVH = clamp(dot(V, H), 0.0, 1.0); + +            // Probability Distribution Function +            float pdf = D_GGX(dotNH, roughness) * dotNH / (4.0 * dotVH) + 0.0001; +            // Slid angle of current smple +            float omegaS = 1.0 / (float(numSamples) * pdf); +            // Solid angle of 1 pixel across all cube faces +            float omegaP = 4.0 * PI / (6.0 * envMapDim * envMapDim); +            // Biased (+1.0) mip level for better result +            float mipLevel = roughness == 0.0 ? 0.0 : clamp(0.5 * log2(omegaS / omegaP) + 1.0, 0.0f, max_probe_lod); +            color += textureLod(reflectionProbes, vec4(L, sourceIdx), mipLevel) * dotNL; +            totalWeight += dotNL; +        } +    } +    return (color / totalWeight);  }  void main() -{		 -	vec3 N = normalize(vary_dir); -	frag_color = max(prefilterEnvMap(N), vec4(0)); +{ +    vec3 N = normalize(vary_dir); +    frag_color = max(prefilterEnvMap(N), vec4(0));  }  // ============================================================================================================= diff --git a/indra/newview/app_settings/shaders/class1/interface/radianceGenV.glsl b/indra/newview/app_settings/shaders/class1/interface/radianceGenV.glsl index 2c31e98838..145bf39fa0 100644 --- a/indra/newview/app_settings/shaders/class1/interface/radianceGenV.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/radianceGenV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file radianceGenV.glsl   *   * $LicenseInfo:firstyear=2022&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2011, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -31,8 +31,8 @@ out vec3 vary_dir;  void main()  { -	gl_Position = vec4(position, 1.0); +    gl_Position = vec4(position, 1.0); -	vary_dir = vec3(modelview_matrix * vec4(position, 1.0)).xyz; +    vary_dir = vec3(modelview_matrix * vec4(position, 1.0)).xyz;  } diff --git a/indra/newview/app_settings/shaders/class1/interface/reflectionmipF.glsl b/indra/newview/app_settings/shaders/class1/interface/reflectionmipF.glsl index 45267e4403..69bee991f5 100644 --- a/indra/newview/app_settings/shaders/class1/interface/reflectionmipF.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/reflectionmipF.glsl @@ -1,35 +1,35 @@ -/**  +/**   * @file reflectionmipF.glsl   *   * $LicenseInfo:firstyear=2022&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2022, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  out vec4 frag_color;  uniform sampler2D diffuseRect;  in vec2 vary_texcoord0; -void main()  +void main()  {      vec3 col = texture(diffuseRect, vary_texcoord0.xy).rgb;      frag_color = vec4(col, 0.0); diff --git a/indra/newview/app_settings/shaders/class1/interface/solidcolorF.glsl b/indra/newview/app_settings/shaders/class1/interface/solidcolorF.glsl index a14334fd01..b7b2306412 100644 --- a/indra/newview/app_settings/shaders/class1/interface/solidcolorF.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/solidcolorF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file twotextureaddF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -31,9 +31,9 @@ uniform vec4 color;  in vec2 vary_texcoord0; -void main()  +void main()  { -	float alpha = texture(tex0, vary_texcoord0.xy).a * color.a; +    float alpha = texture(tex0, vary_texcoord0.xy).a * color.a; -	frag_color = vec4(color.rgb, alpha); +    frag_color = vec4(color.rgb, alpha);  } diff --git a/indra/newview/app_settings/shaders/class1/interface/solidcolorV.glsl b/indra/newview/app_settings/shaders/class1/interface/solidcolorV.glsl index b280fcdc15..9b0e35c555 100644 --- a/indra/newview/app_settings/shaders/class1/interface/solidcolorV.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/solidcolorV.glsl @@ -1,30 +1,30 @@ -/**  +/**   * @file solidcolorV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */  uniform mat4 modelview_projection_matrix; -  +  in vec3 position;  in vec2 texcoord0; @@ -32,7 +32,7 @@ out vec2 vary_texcoord0;  void main()  { -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); -	vary_texcoord0 = texcoord0; +    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); +    vary_texcoord0 = texcoord0;  } diff --git a/indra/newview/app_settings/shaders/class1/interface/splattexturerectV.glsl b/indra/newview/app_settings/shaders/class1/interface/splattexturerectV.glsl index 7af7f20f85..6141e1ff9a 100644 --- a/indra/newview/app_settings/shaders/class1/interface/splattexturerectV.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/splattexturerectV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file splattexturerectV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2011, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -31,7 +31,7 @@ out vec2 vary_texcoord0;  void main()  { -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); -	vary_texcoord0 = position.xy*0.5+0.5; +    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); +    vary_texcoord0 = position.xy*0.5+0.5;  } diff --git a/indra/newview/app_settings/shaders/class1/interface/twotexturecompareF.glsl b/indra/newview/app_settings/shaders/class1/interface/twotexturecompareF.glsl index 6d51b898b7..8477e8eb97 100644 --- a/indra/newview/app_settings/shaders/class1/interface/twotexturecompareF.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/twotexturecompareF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file twotexturecompareF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -35,20 +35,20 @@ uniform float dither_scale_t;  in vec2 vary_texcoord0;  in vec2 vary_texcoord1; -void main()  +void main()  { -	frag_color = abs(texture(tex0, vary_texcoord0.xy) - texture(tex1, vary_texcoord0.xy)); +    frag_color = abs(texture(tex0, vary_texcoord0.xy) - texture(tex1, vary_texcoord0.xy)); -	vec2 dither_coord; -	dither_coord[0] = vary_texcoord0[0] * dither_scale_s; -	dither_coord[1] = vary_texcoord0[1] * dither_scale_t; -	vec4 dither_vec = texture(dither_tex, dither_coord.xy); +    vec2 dither_coord; +    dither_coord[0] = vary_texcoord0[0] * dither_scale_s; +    dither_coord[1] = vary_texcoord0[1] * dither_scale_t; +    vec4 dither_vec = texture(dither_tex, dither_coord.xy); -	for(int i = 0; i < 3; i++) -	{ -		if(frag_color[i] < dither_vec[i] * dither_scale) -		{ -			frag_color[i] = 0.f; -		} -	} +    for(int i = 0; i < 3; i++) +    { +        if(frag_color[i] < dither_vec[i] * dither_scale) +        { +            frag_color[i] = 0.f; +        } +    }  } diff --git a/indra/newview/app_settings/shaders/class1/interface/twotexturecompareV.glsl b/indra/newview/app_settings/shaders/class1/interface/twotexturecompareV.glsl index a103bff12d..f98ab5bb16 100644 --- a/indra/newview/app_settings/shaders/class1/interface/twotexturecompareV.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/twotexturecompareV.glsl @@ -1,28 +1,28 @@ -/**  +/**   * @file twotexturecompareV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  uniform mat4 modelview_projection_matrix;  in vec3 position; @@ -34,8 +34,8 @@ out vec2 vary_texcoord1;  void main()  { -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); -	vary_texcoord0 = texcoord0; -	vary_texcoord1 = texcoord1; +    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); +    vary_texcoord0 = texcoord0; +    vary_texcoord1 = texcoord1;  } diff --git a/indra/newview/app_settings/shaders/class1/interface/uiF.glsl b/indra/newview/app_settings/shaders/class1/interface/uiF.glsl index a29b848253..83fe1c505f 100644 --- a/indra/newview/app_settings/shaders/class1/interface/uiF.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/uiF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file uiF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -30,7 +30,7 @@ uniform sampler2D diffuseMap;  in vec2 vary_texcoord0;  in vec4 vertex_color; -void main()  +void main()  { -	frag_color = vertex_color*texture(diffuseMap, vary_texcoord0.xy); +    frag_color = vertex_color*texture(diffuseMap, vary_texcoord0.xy);  } diff --git a/indra/newview/app_settings/shaders/class1/interface/uiV.glsl b/indra/newview/app_settings/shaders/class1/interface/uiV.glsl index 91a846b9fa..c56b122a78 100644 --- a/indra/newview/app_settings/shaders/class1/interface/uiV.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/uiV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file uiV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -35,8 +35,8 @@ out vec2 vary_texcoord0;  void main()  { -	gl_Position = modelview_projection_matrix * vec4(position, 1); -	vary_texcoord0 =  (texture_matrix0 * vec4(texcoord0,0,1)).xy; -	vertex_color = diffuse_color; +    gl_Position = modelview_projection_matrix * vec4(position, 1); +    vary_texcoord0 =  (texture_matrix0 * vec4(texcoord0,0,1)).xy; +    vertex_color = diffuse_color;  } diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightAlphaMaskF.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightAlphaMaskF.glsl index 6535c0835e..c7cb076099 100644 --- a/indra/newview/app_settings/shaders/class1/lighting/lightAlphaMaskF.glsl +++ b/indra/newview/app_settings/shaders/class1/lighting/lightAlphaMaskF.glsl @@ -1,28 +1,28 @@ -/**  +/**   * @file class1\lighting\lightAlphaMaskF.glsl   *   * $LicenseInfo:firstyear=2011&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2011, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  out vec4 frag_color;  uniform float minimum_alpha; @@ -33,20 +33,20 @@ vec3 scaleSoftClip(vec3 light);  in vec4 vertex_color;  in vec2 vary_texcoord0; -void default_lighting()  +void default_lighting()  { -	vec4 color = diffuseLookup(vary_texcoord0.xy); -	 -	if (color.a < minimum_alpha) -	{ -		discard; -	} -	 -	color *= vertex_color; - -	color.rgb = atmosLighting(color.rgb); -	color.rgb = scaleSoftClip(color.rgb); - -	frag_color = max(color, vec4(0)); +    vec4 color = diffuseLookup(vary_texcoord0.xy); + +    if (color.a < minimum_alpha) +    { +        discard; +    } + +    color *= vertex_color; + +    color.rgb = atmosLighting(color.rgb); +    color.rgb = scaleSoftClip(color.rgb); + +    frag_color = max(color, vec4(0));  } diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightAlphaMaskNonIndexedF.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightAlphaMaskNonIndexedF.glsl index 4dc67028d5..77324edcff 100644 --- a/indra/newview/app_settings/shaders/class1/lighting/lightAlphaMaskNonIndexedF.glsl +++ b/indra/newview/app_settings/shaders/class1/lighting/lightAlphaMaskNonIndexedF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file class1\lighting\lightAlphaMaskNonIndexedF.glsl   *   * $LicenseInfo:firstyear=2011&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2011, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -35,21 +35,21 @@ vec3 scaleSoftClip(vec3 light);  in vec4 vertex_color;  in vec2 vary_texcoord0; -void default_lighting()  +void default_lighting()  { -	vec4 color = texture(diffuseMap,vary_texcoord0.xy); +    vec4 color = texture(diffuseMap,vary_texcoord0.xy); -	if (color.a < minimum_alpha) -	{ -		discard; -	} +    if (color.a < minimum_alpha) +    { +        discard; +    } -	color *= vertex_color; +    color *= vertex_color; -	color.rgb = atmosLighting(color.rgb); +    color.rgb = atmosLighting(color.rgb); -	color.rgb = scaleSoftClip(color.rgb); +    color.rgb = scaleSoftClip(color.rgb); -	frag_color = max(color, vec4(0)); +    frag_color = max(color, vec4(0));  } diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightF.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightF.glsl index 2d1c7dadb0..e8523935ed 100644 --- a/indra/newview/app_settings/shaders/class1/lighting/lightF.glsl +++ b/indra/newview/app_settings/shaders/class1/lighting/lightF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file class1\lighting\lightF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -31,14 +31,14 @@ in vec2 vary_texcoord0;  vec3 atmosLighting(vec3 light);  vec3 scaleSoftClip(vec3 light); -void default_lighting()  +void default_lighting()  { -	vec4 color = diffuseLookup(vary_texcoord0.xy) * vertex_color; -	 -	color.rgb = atmosLighting(color.rgb); +    vec4 color = diffuseLookup(vary_texcoord0.xy) * vertex_color; + +    color.rgb = atmosLighting(color.rgb); -	color.rgb = scaleSoftClip(color.rgb); +    color.rgb = scaleSoftClip(color.rgb); -	frag_color = max(color, vec4(0)); +    frag_color = max(color, vec4(0));  } diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightFuncSpecularV.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightFuncSpecularV.glsl index 13a6dde4aa..6ca6c88289 100644 --- a/indra/newview/app_settings/shaders/class1/lighting/lightFuncSpecularV.glsl +++ b/indra/newview/app_settings/shaders/class1/lighting/lightFuncSpecularV.glsl @@ -1,58 +1,58 @@ -/**  +/**   * @file class1/lighting\lightFuncSpecularV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  float calcDirectionalSpecular(vec3 view, vec3 n, vec3 l)  { -	return pow(max(dot(reflect(view, n),l), 0.0),8.0); +    return pow(max(dot(reflect(view, n),l), 0.0),8.0);  }  float calcDirectionalLightSpecular(inout vec4 specular, vec3 view, vec3 n, vec3 l, vec3 lightCol, float da)  { -	 -	specular.rgb += calcDirectionalSpecular(view,n,l)*lightCol*da; -	return max(dot(n,l),0.0); + +    specular.rgb += calcDirectionalSpecular(view,n,l)*lightCol*da; +    return max(dot(n,l),0.0);  }  vec3 calcPointLightSpecular(inout vec4 specular, vec3 view, vec3 v, vec3 n, vec3 l, float r, float pw, vec3 lightCol)  { -	//get light vector -	vec3 lv = l-v; -	 -	//get distance -	float d = length(lv); -	 -	//normalize light vector -	lv *= 1.0/d; -	 -	//distance attenuation -	float da = clamp(1.0/(r * d), 0.0, 1.0); -	 -	//angular attenuation -	 -	da *= calcDirectionalLightSpecular(specular, view, n, lv, lightCol, da); -	 -	return da*lightCol;	 +    //get light vector +    vec3 lv = l-v; + +    //get distance +    float d = length(lv); + +    //normalize light vector +    lv *= 1.0/d; + +    //distance attenuation +    float da = clamp(1.0/(r * d), 0.0, 1.0); + +    //angular attenuation + +    da *= calcDirectionalLightSpecular(specular, view, n, lv, lightCol, da); + +    return da*lightCol;  } diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightFuncV.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightFuncV.glsl index 45701002b8..6ddf7b9417 100644 --- a/indra/newview/app_settings/shaders/class1/lighting/lightFuncV.glsl +++ b/indra/newview/app_settings/shaders/class1/lighting/lightFuncV.glsl @@ -1,58 +1,58 @@ -/**  +/**   * @file class1\lighting\lightFuncV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  float calcDirectionalLight(vec3 n, vec3 l)  { -	float a = max(dot(n,l),0.0); -	return a; +    float a = max(dot(n,l),0.0); +    return a;  }  float calcPointLightOrSpotLight(vec3 v, vec3 n, vec4 lp, vec3 ln, float la, float fa, float is_pointlight)  { -	//get light vector -	vec3 lv = lp.xyz-v; -	 -	//get distance -	float d = length(lv); -	 -	//normalize light vector -	lv *= 1.0/d; -	 -	//distance attenuation -	float da = clamp(1.0/(la * d), 0.0, 1.0); -	 -	// spotlight coefficient. -	float spot = max(dot(-ln, lv), is_pointlight); -	da *= spot*spot; // GL_SPOT_EXPONENT=2 - -	//angular attenuation -	da *= calcDirectionalLight(n, lv); - -	return da; +    //get light vector +    vec3 lv = lp.xyz-v; + +    //get distance +    float d = length(lv); + +    //normalize light vector +    lv *= 1.0/d; + +    //distance attenuation +    float da = clamp(1.0/(la * d), 0.0, 1.0); + +    // spotlight coefficient. +    float spot = max(dot(-ln, lv), is_pointlight); +    da *= spot*spot; // GL_SPOT_EXPONENT=2 + +    //angular attenuation +    da *= calcDirectionalLight(n, lv); + +    return da;  } diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightNonIndexedF.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightNonIndexedF.glsl index cea08ecffd..95200444b9 100644 --- a/indra/newview/app_settings/shaders/class1/lighting/lightNonIndexedF.glsl +++ b/indra/newview/app_settings/shaders/class1/lighting/lightNonIndexedF.glsl @@ -1,30 +1,30 @@ -/**  +/**   * @file class1\lighting\lightF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */  out vec4 frag_color; -  +  in vec4 vertex_color;  in vec2 vary_texcoord0; @@ -33,14 +33,14 @@ uniform sampler2D diffuseMap;  vec3 atmosLighting(vec3 light);  vec3 scaleSoftClip(vec3 light); -void default_lighting()  +void default_lighting()  { -	vec4 color = texture(diffuseMap,vary_texcoord0.xy) * vertex_color; -	 -	color.rgb = atmosLighting(color.rgb); +    vec4 color = texture(diffuseMap,vary_texcoord0.xy) * vertex_color; + +    color.rgb = atmosLighting(color.rgb); -	color.rgb = scaleSoftClip(color.rgb); +    color.rgb = scaleSoftClip(color.rgb); -	frag_color = max(color, vec4(0)); +    frag_color = max(color, vec4(0));  } diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightSpecularV.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightSpecularV.glsl index 06aed40e26..c510932930 100644 --- a/indra/newview/app_settings/shaders/class1/lighting/lightSpecularV.glsl +++ b/indra/newview/app_settings/shaders/class1/lighting/lightSpecularV.glsl @@ -1,28 +1,28 @@ -/**  +/**   * @file class1\lighting\lightSpecularV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  // All lights, no specular highlights @@ -31,6 +31,6 @@ vec4 sumLightsSpecular(vec3 pos, vec3 norm, vec4 color, inout vec4 specularColor  vec4 calcLightingSpecular(vec3 pos, vec3 norm, vec4 color, inout vec4 specularColor)  { -	return sumLightsSpecular(pos, norm, color, specularColor); +    return sumLightsSpecular(pos, norm, color, specularColor);  } diff --git a/indra/newview/app_settings/shaders/class1/lighting/sumLightsSpecularV.glsl b/indra/newview/app_settings/shaders/class1/lighting/sumLightsSpecularV.glsl index 7c3697c333..ceb2bce4f1 100644 --- a/indra/newview/app_settings/shaders/class1/lighting/sumLightsSpecularV.glsl +++ b/indra/newview/app_settings/shaders/class1/lighting/sumLightsSpecularV.glsl @@ -4,25 +4,25 @@   * $LicenseInfo:firstyear=2005&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2005, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -   +  float calcDirectionalLightSpecular(inout vec4 specular, vec3 view, vec3 n, vec3 l, vec3 lightCol, float da); @@ -36,22 +36,22 @@ uniform vec3 light_diffuse[8];  vec4 sumLightsSpecular(vec3 pos, vec3 norm, vec4 color, inout vec4 specularColor)  { -	vec4 col = vec4(0,0,0, color.a); -		 -	vec3 view = normalize(pos); -	 -	/// collect all the specular values from each calcXXXLightSpecular() function -	vec4 specularSum = vec4(0.0); +    vec4 col = vec4(0,0,0, color.a); + +    vec3 view = normalize(pos); + +    /// collect all the specular values from each calcXXXLightSpecular() function +    vec4 specularSum = vec4(0.0); -	col.rgb += light_diffuse[1].rgb * calcDirectionalLightSpecular(specularColor, view, norm, light_position[1].xyz,light_diffuse[1].rgb, 1.0); -	col.rgb = scaleDownLight(col.rgb); -	col.rgb += atmosAmbient(); -	col.rgb += atmosAffectDirectionalLight(calcDirectionalLightSpecular(specularSum, view, norm, light_position[0].xyz, atmosGetDiffuseSunlightColor(), 1.0)); +    col.rgb += light_diffuse[1].rgb * calcDirectionalLightSpecular(specularColor, view, norm, light_position[1].xyz,light_diffuse[1].rgb, 1.0); +    col.rgb = scaleDownLight(col.rgb); +    col.rgb += atmosAmbient(); +    col.rgb += atmosAffectDirectionalLight(calcDirectionalLightSpecular(specularSum, view, norm, light_position[0].xyz, atmosGetDiffuseSunlightColor(), 1.0)); -	col.rgb = min(col.rgb * color.rgb, 1.0); -	specularColor.rgb = min(specularColor.rgb * specularSum.rgb, 1.0); +    col.rgb = min(col.rgb * color.rgb, 1.0); +    specularColor.rgb = min(specularColor.rgb * specularSum.rgb, 1.0); -	col.rgb += specularColor.rgb; +    col.rgb += specularColor.rgb; -	return col;	 +    return col;  } diff --git a/indra/newview/app_settings/shaders/class1/lighting/sumLightsV.glsl b/indra/newview/app_settings/shaders/class1/lighting/sumLightsV.glsl index 75a327d3d7..a2521384b5 100644 --- a/indra/newview/app_settings/shaders/class1/lighting/sumLightsV.glsl +++ b/indra/newview/app_settings/shaders/class1/lighting/sumLightsV.glsl @@ -4,25 +4,25 @@   * $LicenseInfo:firstyear=2005&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2005, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  uniform vec4 light_position[8];  uniform vec3 light_diffuse[8]; @@ -34,14 +34,14 @@ vec3 scaleDownLight(vec3 light);  vec4 sumLights(vec3 pos, vec3 norm, vec4 color)  { -	vec4 col = vec4(0); -	col.a = color.a; -	 -	col.rgb = light_diffuse[1].rgb * calcDirectionalLight(norm, light_position[1].xyz); +    vec4 col = vec4(0); +    col.a = color.a; + +    col.rgb = light_diffuse[1].rgb * calcDirectionalLight(norm, light_position[1].xyz);      col.rgb += light_diffuse[1].rgb * sqrt(calcDirectionalLight(norm, -light_position[1].xyz)*0.5+0.25); -	col.rgb = min(col.rgb*color.rgb, 1.0); -	return col;	 +    col.rgb = min(col.rgb*color.rgb, 1.0); +    return col;  } diff --git a/indra/newview/app_settings/shaders/class1/objects/bumpF.glsl b/indra/newview/app_settings/shaders/class1/objects/bumpF.glsl index 67c99530e3..db26e64f17 100644 --- a/indra/newview/app_settings/shaders/class1/objects/bumpF.glsl +++ b/indra/newview/app_settings/shaders/class1/objects/bumpF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file bumpF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -31,10 +31,10 @@ uniform sampler2D texture1;  in vec2 vary_texcoord0;  in vec2 vary_texcoord1; -void main()  +void main()  { -	float tex0 = texture(texture0, vary_texcoord0.xy).a; -	float tex1 = texture(texture1, vary_texcoord1.xy).a; +    float tex0 = texture(texture0, vary_texcoord0.xy).a; +    float tex1 = texture(texture1, vary_texcoord1.xy).a; -	frag_color = max(vec4(tex0+(1.0-tex1)-0.5), vec4(0)); +    frag_color = max(vec4(tex0+(1.0-tex1)-0.5), vec4(0));  } diff --git a/indra/newview/app_settings/shaders/class1/objects/bumpV.glsl b/indra/newview/app_settings/shaders/class1/objects/bumpV.glsl index 7d5417919e..834c20e14d 100644 --- a/indra/newview/app_settings/shaders/class1/objects/bumpV.glsl +++ b/indra/newview/app_settings/shaders/class1/objects/bumpV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file bumpV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -41,15 +41,15 @@ uniform mat4 modelview_matrix;  void main()  { -	//transform vertex +    //transform vertex  #ifdef HAS_SKIN      mat4 mat = getObjectSkinnedTransform();      mat = modelview_matrix * mat;      vec4 pos = mat * vec4(position.xyz, 1.0);      gl_Position = projection_matrix * pos;  #else -	gl_Position = modelview_projection_matrix*vec4(position.xyz, 1.0); +    gl_Position = modelview_projection_matrix*vec4(position.xyz, 1.0);  #endif -	vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; -	vary_texcoord1 = (texture_matrix0 * vec4(texcoord1,0,1)).xy; +    vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; +    vary_texcoord1 = (texture_matrix0 * vec4(texcoord1,0,1)).xy;  } diff --git a/indra/newview/app_settings/shaders/class1/objects/impostorF.glsl b/indra/newview/app_settings/shaders/class1/objects/impostorF.glsl index ff9aaf3357..6fe89b4f16 100644 --- a/indra/newview/app_settings/shaders/class1/objects/impostorF.glsl +++ b/indra/newview/app_settings/shaders/class1/objects/impostorF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file impostorF.glsl   *   * $LicenseInfo:firstyear=2011&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2011, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -33,12 +33,12 @@ in vec2 vary_texcoord0;  void main()  { -	vec4 color = texture(diffuseMap,vary_texcoord0.xy); -	 -	if (color.a < minimum_alpha) -	{ -		discard; -	} +    vec4 color = texture(diffuseMap,vary_texcoord0.xy); + +    if (color.a < minimum_alpha) +    { +        discard; +    } -	frag_color = max(color, vec4(0)); +    frag_color = max(color, vec4(0));  } diff --git a/indra/newview/app_settings/shaders/class1/objects/impostorV.glsl b/indra/newview/app_settings/shaders/class1/objects/impostorV.glsl index cf3162f5f1..a56eeba63d 100644 --- a/indra/newview/app_settings/shaders/class1/objects/impostorV.glsl +++ b/indra/newview/app_settings/shaders/class1/objects/impostorV.glsl @@ -4,21 +4,21 @@   * $LicenseInfo:firstyear=2011&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2011, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -34,7 +34,7 @@ out vec2 vary_texcoord0;  void main()  { -	//transform vertex -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); -	vary_texcoord0 = (texture_matrix0 * vec4(texcoord0, 0, 1)).xy; +    //transform vertex +    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); +    vary_texcoord0 = (texture_matrix0 * vec4(texcoord0, 0, 1)).xy;  } diff --git a/indra/newview/app_settings/shaders/class1/objects/indexedTextureV.glsl b/indra/newview/app_settings/shaders/class1/objects/indexedTextureV.glsl index d90f9271dc..7c921abb80 100644 --- a/indra/newview/app_settings/shaders/class1/objects/indexedTextureV.glsl +++ b/indra/newview/app_settings/shaders/class1/objects/indexedTextureV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file indexedTextureV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -29,6 +29,6 @@ flat out int vary_texture_index;  void passTextureIndex()  { -	vary_texture_index = texture_index; +    vary_texture_index = texture_index;  } diff --git a/indra/newview/app_settings/shaders/class1/objects/nonindexedTextureV.glsl b/indra/newview/app_settings/shaders/class1/objects/nonindexedTextureV.glsl index 80ea286ac0..84b66b71f3 100644 --- a/indra/newview/app_settings/shaders/class1/objects/nonindexedTextureV.glsl +++ b/indra/newview/app_settings/shaders/class1/objects/nonindexedTextureV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file nonindexedTextureV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ diff --git a/indra/newview/app_settings/shaders/class1/objects/previewF.glsl b/indra/newview/app_settings/shaders/class1/objects/previewF.glsl index ec785cd1c0..89275bad59 100644 --- a/indra/newview/app_settings/shaders/class1/objects/previewF.glsl +++ b/indra/newview/app_settings/shaders/class1/objects/previewF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file previewF.glsl   *   * $LicenseInfo:firstyear=2011&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2011, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -32,6 +32,6 @@ in vec2 vary_texcoord0;  void main()  { -	vec4 color = texture(diffuseMap,vary_texcoord0.xy) * vertex_color; -	frag_color = max(color, vec4(0)); +    vec4 color = texture(diffuseMap,vary_texcoord0.xy) * vertex_color; +    frag_color = max(color, vec4(0));  } diff --git a/indra/newview/app_settings/shaders/class1/objects/previewPhysicsF.glsl b/indra/newview/app_settings/shaders/class1/objects/previewPhysicsF.glsl index e3e71202ae..974048cf91 100644 --- a/indra/newview/app_settings/shaders/class1/objects/previewPhysicsF.glsl +++ b/indra/newview/app_settings/shaders/class1/objects/previewPhysicsF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file previewPhysicsF.glsl   *   * $LicenseInfo:firstyear=2022&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2022, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ diff --git a/indra/newview/app_settings/shaders/class1/objects/previewPhysicsV.glsl b/indra/newview/app_settings/shaders/class1/objects/previewPhysicsV.glsl index d8c74e8537..03a06f7ca3 100644 --- a/indra/newview/app_settings/shaders/class1/objects/previewPhysicsV.glsl +++ b/indra/newview/app_settings/shaders/class1/objects/previewPhysicsV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file previewPhysicsV.glsl   *   * $LicenseInfo:firstyear=2022&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2022, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -36,7 +36,7 @@ out vec2 vary_texcoord0;  void main()  { -	//transform vertex -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); -	vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; +    //transform vertex +    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); +    vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy;  } diff --git a/indra/newview/app_settings/shaders/class1/objects/previewV.glsl b/indra/newview/app_settings/shaders/class1/objects/previewV.glsl index f51b0f4d9e..f415253be9 100644 --- a/indra/newview/app_settings/shaders/class1/objects/previewV.glsl +++ b/indra/newview/app_settings/shaders/class1/objects/previewV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file previewV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -38,7 +38,7 @@ out vec2 vary_texcoord0;  uniform vec4 light_position[8];  uniform vec3 light_direction[8]; -uniform vec3 light_attenuation[8];  +uniform vec3 light_attenuation[8];  uniform vec3 light_diffuse[8];  //=================================================================================================== @@ -46,8 +46,8 @@ uniform vec3 light_diffuse[8];  //drivers that are picky about functions being declared but not defined even if they aren't called  float calcDirectionalLight(vec3 n, vec3 l)  { -	float a = max(dot(n,l),0.0); -	return a; +    float a = max(dot(n,l),0.0); +    return a;  }  //==================================================================================================== @@ -69,18 +69,18 @@ void main()      gl_Position = projection_matrix * pos;      norm = normalize((mat*vec4(normal.xyz+position.xyz,1.0)).xyz-pos.xyz);  #else -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0);  +    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0);      norm = normalize(normal_matrix * normal);  #endif -	vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; +    vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; -	vec4 col = vec4(0,0,0,1); +    vec4 col = vec4(0,0,0,1); -	// Collect normal lights (need to be divided by two, as we later multiply by 2) -	col.rgb += light_diffuse[1].rgb * calcDirectionalLight(norm, light_position[1].xyz); +    // Collect normal lights (need to be divided by two, as we later multiply by 2) +    col.rgb += light_diffuse[1].rgb * calcDirectionalLight(norm, light_position[1].xyz);      col.rgb += light_diffuse[2].rgb * calcDirectionalLight(norm, light_position[2].xyz);      col.rgb += light_diffuse[3].rgb * calcDirectionalLight(norm, light_position[3].xyz); -	vertex_color = col*color; +    vertex_color = col*color;  } diff --git a/indra/newview/app_settings/shaders/class1/objects/simpleF.glsl b/indra/newview/app_settings/shaders/class1/objects/simpleF.glsl index 29a2ce617b..5dd8916fe4 100644 --- a/indra/newview/app_settings/shaders/class1/objects/simpleF.glsl +++ b/indra/newview/app_settings/shaders/class1/objects/simpleF.glsl @@ -1,31 +1,31 @@ -/**  +/**   * @file simpleF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  void default_lighting(); -void main()  +void main()  { -	default_lighting(); +    default_lighting();  } diff --git a/indra/newview/app_settings/shaders/class1/objects/simpleNoColorV.glsl b/indra/newview/app_settings/shaders/class1/objects/simpleNoColorV.glsl index 07f5d250cf..a3aca25db2 100644 --- a/indra/newview/app_settings/shaders/class1/objects/simpleNoColorV.glsl +++ b/indra/newview/app_settings/shaders/class1/objects/simpleNoColorV.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file simpleNoColorV.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -43,17 +43,17 @@ void calcAtmospherics(vec3 inPositionEye);  void main()  { -	//transform vertex -	vec4 pos = (modelview_matrix * vec4(position.xyz, 1.0)); -	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); -	vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; -		 -	vec3 norm = normalize(normal_matrix * normal); +    //transform vertex +    vec4 pos = (modelview_matrix * vec4(position.xyz, 1.0)); +    gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); +    vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; + +    vec3 norm = normalize(normal_matrix * normal); + +    calcAtmospherics(pos.xyz); -	calcAtmospherics(pos.xyz); +    vec4 col = calcLighting(pos.xyz, norm, color); +    vertex_color = col; -	vec4 col = calcLighting(pos.xyz, norm, color); -	vertex_color = col; -	  } diff --git a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsF.glsl b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsF.glsl index 41a848a14f..a892ff9cdc 100644 --- a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsF.glsl +++ b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file class2\wl\atmosphericsF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -33,7 +33,7 @@ vec3 linear_to_srgb(vec3 col);  uniform float sky_hdr_scale;  vec3 atmosFragLighting(vec3 light, vec3 additive, vec3 atten) -{  +{      light *= atten.r;      additive = srgb_to_linear(additive*2.0);      additive *= sky_hdr_scale; diff --git a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsFuncs.glsl b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsFuncs.glsl index a1da4b1f9a..b7cd3f0589 100644 --- a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsFuncs.glsl +++ b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsFuncs.glsl @@ -57,9 +57,9 @@ void calcAtmosphericVars(vec3 inPositionEye, vec3 light_dir, float ambFactor, ou      vec3  rel_pos_norm = normalize(rel_pos);      float rel_pos_len  = length(rel_pos); -     +      vec3  sunlight     = (sun_up_factor == 1) ? sunlight_color: moonlight_color; -     +      // sunlight attenuation effect (hue and brightness) due to atmosphere      // this is used later for sunlight modulation at various altitudes      vec3 light_atten = (blue_density + vec3(haze_density * 0.25)) * (density_multiplier * max_y); @@ -119,7 +119,7 @@ void calcAtmosphericVars(vec3 inPositionEye, vec3 light_dir, float ambFactor, ou      additive = (blue_horizon.rgb * blue_weight.rgb) * (cs + tmpAmbient.rgb) + (haze_horizon * haze_weight.rgb) * (cs * haze_glow + tmpAmbient.rgb);      // brightness of surface both sunlight and ambient -     +      sunlit = sunlight.rgb;      amblit = tmpAmbient; @@ -128,7 +128,7 @@ void calcAtmosphericVars(vec3 inPositionEye, vec3 light_dir, float ambFactor, ou  vec3 srgb_to_linear(vec3 col); -// provide a touch of lighting in the opposite direction of the sun light  +// provide a touch of lighting in the opposite direction of the sun light      // so areas in shadow don't lose all detail  float ambientLighting(vec3 norm, vec3 light_dir)  { @@ -150,7 +150,7 @@ void calcAtmosphericVarsLinear(vec3 inPositionEye, vec3 norm, vec3 light_dir, ou      // (allows for mixing of light sources other than sunlight e.g. reflection probes)      sunlit *= sky_sunlight_scale;      amblit *= sky_ambient_scale; -     +      amblit = srgb_to_linear(amblit);      amblit *= ambientLighting(norm, light_dir);  } diff --git a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsHelpersF.glsl b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsHelpersF.glsl index 800d08047a..1e36a3adae 100644 --- a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsHelpersF.glsl +++ b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsHelpersF.glsl @@ -4,21 +4,21 @@   * $LicenseInfo:firstyear=2005&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2005, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ diff --git a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsHelpersV.glsl b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsHelpersV.glsl index 4f88aed765..4d7f77edd5 100644 --- a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsHelpersV.glsl +++ b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsHelpersV.glsl @@ -4,25 +4,25 @@   * $LicenseInfo:firstyear=2005&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2005, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  // Output variables diff --git a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsV.glsl b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsV.glsl index 7b59e07243..1372ddbcfa 100644 --- a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsV.glsl +++ b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsV.glsl @@ -4,21 +4,21 @@   * $LicenseInfo:firstyear=2005&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2005, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -46,7 +46,7 @@ void calcAtmospherics(vec3 inPositionEye) {      vec3 tmpamblit = vec3(1);      vec3 tmpaddlit = vec3(1);      vec3 tmpattenlit = vec3(1); -	vec3 light_dir = (sun_up_factor == 1) ? sun_dir : moon_dir;	 +    vec3 light_dir = (sun_up_factor == 1) ? sun_dir : moon_dir;      calcAtmosphericVars(inPositionEye, light_dir, 1, tmpsunlit, tmpamblit, tmpaddlit, tmpattenlit);      setSunlitColor(tmpsunlit);      setAmblitColor(tmpamblit); diff --git a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsVarsF.glsl b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsVarsF.glsl index 9d5f60b313..642d0bc1e4 100644 --- a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsVarsF.glsl +++ b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsVarsF.glsl @@ -1,48 +1,48 @@ -/**  +/**   * @file class2\wl\atmosphericVarsF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  in vec3 vary_AdditiveColor;  in vec3 vary_AtmosAttenuation;  vec3 getSunlitColor()  { -	return vec3(0,0,0); +    return vec3(0,0,0);  }  vec3 getAmblitColor()  { -	return vec3(0,0,0); +    return vec3(0,0,0);  }  vec3 getAdditiveColor()  { -	return vary_AdditiveColor; +    return vary_AdditiveColor;  }  vec3 getAtmosAttenuation()  { -	return vary_AtmosAttenuation; +    return vary_AtmosAttenuation;  } diff --git a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsVarsV.glsl b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsVarsV.glsl index 0617bc9908..5d770948c5 100644 --- a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsVarsV.glsl +++ b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsVarsV.glsl @@ -1,28 +1,28 @@ -/**  +/**   * @file class2\wl\atmosphericVars.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +  out vec3 vary_AdditiveColor;  out vec3 vary_AtmosAttenuation; @@ -34,40 +34,40 @@ vec3 amblit_color;  vec3 getSunlitColor()  { -	return sunlit_color; +    return sunlit_color;  }  vec3 getAmblitColor()  { -	return amblit_color; +    return amblit_color;  }  vec3 getAdditiveColor()  { -	return additive_color; +    return additive_color;  }  vec3 getAtmosAttenuation()  { -	return atmos_attenuation; +    return atmos_attenuation;  }  void setSunlitColor(vec3 v)  { -	sunlit_color  = v; +    sunlit_color  = v;  }  void setAmblitColor(vec3 v)  { -	amblit_color = v; +    amblit_color = v;  }  void setAdditiveColor(vec3 v)  { -	additive_color = v; -	vary_AdditiveColor = v; +    additive_color = v; +    vary_AdditiveColor = v;  }  void setAtmosAttenuation(vec3 v)  { -	atmos_attenuation = v; -	vary_AtmosAttenuation = v; +    atmos_attenuation = v; +    vary_AtmosAttenuation = v;  } diff --git a/indra/newview/app_settings/shaders/class1/windlight/gammaF.glsl b/indra/newview/app_settings/shaders/class1/windlight/gammaF.glsl index 027bfb866f..e881f82824 100644 --- a/indra/newview/app_settings/shaders/class1/windlight/gammaF.glsl +++ b/indra/newview/app_settings/shaders/class1/windlight/gammaF.glsl @@ -1,24 +1,24 @@ -/**  +/**   * @file class2\wl\gammaF.glsl   *   * $LicenseInfo:firstyear=2007&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2007, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ | 
