Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- May 31, 2014 2:43:52 PM com.jme3.system.Natives extractNativeLibs
- INFO: Extraction Directory: C:\Users\Administrator\Desktop
- May 31, 2014 2:43:53 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
- INFO: Lwjgl 2.9.0 context running on thread LWJGL Renderer Thread
- May 31, 2014 2:43:53 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
- INFO: Adapter: aticfx64
- May 31, 2014 2:43:53 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
- INFO: Driver Version: 8.17.10.1280
- May 31, 2014 2:43:53 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
- INFO: Vendor: ATI Technologies Inc.
- May 31, 2014 2:43:53 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
- INFO: OpenGL Version: 4.4.12874 Compatibility Profile Context 14.100.0.0
- May 31, 2014 2:43:53 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
- INFO: Renderer: AMD Radeon HD 5670
- May 31, 2014 2:43:53 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
- INFO: GLSL Ver: 4.30
- May 31, 2014 2:43:53 PM com.jme3.asset.AssetConfig loadText
- WARNING: Cannot find loader com.jme3.audio.plugins.OGGLoader
- May 31, 2014 2:43:53 PM com.jme3.asset.AssetConfig loadText
- WARNING: Cannot find loader com.jme3.scene.plugins.blender.BlenderModelLoader
- May 31, 2014 2:43:53 PM com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread
- INFO: Audio Device: OpenAL Soft
- May 31, 2014 2:43:53 PM com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread
- INFO: Audio Vendor: OpenAL Community
- May 31, 2014 2:43:53 PM com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread
- INFO: Audio Renderer: OpenAL Soft
- May 31, 2014 2:43:53 PM com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread
- INFO: Audio Version: 1.1 ALSOFT 1.15.1
- May 31, 2014 2:43:53 PM com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread
- INFO: AudioRenderer supports 64 channels
- May 31, 2014 2:43:53 PM com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread
- INFO: Audio effect extension version: 1.0
- May 31, 2014 2:43:53 PM com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread
- INFO: Audio max auxilary sends: 4
- 14:43:53,548 INFO [GuiGlobals] Initializing GuiGlobals with:com.simsilica.lemur
- .GuiGlobals@1c19b340
- 14:43:53,556 INFO [GuiGlobals] Lemur build date:20140531
- 14:43:55,891 INFO [MeshBuilder] Creating a mesh with:6020 vertexes and:10488 tr
- iangles.
- 14:43:55,907 INFO [MeshBuilder] Creating a mesh with:102 vertexes and:82 triang
- les.
- 14:43:55,912 INFO [MeshBuilder] Creating a mesh with:102 vertexes and:82 triang
- les.
- 14:43:55,920 INFO [MeshBuilder] Creating a mesh with:102 vertexes and:82 triang
- les.
- 14:43:56,021 INFO [MeshBuilder] Creating a mesh with:6020 vertexes and:10488 tr
- iangles.
- 14:43:56,398 INFO [MeshBuilder] Creating a mesh with:6020 vertexes and:10488 tr
- iangles.
- 14:43:56,411 INFO [MeshBuilder] Creating a mesh with:102 vertexes and:82 triang
- les.
- 14:43:56,416 INFO [MeshBuilder] Creating a mesh with:102 vertexes and:82 triang
- les.
- 14:43:56,422 INFO [MeshBuilder] Creating a mesh with:102 vertexes and:82 triang
- les.
- 14:44:01,559 INFO [MeshBuilder] Creating a mesh with:6020 vertexes and:10488 tr
- iangles.
- Quad size:1.0
- 14:44:01,566 INFO [MeshBuilder] Creating a mesh with:102 vertexes and:82 triang
- les.
- Quad size:1.0
- 14:44:01,572 INFO [MeshBuilder] Creating a mesh with:102 vertexes and:82 triang
- les.
- Quad size:1.0
- 14:44:01,579 INFO [MeshBuilder] Creating a mesh with:102 vertexes and:82 triang
- les.
- Quad size:1.0
- 14:44:01,606 INFO [MeshBuilder] Creating a mesh with:6020 vertexes and:10488 tr
- iangles.
- Quad size:1.0
- May 31, 2014 2:44:01 PM com.jme3.renderer.lwjgl.LwjglRenderer updateShaderSource
- Data
- WARNING: Bad compile of:
- 1 #version 110
- 2 #define DIFFUSEMAP_ALPHA 1
- 3 #ifdef NUM_BONES
- 4
- 5 #if NUM_BONES < 1 || NUM_BONES > 255
- 6 #error NUM_BONES must be between 1 and 255.
- 7 #endif
- 8
- 9 #define NUM_WEIGHTS_PER_VERT 4
- 10
- 11 attribute vec4 inHWBoneWeight;
- 12 attribute vec4 inHWBoneIndex;
- 13 uniform mat4 m_BoneMatrices[NUM_BONES];
- 14
- 15 void Skinning_Compute(inout vec4 position){
- 16 if (inHWBoneWeight.x != 0.0) {
- 17 #if NUM_WEIGHTS_PER_VERT == 1
- 18 position = m_BoneMatrices[int(inHWBoneIndex.x)] * position;
- 19 #else
- 20 mat4 mat = mat4(0.0);
- 21 mat += m_BoneMatrices[int(inHWBoneIndex.x)] * inHWBoneWeight.x;
- 22 mat += m_BoneMatrices[int(inHWBoneIndex.y)] * inHWBoneWeight.y;
- 23 mat += m_BoneMatrices[int(inHWBoneIndex.z)] * inHWBoneWeight.z;
- 24 mat += m_BoneMatrices[int(inHWBoneIndex.w)] * inHWBoneWeight.w;
- 25 position = mat * position;
- 26 #endif
- 27 }
- 28 }
- 29
- 30 void Skinning_Compute(inout vec4 position, inout vec3 normal){
- 31 if (inHWBoneWeight.x != 0.0) {
- 32 #if NUM_WEIGHTS_PER_VERT == 1
- 33 position = m_BoneMatrices[int(inHWBoneIndex.x)] * position;
- 34 normal = (mat3(m_BoneMatrices[int(inHWBoneIndex.x)][0].xyz,
- 35 m_BoneMatrices[int(inHWBoneIndex.x)][1].xyz,
- 36 m_BoneMatrices[int(inHWBoneIndex.x)][2].xyz) * no
- rmal);
- 37 #else
- 38 mat4 mat = mat4(0.0);
- 39 mat += m_BoneMatrices[int(inHWBoneIndex.x)] * inHWBoneWeight.x;
- 40 mat += m_BoneMatrices[int(inHWBoneIndex.y)] * inHWBoneWeight.y;
- 41 mat += m_BoneMatrices[int(inHWBoneIndex.z)] * inHWBoneWeight.z;
- 42 mat += m_BoneMatrices[int(inHWBoneIndex.w)] * inHWBoneWeight.w;
- 43 position = mat * position;
- 44
- 45 mat3 rotMat = mat3(mat[0].xyz, mat[1].xyz, mat[2].xyz);
- 46 normal = rotMat * normal;
- 47 #endif
- 48 }
- 49 }
- 50
- 51 void Skinning_Compute(inout vec4 position, inout vec3 tangent, inout vec
- 3 normal){
- 52 if (inHWBoneWeight.x != 0.0) {
- 53 #if NUM_WEIGHTS_PER_VERT == 1
- 54 position = m_BoneMatrices[int(inHWBoneIndex.x)] * position;
- 55 tangent = m_BoneMatrices[int(inHWBoneIndex.x)] * tangent;
- 56 normal = (mat3(m_BoneMatrices[int(inHWBoneIndex.x)][0].xyz,
- 57 m_BoneMatrices[int(inHWBoneIndex.x)][1].xyz,
- 58 m_BoneMatrices[int(inHWBoneIndex.x)][2].xyz) * no
- rmal);
- 59 #else
- 60 mat4 mat = mat4(0.0);
- 61 mat += m_BoneMatrices[int(inHWBoneIndex.x)] * inHWBoneWeight.x;
- 62 mat += m_BoneMatrices[int(inHWBoneIndex.y)] * inHWBoneWeight.y;
- 63 mat += m_BoneMatrices[int(inHWBoneIndex.z)] * inHWBoneWeight.z;
- 64 mat += m_BoneMatrices[int(inHWBoneIndex.w)] * inHWBoneWeight.w;
- 65 position = mat * position;
- 66
- 67 mat3 rotMat = mat3(mat[0].xyz, mat[1].xyz, mat[2].xyz);
- 68 tangent = rotMat * tangent;
- 69 normal = rotMat * normal;
- 70 #endif
- 71 }
- 72 }
- 73
- 74 #endif
- 75 uniform mat4 g_WorldViewProjectionMatrix;
- 76 uniform mat3 g_NormalMatrix;
- 77
- 78 uniform mat4 g_WorldMatrix;
- 79 uniform mat4 g_ViewMatrix;
- 80 uniform mat4 g_ViewProjectionMatrix;
- 81 uniform vec3 g_CameraPosition;
- 82
- 83 uniform mat4 g_ProjectionMatrix;
- 84 uniform mat4 g_WorldViewMatrix;
- 85
- 86 attribute vec3 inPosition;
- 87 attribute vec3 inNormal;
- 88 attribute vec4 inTexCoord;
- 89 attribute vec3 inSize;
- 90
- 91 varying vec3 normal;
- 92 varying vec2 texCoord;
- 93
- 94 void main(void)
- 95 {
- 96 vec4 modelSpacePos = vec4(inPosition, 1.0);
- 97 vec3 modelSpaceNorm = inNormal;
- 98
- 99 // ** Added sections indicated with '**' comments
- 100
- 101 // ** inTexCoord contains the real tex coord for the atlas
- 102 // ** and the corner indicator
- 103 texCoord = inTexCoord.zw;
- 104 vec2 corner = inTexCoord.xy;
- 105
- 106 // ** Project the model space position down the normal just
- 107 // ** slightly
- 108 modelSpacePos.xyz += modelSpaceNorm * 0.1;
- 109
- 110 // ** original gl_Position calculation bypassed
- 111 // gl_Position = g_WorldViewProjectionMatrix * modelSpacePos;
- 112 // texCoord = inTexCoord;
- 113
- 114 // ** #if block for position and normal calculation depending
- 115 // ** on billboard type.
- 116 //
- 117 // For some reason, the non-parallel version is not working.
- 118 // SCREEN_PARALLEL is good enough for my normal map generation
- 119 // but will probably look strange for SSAO
- 120 #define SCREEN_PARALLEL
- 121 #ifdef SCREEN_PARALLEL
- 122 // Billboard corners are calculated in straight view
- 123 // space and so will rotated to be parallel to the screen
- 124 // even as the camera turns (which can be unnerving)
- 125 vec3 wvPosition = (g_WorldViewMatrix * modelSpacePos).xyz;
- 126 wvPosition.x += (corner.x - 0.5) * inSize;
- 127 wvPosition.y += (corner.y - 0.5) * inSize;
- 128
- 129 gl_Position = g_ProjectionMatrix * vec4(wvPosition, 1.0);
- 130
- 131 vec3 wvNormal = normalize(vec3(corner.x - 0.5, corner.y - 0.5, 0
- .5));
- 132 #else
- 133
- 134 // Get the world position (not world view) because
- 135 // billboarding will be done in world space
- 136 vec4 wPosition = g_WorldMatrix * modelSpacePos;
- 137
- 138 // Calculate the screen parallel axis vectors
- 139 vec3 dir = normalize(wPosition.xyz - g_CameraPosition);
- 140 vec3 left = normalize(cross(dir, vec3(0.0, 1.0, 0.0)));
- 141 vec3 up = normalize(cross(left, dir));
- 142 vec3 billboardNormal = normalize(cross(left, up));
- 143
- 144 // Move the corners out relative to our calculated
- 145 // axes and scaled by inSize
- 146 wPosition.xyz += left * (corner.x - 0.5) * inSize;
- 147 wPosition.xyz += up * (corner.y - 0.5) * inSize;
- 148
- 149 // Push it a little towards the camera (should maybe be a parame
- ter)
- 150 wPosition.xyz += billboardNormal * 0.5;
- 151
- 152 // Calculate the world view position
- 153 vec3 wvPosition = (g_ViewMatrix * wPosition).xyz;
- 154
- 155 gl_Position = g_ViewProjectionMatrix * wPosition;
- 156
- 157 // Calculate a splayed set of normals based on the corner to sim
- ulate
- 158 // curvature. This allows the billboard to be lit no matter the
- 159 // current direction.
- 160 // Normal is calculated by mixing the real world-normal for the
- 161 // surface with the splayed normal.
- 162 vec3 wNormal = (g_WorldMatrix * vec4(modelSpaceNorm, 0.0)).xyz *
- 0.1;
- 163 wNormal += left * (corner.x - 0.5);
- 164 wNormal += up * (corner.y - 0.5);
- 165 wNormal += billboardNormal * 0.5;
- 166
- 167 // Now convert the world normal to world view space
- 168 vec3 wvNormal = normalize((g_ViewMatrix * vec4(wNormal, 0.0)).xy
- z);
- 169
- 170 #endif
- 171
- 172
- 173 normal = wvNormal;
- 174 }
- May 31, 2014 2:44:01 PM com.jme3.app.Application handleError
- SEVERE: Uncaught exception thrown in Thread[LWJGL Renderer Thread,5,main]
- com.jme3.renderer.RendererException: compile error in:ShaderSource[name=MatDefs/
- LeafNormal.vert, defines, type=Vertex, language=GLSL110] error:Vertex shader fai
- led to compile with the following errors:
- ERROR: 0:126: error(#160) Cannot convert from: "3-component vector of vec3" to:
- "highp float"
- ERROR: 0:127: error(#160) Cannot convert from: "3-component vector of vec3" to:
- "highp float"
- ERROR: error(#273) 2 compilation errors. No code generated
- at com.jme3.renderer.lwjgl.LwjglRenderer.updateShaderSourceData(LwjglRen
- derer.java:1034)
- at com.jme3.renderer.lwjgl.LwjglRenderer.updateShaderData(LwjglRenderer.
- java:1057)
- at com.jme3.renderer.lwjgl.LwjglRenderer.setShader(LwjglRenderer.java:11
- 23)
- at com.jme3.material.Material.render(Material.java:1131)
- at com.jme3.renderer.RenderManager.renderGeometry(RenderManager.java:541
- )
- at com.jme3.renderer.queue.RenderQueue.renderGeometryList(RenderQueue.ja
- va:322)
- at com.jme3.renderer.queue.RenderQueue.renderQueue(RenderQueue.java:380)
- at com.jme3.renderer.RenderManager.renderViewPortQueues(RenderManager.ja
- va:800)
- at com.jme3.renderer.RenderManager.flushQueue(RenderManager.java:737)
- at com.jme3.renderer.RenderManager.renderViewPort(RenderManager.java:100
- 1)
- at com.jme3.renderer.RenderManager.render(RenderManager.java:1047)
- at com.jme3.app.SimpleApplication.update(SimpleApplication.java:252)
- at com.jme3.system.lwjgl.LwjglAbstractDisplay.runLoop(LwjglAbstractDispl
- ay.java:151)
- at com.jme3.system.lwjgl.LwjglDisplay.runLoop(LwjglDisplay.java:185)
- at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.j
- ava:228)
- at java.lang.Thread.run(Thread.java:724)
Advertisement
Add Comment
Please, Sign In to add comment