#extension GL_ARB_texture_multisample : enable\r
+\r
uniform int m_NumSamples;\r
uniform int m_NumSamplesDepth;\r
\r
#define DEPTHTEXTURE sampler2D\r
#endif\r
\r
+// NOTE: Only define multisample functions if multisample is being used!\r
+#ifdef GL_ARB_texture_multisample\r
vec4 textureFetch(in sampler2DMS tex,in vec2 texC, in int numSamples){\r
ivec2 iTexC = ivec2(texC * textureSize(tex));\r
vec4 color = vec4(0.0);\r
return color / numSamples;\r
}\r
\r
-vec4 fetchTextureSample(in sampler2D tex,in vec2 texC,in int sample){\r
- return texture2D(tex,texC);\r
-}\r
-\r
vec4 fetchTextureSample(in sampler2DMS tex,in vec2 texC,in int sample){\r
ivec2 iTexC = ivec2(texC * textureSize(tex));\r
return texelFetch(tex, iTexC, sample);\r
}\r
\r
-vec4 getColor(in sampler2D tex, in vec2 texC){\r
- return texture2D(tex,texC);\r
-}\r
-\r
vec4 getColor(in sampler2DMS tex, in vec2 texC){\r
return textureFetch(tex, texC, m_NumSamples);\r
}\r
\r
-vec4 getColorSingle(in sampler2D tex, in vec2 texC){\r
- return texture2D(tex, texC);\r
-}\r
-\r
vec4 getColorSingle(in sampler2DMS tex, in vec2 texC){\r
ivec2 iTexC = ivec2(texC * textureSize(tex));\r
return texelFetch(tex, iTexC, 0);\r
}\r
\r
-vec4 getDepth(in sampler2D tex,in vec2 texC){\r
+vec4 getDepth(in sampler2DMS tex,in vec2 texC){\r
+ return textureFetch(tex,texC,m_NumSamplesDepth);\r
+}\r
+#endif\r
+\r
+vec4 fetchTextureSample(in sampler2D tex,in vec2 texC,in int sample){\r
return texture2D(tex,texC);\r
}\r
\r
-vec4 getDepth(in sampler2DMS tex,in vec2 texC){\r
- return textureFetch(tex,texC,m_NumSamplesDepth);\r
+vec4 getColor(in sampler2D tex, in vec2 texC){\r
+ return texture2D(tex,texC);\r
}\r
+\r
+vec4 getColorSingle(in sampler2D tex, in vec2 texC){\r
+ return texture2D(tex, texC);\r
+}\r
+\r
+vec4 getDepth(in sampler2D tex,in vec2 texC){\r
+ return texture2D(tex,texC);\r
+}
\ No newline at end of file
import com.jme3.export.OutputCapsule;\r
import com.jme3.export.Savable;\r
import com.jme3.material.Material;\r
-import com.jme3.material.RenderState;\r
import com.jme3.renderer.Camera;\r
import com.jme3.renderer.Caps;\r
import com.jme3.renderer.RenderManager;\r
\r
Camera cam = vp.getCamera();\r
\r
-\r
//save view port diensions\r
left = cam.getViewPortLeft();\r
right = cam.getViewPortRight();\r
originalHeight = cam.getHeight();\r
//first call to reshape\r
reshape(vp, cam.getWidth(), cam.getHeight());\r
-\r
}\r
\r
/**\r