Workbench 53.15, Kickstart 53.89 Tuesday 12/04/2018 11:04 PM Memory Installed: 2,147,479,552 Free: 1,979,248,640 4/0.RAM Disk:> cd work:friking-shark/ 4/0.Work:friking-shark> stack 2000000 4/0.Work:friking-shark> notepad Resources/Scripts/GameGUI.cfg 4/0.Work:friking-shark> GameEngine LIBGL: Initialising gl4es LIBGL: v1.1.1 built on Nov 27 2018 21:22:32 LIBGL: Using GLES 2.0 backend LIBGL: OGLES2 Library and Interface open successfuly LIBGL: Targeting OpenGL 2.0 LIBGL: Forcing NPOT support by disabling MIPMAP support for NPOT textures LIBGL: Current folder is:Work:friking-shark CGameEngineApp::Run -> Setting root folder to PROGDIR:Resources Init("GameGraphics", piSystem=0x646244f0, this=0x64624938) Init("SoundSystems", piSystem=0x646244f0, this=0x64624b20) Init("GameGUI", piSystem=0x646244f0, this=0x64624c00) Init("GUISystems", piSystem=0x646244f0, this=0x64624f38) Init("GameManagers", piSystem=0x646244f0, this=0x646252e8) CSoundSystemManager::Init -> Sound system initialized using device 'default' LIBGL: Hardware test on current Context... LIBGL: Hardware Limited NPOT detected and used LIBGL: FBO are in core, and so used LIBGL: PointSprite are in core, and so used LIBGL: CubeMap are in core, and so used LIBGL: BlendColor is in core, and so used LIBGL: Blend Substract is in core, and so used LIBGL: Blend Function and Equation Separation is in core, and so used LIBGL: Texture Mirrored Repeat is in core, and so used LIBGL: Extension GL_OES_element_index_uint detected and used LIBGL: Extension GL_EXT_texture_format_BGRA8888 detected and used LIBGL: Extension GL_OES_texture_float detected and used LIBGL: high precision float in fragment shader available and used LIBGL: Extension GL_EXT_frag_depth detected and used LIBGL: Max vertex attrib: 16 LIBGL: Max texture size: 16384 LIBGL: Max Varying Vector: 32 LIBGL: Texture Units: 8(8), Max lights: 8, Max planes: 6 LIBGL: Extension GL_EXT_texture_filter_anisotropic detected and used LIBGL: Max Anisotropic filtering: 16 LIBGL: Hardware vendor is A-EON Technology Ltd. Written by Daniel 'Daytonta675x' Müßener @ GoldenCode.eu CSoundType::LoadOgg -> Loaded Sound Sounds/PointCount.ogg CSoundType::LoadFromFile -> Sounds/PointCount.ogg loaded (0 ms) CSoundType::LoadOgg -> Loaded Sound Sounds/BombCount.ogg CSoundType::LoadFromFile -> Sounds/BombCount.ogg loaded (0 ms) CSoundType::LoadOgg -> Loaded Sound Sounds/BonusLife.ogg CSoundType::LoadFromFile -> Sounds/BonusLife.ogg loaded (0 ms) CSoundType::LoadOgg -> Loaded Sound Sounds/ButtonClick.ogg CSoundType::LoadFromFile -> Sounds/ButtonClick.ogg loaded (0 ms) CSoundType::LoadOgg -> Loaded Sound Sounds/ButtonHover.ogg CSoundType::LoadFromFile -> Sounds/ButtonHover.ogg loaded (0 ms) CSoundType::LoadOgg -> Loaded Sound Sounds/SmallExplosionWithTail.ogg CSoundType::LoadFromFile -> Sounds/SmallExplosionWithTail.ogg loaded (0 ms) CSoundType::LoadOgg -> Loaded Sound Sounds/gameover.ogg CSoundType::LoadFromFile -> Sounds/gameover.ogg loaded (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture GUI/BrownFont.png (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture GUI/WhiteFont.png (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture GUI/GreyFont.png (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture GUI/DarkGreyFont.png (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture GUI/OrangeRedFont.png (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture GUI/BlueFont.png (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture GUI/GreenFont.png (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture GUI/MainFont.png (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture GUI/MainDisabledFont.png (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture GUI/HoverFont.png (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture GUI/WhiteRedFont.png (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture GUI/WhiteLightRedFont.png (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture GUI/Level1Icon.png (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture GUI/Level2Icon.png (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture GUI/Level3Icon.png (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture GUI/Level4Icon.png (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture GUI/Level5Icon.png (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture GUI/GUI-Cursor.png (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture GUI/PlayerIcon.png (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture GUI/BombIcon.png (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture GUI/WeaponIcon.png (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture GUI/VolumeBarFull.png (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture GUI/VolumeBarEmpty.png (0 ms) CSoundType::LoadOgg -> Loaded Sound Sounds/gameover.ogg CSoundType::LoadFromFile -> Sounds/gameover.ogg loaded (0 ms) CSoundType::LoadOgg -> Loaded Sound Sounds/highscore.ogg CSoundType::LoadFromFile -> Sounds/highscore.ogg loaded (0 ms) Init("GameGraphics", piSystem=0x637a81b0, this=0x63516c88) Init("SoundSystems", piSystem=0x637a81b0, this=0x63516e70) Init("GameManagers", piSystem=0x637a81b0, this=0x63516f38) Init("PlayAreaElements", piSystem=0x637a81b0, this=0x63517150) Init("GUISystems", piSystem=0x637a81b0, this=0x63517278) CSoundType::LoadOgg -> Loaded Sound Sounds/intermission.ogg CSoundType::LoadFromFile -> Sounds/intermission.ogg loaded (0 ms) Init("GameGraphics", piSystem=0x6378ec90, this=0x636dc9b8) Init("SoundSystems", piSystem=0x6378ec90, this=0x636dcba0) CSoundType::LoadOgg -> Loaded Sound Sounds/BigExplosion.ogg CSoundType::LoadFromFile -> Sounds/BigExplosion.ogg loaded (0 ms) CSoundType::LoadOgg -> Loaded Sound Sounds/BombFireball.ogg CSoundType::LoadFromFile -> Sounds/BombFireball.ogg loaded (0 ms) CSoundType::LoadOgg -> Loaded Sound Sounds/BombLaunch.ogg CSoundType::LoadFromFile -> Sounds/BombLaunch.ogg loaded (0 ms) CSoundType::LoadOgg -> Loaded Sound Sounds/BonusLife.ogg CSoundType::LoadFromFile -> Sounds/BonusLife.ogg loaded (0 ms) CSoundType::LoadOgg -> Loaded Sound Sounds/BossBullet.ogg CSoundType::LoadFromFile -> Sounds/BossBullet.ogg loaded (0 ms) CSoundType::LoadOgg -> Loaded Sound Sounds/BulletHit.ogg CSoundType::LoadFromFile -> Sounds/BulletHit.ogg loaded (0 ms) CSoundType::LoadOgg -> Loaded Sound Sounds/FighterCrash.ogg CSoundType::LoadFromFile -> Sounds/FighterCrash.ogg loaded (0 ms) CSoundType::LoadOgg -> Loaded Sound Sounds/FighterExplosion.ogg CSoundType::LoadFromFile -> Sounds/FighterExplosion.ogg loaded (0 ms) CSoundType::LoadOgg -> Loaded Sound Sounds/MediumExplosion.ogg CSoundType::LoadFromFile -> Sounds/MediumExplosion.ogg loaded (0 ms) CSoundType::LoadOgg -> Loaded Sound Sounds/PlayerBullet.ogg CSoundType::LoadFromFile -> Sounds/PlayerBullet.ogg loaded (0 ms) CSoundType::LoadOgg -> Loaded Sound Sounds/BonusBomb.ogg CSoundType::LoadFromFile -> Sounds/BonusBomb.ogg loaded (0 ms) CSoundType::LoadOgg -> Loaded Sound Sounds/BonusWeapon.ogg CSoundType::LoadFromFile -> Sounds/BonusWeapon.ogg loaded (0 ms) CSoundType::LoadOgg -> Loaded Sound Sounds/SmallExplosion.ogg CSoundType::LoadFromFile -> Sounds/SmallExplosion.ogg loaded (0 ms) CSoundType::LoadOgg -> Loaded Sound Sounds/SmallExplosionWithTail.ogg CSoundType::LoadFromFile -> Sounds/SmallExplosionWithTail.ogg loaded (0 ms) CSoundType::LoadOgg -> Loaded Sound Sounds/StructureHit.ogg CSoundType::LoadFromFile -> Sounds/StructureHit.ogg loaded (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture Smoke.png (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture Point.png (0 ms) Init("ParticleSystems", piSystem=0x63516a60, this=0x636c43e0) Init("AnimationSystems", piSystem=0x63756f60, this=0x635e9230) Init("SoundSystems", piSystem=0x63756f60, this=0x635e9438) Init("GameGraphics", piSystem=0x63756f60, this=0x635e9500) Init("WeaponTypes", piSystem=0x636a9d58, this=0x63516928) Init("GroundUnitTypes", piSystem=0x636be1e0, this=0x63769008) Init("AirUnitTypes", piSystem=0x636be1e0, this=0x63769208) Init("BonusTypes", piSystem=0x636be1e0, this=0x63769300) COpenGLTexture::LoadFromFile -> Loaded texture PointBonusFont.png (0 ms) Init("PlayAreaElements", piSystem=0x632962c0, this=0x62d8f3a8) COpenGLTexture::LoadFromFile -> Loaded texture Textures/sandPeq.png (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture Textures/Level3TerrainColorMap.png (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture Textures/Clouds.png (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture Textures/WaterB.png (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture Textures/WaterB.png (0 ms) COpenGLModel::LoadFromFile -> Loaded model Models/Background.ase (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture Dreadnought.png (0 ms) COpenGLModel::LoadFromFile -> Loaded model Models/Dreadnought.ase (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture DreadnoughtTurret.png (0 ms) COpenGLModel::LoadFromFile -> Loaded model Models/DreadnoughtTurret.ase (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture DreadnoughtTurretDamageA.png (0 ms) COpenGLModel::LoadFromFile -> Loaded model Models/DreadnoughtTurretDamageA.ase (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture DreadnoughtTurretDamageB.png (0 ms) COpenGLModel::LoadFromFile -> Loaded model Models/DreadnoughtTurretDamageB.ase (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture DreadnoughtTurretDestroyed.png (0 ms) COpenGLModel::LoadFromFile -> Loaded model Models/DreadnoughtTurretDestroyed.ase (0 ms) COpenGLModel::LoadFromFile -> Loaded model Models/DreadnoughtCannon.ase (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture EnemyBullet.png (0 ms) COpenGLModel::LoadFromFile -> Loaded model Models/EnemyBullet.ase (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture DreadnoughtTower.png (0 ms) COpenGLModel::LoadFromFile -> Loaded model Models/DreadnoughtTower.ase (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture DreadnoughtTowerWeapon.png (0 ms) COpenGLModel::LoadFromFile -> Loaded model Models/DreadnoughtTowerWeapon.ase (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture DreadnoughtTowerDestroyed.png (0 ms) COpenGLModel::LoadFromFile -> Loaded model Models/DreadnoughtTowerDestroyed.ase (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture Destroyer.png (0 ms) COpenGLModel::LoadFromFile -> Loaded model Models/Destroyer.ase (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture DestroyerTurret.png (0 ms) COpenGLModel::LoadFromFile -> Loaded model Models/DestroyerTurret.ase (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture DestroyerTurretDamageA.png (0 ms) COpenGLModel::LoadFromFile -> Loaded model Models/DestroyerTurretDamageA.ase (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture DestroyerTurretDamageB.png (0 ms) COpenGLModel::LoadFromFile -> Loaded model Models/DestroyerTurretDamageB.ase (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture DestroyerTurretDestroyed.png (0 ms) COpenGLModel::LoadFromFile -> Loaded model Models/DestroyerTurretDestroyed.ase (0 ms) COpenGLModel::LoadFromFile -> Loaded model Models/DestroyerCannon.ase (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture Frigate.png (0 ms) COpenGLModel::LoadFromFile -> Loaded model Models/Frigate.ase (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture SmallShipTurret.png (0 ms) COpenGLModel::LoadFromFile -> Loaded model Models/SmallShipTurret.ase (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture SmallShipTurretDestroyed.png (0 ms) COpenGLModel::LoadFromFile -> Loaded model Models/SmallShipTurretDestroyed.ase (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture SmallShipCannon.png (0 ms) COpenGLModel::LoadFromFile -> Loaded model Models/SmallShipCannon.ase (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture SmallShipBody.png (0 ms) COpenGLModel::LoadFromFile -> Loaded model Models/SmallShip.ase (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture SmallShipBodyDestroyed.png (0 ms) COpenGLModel::LoadFromFile -> Loaded model Models/SmallShipDestroyed.ase (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture MediumBomber.png (0 ms) COpenGLModel::LoadFromFile -> Loaded model Models/MediumBomber.ase (0 ms) COpenGLModel::LoadFromFile -> Loaded model Models/MediumBomberPropeller.ase (0 ms) COpenGLTexture::LoadFromFile -> Loaded texture BigBomber.png (0 ms) COpenGLModel::LoadFromFile -> Loaded model Models/BigBomberPropeller.ase (0 ms) COpenGLModel::LoadFromFile -> Loaded model Models/BigBomber.ase (0 ms) COpenGLShader::Compile -> Vertex Shader compilation Failed ERROR: Code generation failed. Error log: Bad CompositeConstruct instruction; input/output size mismatch (input: 4, output: 1). 278: OpCompositeConstruct: FloatVector4[2]: tmp278 << tmp266 #define ENABLE_FOG #define ENABLE_TEXTURES #define TEXTURE_UNITS 1 #define ENABLE_LIGHTING uniform int g_ActiveLights; uniform vec3 g_vHeightFogMins; uniform vec3 g_vHeightFogMaxs; uniform mat4 CameraModelViewInverse; varying vec3 g_WorldVertexPos; varying vec4 g_EyeVertexPos; #ifdef ENABLE_SKY_SHADOW uniform vec4 SkyData; #endif #ifdef ENABLE_LIGHTING varying vec4 g_ambdiffspec; #ifdef ENABLE_NORMAL_MAP varying vec3 g_TangentSpaceX; varying vec3 g_TangentSpaceY; varying vec3 g_TangentSpaceZ; #else varying vec3 g_normal; #endif void PointLight(const in int i, const in vec3 ecPosition3, const in vec3 normal, inout vec4 ambient, inout vec4 diffuse, inout vec4 specular) { // Compute distance between surface and light position float d = length(gl_LightSource[i].position.xyz - ecPosition3); vec3 L = normalize(gl_LightSource[i].position.xyz - ecPosition3); float lambertTerm = max(dot(normal,L),0.0); float attenuation = 1.0 / (gl_LightSource[i].constantAttenuation +gl_LightSource[i].linearAttenuation * d +gl_LightSource[i].quadraticAttenuation * d * d); ambient+= gl_LightSource[i].ambient*lambertTerm * attenuation; diffuse +=gl_LightSource[i].diffuse*lambertTerm* attenuation; if(gl_FrontMaterial.shininess>0.0) { vec3 E = normalize(-ecPosition3); vec3 R = reflect(-L, normal); float specularFactor = pow(max(dot(R, E), 0.0),gl_FrontMaterial.shininess); specular += gl_LightSource[i].specular *gl_FrontMaterial.specular* specularFactor * attenuation; } } #endif #ifdef ENABLE_FOG varying float g_fFogFactor; #endif void GetTagent(const in vec3 normal, out vec3 tangent) { vec3 c1 = cross(normal, vec3(0.0, 0.0, 1.0)); vec3 c2 = cross(normal, vec3(0.0, 1.0, 0.0)); tangent = normalize((length(c1)>length(c2))?c1:c2); } void main (void) { vec4 LocalVertexPos=gl_Vertex; g_EyeVertexPos=gl_ModelViewMatrix * LocalVertexPos; vec4 WorldVertexPos=CameraModelViewInverse * g_EyeVertexPos; g_WorldVertexPos=WorldVertexPos.xyz; #ifdef ENABLE_LIGHTING #ifdef ENABLE_NORMAL_MAP vec3 vTangent; vec3 g_normal=normalize(gl_NormalMatrix * gl_Normal); GetTagent(gl_Normal,vTangent); vec3 n = g_normal; vec3 t = normalize(gl_NormalMatrix * vTangent); vec3 b = cross(n, t); g_TangentSpaceX=t; g_TangentSpaceY=b; g_TangentSpaceZ=n; #else g_normal=normalize(gl_NormalMatrix * gl_Normal); #endif #endif vec4 amb=vec4(0); vec4 diff=vec4(0); vec4 spec=vec4(0); gl_Position = ftransform(); #ifdef ENABLE_LIGHTING for(int x=1;x 1 gl_TexCoord[1]=gl_TextureMatrix[1]*gl_MultiTexCoord1; #endif #endif #ifdef ENABLE_NORMAL_MAP gl_TexCoord[NORMAL_MAP_TEXTURE_LEVEL]=gl_TextureMatrix[NORMAL_MAP_TEXTURE_LEVEL]*gl_MultiTexCoord2; #endif #ifdef ENABLE_SKY_SHADOW gl_TexCoord[SKY_TEXTURE_LEVEL].s = (g_WorldVertexPos.x/SkyData.y)+SkyData.x; gl_TexCoord[SKY_TEXTURE_LEVEL].t = (g_WorldVertexPos.z/SkyData.z); gl_TexCoord[SKY_TEXTURE_LEVEL].p = 0.0; gl_TexCoord[SKY_TEXTURE_LEVEL].q = 0.0; #endif #ifdef ENABLE_SHADOWS gl_TexCoord[SHADOW_TEXTURE_LEVEL].s = dot(g_EyeVertexPos, gl_EyePlaneS[SHADOW_TEXTURE_LEVEL]); gl_TexCoord[SHADOW_TEXTURE_LEVEL].t = dot(g_EyeVertexPos, gl_EyePlaneT[SHADOW_TEXTURE_LEVEL]); gl_TexCoord[SHADOW_TEXTURE_LEVEL].p = dot(g_EyeVertexPos, gl_EyePlaneR[SHADOW_TEXTURE_LEVEL]); gl_TexCoord[SHADOW_TEXTURE_LEVEL].q = dot(g_EyeVertexPos, gl_EyePlaneQ[SHADOW_TEXTURE_LEVEL]); #endif } COpenGLShader::Compile -> Vertex Shader compilation Failed ERROR: Code generation failed. Error log: Bad CompositeConstruct instruction; input/output size mismatch (input: 4, output: 1). 137: OpCompositeConstruct: FloatVector4[2]: tmp137 << tmp108 #define ENABLE_FOG #define ENABLE_WATER #define ENABLE_TEXTURES #define TEXTURE_UNITS 1 uniform int g_ActiveLights; uniform vec3 g_vHeightFogMins; uniform vec3 g_vHeightFogMaxs; uniform mat4 CameraModelViewInverse; varying vec3 g_WorldVertexPos; varying vec4 g_EyeVertexPos; #ifdef ENABLE_SKY_SHADOW uniform vec4 SkyData; #endif #ifdef ENABLE_LIGHTING varying vec4 g_ambdiffspec; #ifdef ENABLE_NORMAL_MAP varying vec3 g_TangentSpaceX; varying vec3 g_TangentSpaceY; varying vec3 g_TangentSpaceZ; #else varying vec3 g_normal; #endif void PointLight(const in int i, const in vec3 ecPosition3, const in vec3 normal, inout vec4 ambient, inout vec4 diffuse, inout vec4 specular) { // Compute distance between surface and light position float d = length(gl_LightSource[i].position.xyz - ecPosition3); vec3 L = normalize(gl_LightSource[i].position.xyz - ecPosition3); float lambertTerm = max(dot(normal,L),0.0); float attenuation = 1.0 / (gl_LightSource[i].constantAttenuation +gl_LightSource[i].linearAttenuation * d +gl_LightSource[i].quadraticAttenuation * d * d); ambient+= gl_LightSource[i].ambient*lambertTerm * attenuation; diffuse +=gl_LightSource[i].diffuse*lambertTerm* attenuation; if(gl_FrontMaterial.shininess>0.0) { vec3 E = normalize(-ecPosition3); vec3 R = reflect(-L, normal); float specularFactor = pow(max(dot(R, E), 0.0),gl_FrontMaterial.shininess); specular += gl_LightSource[i].specular *gl_FrontMaterial.specular* specularFactor * attenuation; } } #endif #ifdef ENABLE_FOG varying float g_fFogFactor; #endif void GetTagent(const in vec3 normal, out vec3 tangent) { vec3 c1 = cross(normal, vec3(0.0, 0.0, 1.0)); vec3 c2 = cross(normal, vec3(0.0, 1.0, 0.0)); tangent = normalize((length(c1)>length(c2))?c1:c2); } void main (void) { vec4 LocalVertexPos=gl_Vertex; g_EyeVertexPos=gl_ModelViewMatrix * LocalVertexPos; vec4 WorldVertexPos=CameraModelViewInverse * g_EyeVertexPos; g_WorldVertexPos=WorldVertexPos.xyz; #ifdef ENABLE_LIGHTING #ifdef ENABLE_NORMAL_MAP vec3 vTangent; vec3 g_normal=normalize(gl_NormalMatrix * gl_Normal); GetTagent(gl_Normal,vTangent); vec3 n = g_normal; vec3 t = normalize(gl_NormalMatrix * vTangent); vec3 b = cross(n, t); g_TangentSpaceX=t; g_TangentSpaceY=b; g_TangentSpaceZ=n; #else g_normal=normalize(gl_NormalMatrix * gl_Normal); #endif #endif vec4 amb=vec4(0); vec4 diff=vec4(0); vec4 spec=vec4(0); gl_Position = ftransform(); #ifdef ENABLE_LIGHTING for(int x=1;x 1 gl_TexCoord[1]=gl_TextureMatrix[1]*gl_MultiTexCoord1; #endif #endif #ifdef ENABLE_NORMAL_MAP gl_TexCoord[NORMAL_MAP_TEXTURE_LEVEL]=gl_TextureMatrix[NORMAL_MAP_TEXTURE_LEVEL]*gl_MultiTexCoord2; #endif #ifdef ENABLE_SKY_SHADOW gl_TexCoord[SKY_TEXTURE_LEVEL].s = (g_WorldVertexPos.x/SkyData.y)+SkyData.x; gl_TexCoord[SKY_TEXTURE_LEVEL].t = (g_WorldVertexPos.z/SkyData.z); gl_TexCoord[SKY_TEXTURE_LEVEL].p = 0.0; gl_TexCoord[SKY_TEXTURE_LEVEL].q = 0.0; #endif #ifdef ENABLE_SHADOWS gl_TexCoord[SHADOW_TEXTURE_LEVEL].s = dot(g_EyeVertexPos, gl_EyePlaneS[SHADOW_TEXTURE_LEVEL]); gl_TexCoord[SHADOW_TEXTURE_LEVEL].t = dot(g_EyeVertexPos, gl_EyePlaneT[SHADOW_TEXTURE_LEVEL]); gl_TexCoord[SHADOW_TEXTURE_LEVEL].p = dot(g_EyeVertexPos, gl_EyePlaneR[SHADOW_TEXTURE_LEVEL]); gl_TexCoord[SHADOW_TEXTURE_LEVEL].q = dot(g_EyeVertexPos, gl_EyePlaneQ[SHADOW_TEXTURE_LEVEL]); #endif } COpenGLShader::Compile -> Shader link Succeeded