/usr/share/openwalnut/shaders/WGEPostprocessing.glsl is in libopenwalnut1 1.2.5-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | //---------------------------------------------------------------------------
//
// Project: OpenWalnut ( http://www.openwalnut.org )
//
// Copyright 2009 OpenWalnut Community, BSV@Uni-Leipzig and CNCF@MPI-CBS
// For more information see http://www.openwalnut.org/copying
//
// This file is part of OpenWalnut.
//
// OpenWalnut 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, either version 3 of the License, or
// (at your option) any later version.
//
// OpenWalnut 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 OpenWalnut. If not, see <http://www.gnu.org/licenses/>.
//
//---------------------------------------------------------------------------
#ifndef WGEPOSTPROCESSING_GLSL
#define WGEPOSTPROCESSING_GLSL
#version 120
// This defines some stuff needed to enable your shader to allow the result to be post-processed.
// You'll need to do the following:
// * Set a fragment-depth! If you render simple geometry, this is done by your GPU automatically. If you do ray-tracing or similar, where the
// depth of a fragment is not the same as the proxy geometry, set a proper depth using gl_FragDepth.
// * Set a fragment-color using wge_FragColor or gl_FragData[0] since GLSL does not allow gl_FragColor for multi-target renderings.
// * Set a normal per fragment using wge_FragNormal. The normal needs to be scaled to [0,1] and in World-Space!
// * This can be done by textureNormalize in WGETextureTools.glsl
// * If you do not set a normal, some post-processings simply won't work
// * Sometimes, the normal might not be needed in your own code. In this case, use #ifdef WGE_POSTPROCESSING_ENABLED to only calculate it in
// the case post-processing is enabled
// * You can use getGradient amd getGradientViewAligned in WGEShadingTools.glsl to calculate the normal in a 3D texture
#ifdef WGE_POSTPROCESSING_ENABLED
#define wge_FragNormal gl_FragData[1].rgb
#define wge_FragColor gl_FragData[0]
#else
vec3 WGE_POSTPROCESSING_ENABLED_dummyVec3;
#define wge_FragNormal WGE_POSTPROCESSING_ENABLED_dummyVec3
#define wge_FragColor gl_FragData[0]
#endif
#endif // WGEPOSTPROCESSING_GLSL
|