luke.errington Posted July 25, 2011 Share Posted July 25, 2011 Using the double-precision version of Unigine, and the editor scripts that come with Unigine, any attempt to create terrain, whether through importing or creating causes the editor to stop working. The mouse icon gets stuck on the terrain icon, and the application is from then on functionally unresponsive. The following log shows what is happening. There seems to be an error in a conversion from vec3 to dvec3 which triggers a catastrophe. Since this seems to come from Controls::place_node() I tried this with just placing a mesh, and got the same 'crash'. Thus, the editor isn't really useful for placing any node. This seems a pretty fundamental problem. Even within our own applications that are using Unigine we see this sort of error but in different contexts, and I'm not sure what is triggering it. Hopefully this can be fixed quickly. Loading "C:/src/Unigine/Unigine SDK - binary/bin/unigine.cfg"...Loading "dxgi.dll"... Set 1024x768 windowed video mode Set 1.00 gamma value Unigine engine http://unigine.com/ Binary: Windows 32bit Visual C++ 1600 Debug Jul 21 2011 r7184 Features: OpenGL Direct3D9 Direct3D10 Direct3D11 OpenAL XPad360 Joystick Editor Double App path: C:/src/Unigine/Unigine SDK - binary/bin/ Data path: C:/src/Unigine/Unigine SDK - binary/data/ Save path: C:/src/Unigine/Unigine SDK - binary/bin/ ---- System ---- System: Windows 7 (build 7601, Service Pack 1) 64bit CPU: Intel® Core i7-2600 CPU @ 3.40GHz 3392MHz MMX SSE SSE2 SSE3 SSSE3 SSE 41 SSE42 HTT x4 GPU: NVIDIA GeForce GTX 460 8.17.12.6311 x1 System memory: 4078 Mb Video memory: 1024 Mb Sync threads: 4 Async threads: 4 ---- MathLib ---- Set SSE simd processor ---- Sound ---- NULL ---- Render ---- Renderer: NVIDIA NV60 1024Mb Direct3D11 desc: NVIDIA GeForce GTX 460 Found feature level 11.0 Found compute shader 11.0 Maximum texture size: 16384 Maximum texture units: 16 Maximum texture renders: 8 ---- Physics ---- Physics: Multi-threaded ---- PathFind ---- PathFind: Multi-threaded ---- Interpreter ---- Version: 2.41 Loading "unigine.cpp" 47ms Loading "core/materials/default/unigine_post.mat" 15 materials 21 shaders 0ms Loading "core/materials/default/unigine_render.mat" 37 materials 311 shaders 7ms Loading "core/materials/default/unigine_meshes.mat" 18 materials 11031 shaders 5 9ms Loading "core/materials/default/unigine_terrains.mat" 2 materials 432 shaders 2m s Loading "core/materials/default/unigine_grass.mat" 1 material 69 shaders 3ms Loading "core/materials/default/unigine_particles.mat" 1 material 47 shaders 3ms Loading "core/materials/default/unigine_billboards.mat" 1 material 51 shaders 3m s Loading "core/materials/default/unigine_volumes.mat" 6 materials 45 shaders 6ms Loading "core/materials/default/unigine_guis.mat" 1 material 82 shaders 1ms Loading "core/materials/default/unigine_water.mat" 1 material 117 shaders 5ms Loading "core/materials/default/unigine_skies.mat" 1 material 13 shaders 7ms Loading "core/materials/default/unigine_decals.mat" 1 material 99 shaders 3ms Loading "core/properties/unigine.prop" 2 properties 0ms Unigine~# editor_load Loading "core/editor/editor.cpp" 205ms ---- Editor ---- Version: 0.58 Unigine~# world_load C:/src/TestTerrain/terrain_world Loading "C:/src/TestTerrain/terrain_world.cpp" 0ms Loading "C:/src/TestTerrain/terrain_world.world" 0ms Variable::getDVec3Safe(): can't convert vec3 to dvec3 Stack dump: 0x0000: vec3: 0 0 0 0x0001: vec4: 1 0 0 1 Call stack: 00: 0x00052d50 Controls::place_node() 01: 0x000530d9 Controls::update() 02: 0x00053424 controlsUpdate() 03: 0x00053f33 update() Disassemble: 0x00052e40: callef engine.visualizer.renderVector 0x00052e42: pop 0x00052e43: pushv s 0x00052e45: pushv r 0x00052e47: pushv t Editor::update(): editor update function return 0 Variable::getDVec3Safe(): can't convert vec3 to dvec3 Stack dump: 0x0000: vec3: 0 0 0 0x0001: vec4: 1 0 0 1 0x0002: int: 990 0x0003: int: 989 0x0004: double: 0 0x0005: dvec3: 9523.54 -1560.75 -2620.34 0x0006: Node 00000000 external (52:-1:-1) 0x0007: NodeReference 00000000 external (55:-1:-1) 0x0008: int: 1 0x0009: int: 0 0x000a: int: 0 0x000b: ObjectTerrain 02EE5C40 external (85:0:0) 0x000c: mat4: (1 0 0 0) (0 1 0 0) (0 0 1 0) (0 0 0 1) 0x000d: vec3: 0 0 0 0x000e: vec3: 0 0 0 0x000f: vec3: 0 0 0 0x0010: vec3: 0 0 0 0x0011: float: 1507.82 0x0012: vec3: 0 0 1 0x0013: vec3: 0 0 0 0x0014: dvec3: 9523.54 -1560.75 -2620.34 0x0015: dvec3: 0 0 0 0x0016: int: 0 0x0017: int: 0 0x0018: int: 0 0x0019: ObjectTerrain 02EE5C40 external (85:0:0) 0x001a: int: 992 0x001b: int: 991 0x001c: int: 0 0x001d: int: 0 0x001e: Property 00000000 external (109:-1:-1) 0x001f: Material 00000000 external (108:-1:-1) 0x0020: Object 00000000 external (80:-1:-1) 0x0021: int: 0 0x0022: int: 0 0x0023: string: "" 0x0024: Node 00000000 external (52:0:0) 0x0025: dvec3: 9723.16 -438.567 -2295.17 0x0026: dvec3: 0 0 0 0x0027: double: 48.3581 0x0028: Property 00000000 external (109:-1:-1) 0x0029: Material 00000000 external (108:-1:-1) 0x002a: Object 00000000 external (80:-1:-1) 0x002b: Node 00000000 external (52:-1:-1) 0x002c: NodeReference 00000000 external (55:-1:-1) 0x002d: Node 00000000 external (52:-1:-1) 0x002e: int: 0 0x002f: int: 0 0x0030: int: 0 0x0031: Object 00000000 external (80:-1:-1) 0x0032: Node 00000000 external (52:-1:-1) 0x0033: vec3: 0 0 0 0x0034: vec3: 0 0 0 0x0035: int: 0 0x0036: int: 0 0x0037: int: 0 0x0038: int: 0 Call stack: 00: 0x00052d50 Controls::place_node() 01: 0x000530d9 Controls::update() 02: 0x00053424 controlsUpdate() 03: 0x00053f33 update() Disassemble: 0x00052e40: callef engine.visualizer.renderVector 0x00052e42: pop 0x00052e43: pushv s 0x00052e45: pushv r 0x00052e47: pushv t Editor::update(): editor update function return 0 Variable::getDVec3Safe(): can't convert vec3 to dvec3 Stack dump: 0x0000: vec3: 0 0 0 0x0001: vec4: 1 0 0 1 0x0002: int: 990 0x0003: int: 989 0x0004: double: 0 0x0005: dvec3: 9523.54 -1560.75 -2620.34 0x0006: Node 00000000 external (52:-1:-1) 0x0007: NodeReference 00000000 external (55:-1:-1) 0x0008: int: 1 0x0009: int: 0 0x000a: int: 0 0x000b: ObjectTerrain 02EE5C40 external (85:0:0) 0x000c: mat4: (1 0 0 0) (0 1 0 0) (0 0 1 0) (0 0 0 1) 0x000d: vec3: 0 0 0 0x000e: vec3: 0 0 0 0x000f: vec3: 0 0 0 0x0010: vec3: 0 0 0 0x0011: float: 1507.82 0x0012: vec3: 0 0 1 0x0013: vec3: 0 0 0 0x0014: dvec3: 9523.54 -1560.75 -2620.34 0x0015: dvec3: 0 0 0 0x0016: int: 0 0x0017: int: 0 0x0018: int: 0 0x0019: ObjectTerrain 02EE5C40 external (85:0:0) 0x001a: int: 992 0x001b: int: 991 0x001c: int: 0 0x001d: int: 0 0x001e: Property 00000000 external (109:-1:-1) 0x001f: Material 00000000 external (108:-1:-1) 0x0020: Object 00000000 external (80:-1:-1) 0x0021: int: 0 0x0022: int: 0 0x0023: string: "" 0x0024: Node 00000000 external (52:0:0) 0x0025: dvec3: 9723.16 -438.567 -2295.17 0x0026: dvec3: 0 0 0 0x0027: double: 48.3581 0x0028: Property 00000000 external (109:-1:-1) 0x0029: Material 00000000 external (108:-1:-1) 0x002a: Object 00000000 external (80:-1:-1) 0x002b: Node 00000000 external (52:-1:-1) 0x002c: NodeReference 00000000 external (55:-1:-1) 0x002d: Node 00000000 external (52:-1:-1) 0x002e: int: 0 0x002f: int: 0 0x0030: int: 0 0x0031: Object 00000000 external (80:-1:-1) 0x0032: Node 00000000 external (52:-1:-1) 0x0033: vec3: 0 0 0 0x0034: vec3: 0 0 0 0x0035: int: 0 0x0036: int: 0 0x0037: int: 0 0x0038: int: 0 Call stack: 00: 0x00052d50 Controls::place_node() 01: 0x000530d9 Controls::update() 02: 0x00053424 controlsUpdate() 03: 0x00053f33 update() Disassemble: 0x00052e40: callef engine.visualizer.renderVector 0x00052e42: pop 0x00052e43: pushv s 0x00052e45: pushv r 0x00052e47: pushv t Editor::update(): editor update function return 0 (Just a note that we have also tried this with the single-precision version and everything works correctly.) Link to comment
Recommended Posts