Game Development Community

[Bug 1.0.1] Path Not Rendered in World Editor

by Ryan Mounts · in Torque 3D Professional · 10/28/2009 (2:59 pm) · 0 replies

In the World Editor, I created a path and added some markers to it, but the green path arrows are not rendered when I select the path or markers. Here are the results of some different test scenarios.


Retail Version of Direct3D 9

1. Release Build

The markers are rendered properly as red plus signs, but no path arrows rendered when selected.

2. Debug Build

The markers show up as red plus signs. I can see in VS that "renderSplinePath()" is entered when I select the path or its markers, and the "GFX->drawPrimitive" gets called at the end, but I see no path onscreen.


Debug Version of Direct3D 9 (Max Output Level)

3. Release Build

Same as case 1, as expected.

4. Debug Build

The moment I add a marker in the World Editor, T3D crashes, apparently having trouble drawing the marker. Here's the VS output:

D3D9 Helper: IDirect3DDevice9::DrawIndexedPrimitive failed: E_FAIL
c:torquetorque 3d 2009 sdk 1.0.1enginesourcegfxd3d9gfxd3d9device.h(43) : Fatal - E_FAIL
An undetermined error occurred
Failed to draw indexed primitive
Direct3D9: (ERROR) :Vertex shader function usage (D3DDECLUSAGE_TEXCOORD,0) does not have corresponding usage in the current vertex declaration

Direct3D9: (INFO) :The vertex declaration is (Stream, Offset, Type, Method, Usage, UsageIndex):

Direct3D9: (INFO) :0, 0, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0

Direct3D9: (INFO) :0, 12, D3DDECLTYPE_D3DCOLOR, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_COLOR, 0

First-chance exception at 0x7c812a6b in Cornerstone_DEBUG.exe: Microsoft C++ exception: long at memory location 0x0012bb64..
Direct3D9: (ERROR) :DrawIndexedPrimitive failed.

Here's the callstack:

Cornerstone_DEBUG.dll!Platform::debugBreak()  Line 17
Cornerstone_DEBUG.dll!D3D9Assert(HRESULT hr=E_FAIL, const char * info=0x1110e6b8)  Line 47
Cornerstone_DEBUG.dll!GFXD3D9Device::drawIndexedPrimitive(GFXPrimitiveType primType=GFXLineList, unsigned int startVertex=0, unsigned int minIndex=0, unsigned int numVerts=4, unsigned int startIndex=0, unsigned int primitiveCount=12)  Line 610 + 0x5f bytes
Cornerstone_DEBUG.dll!Marker::renderObject(ObjectRenderInst * ri=0x05906b60, SceneState * state=0x05f19a58, BaseMatInstance * overrideMat=0x0596f058)  Line 410
Cornerstone_DEBUG.dll!fastdelegate::FastDelegate3<ObjectRenderInst *,SceneState *,BaseMatInstance *,void>::operator()(ObjectRenderInst * p1=0x05906b60, SceneState * p2=0x05f19a58, BaseMatInstance * p3=0x0596f058)  Line 1163 + 0x22 bytes
Cornerstone_DEBUG.dll!RenderPrePassMgr::render(SceneState * state=0x05f19a58)  Line 351
Cornerstone_DEBUG.dll!RenderPassManager::render(SceneState * state=0x05f19a58)  Line 298
Cornerstone_DEBUG.dll!SceneState::renderCurrentImages()  Line 160
Cornerstone_DEBUG.dll!SceneGraph::_traverseSceneTree(SceneState * pState=0x05f19a58)  Line 240
Cornerstone_DEBUG.dll!SceneGraph::renderScene(SceneState * sceneState=0x05f19a58, unsigned int objectMask=4294967295)  Line 202
Cornerstone_DEBUG.dll!SceneGraph::renderScene(ScenePassType passType=SPT_Diffuse, unsigned int objectMask=4294967295)  Line 171
Cornerstone_DEBUG.dll!EditTSCtrl::renderWorld(const RectI & updateRect={...})  Line 632
Cornerstone_DEBUG.dll!GuiTSCtrl::onRender(Point2I offset={...}, const RectI & updateRect={...})  Line 255
Cornerstone_DEBUG.dll!EditTSCtrl::onRender(Point2I offset={...}, const RectI & updateRect={...})  Line 181
Cornerstone_DEBUG.dll!GuiControl::renderChildControls(Point2I offset={...}, const RectI & updateRect={...})  Line 191
Cornerstone_DEBUG.dll!GuiControl::onRender(Point2I offset={...}, const RectI & updateRect={...})  Line 65
Cornerstone_DEBUG.dll!GuiCanvas::renderFrame(bool preRenderOnly=false, bool bufferSwap=true)  Line 1559
Cornerstone_DEBUG.dll!GuiCanvas::handlePaintEvent(unsigned int did=0)  Line 220
Cornerstone_DEBUG.dll!fastdelegate::FastDelegate1<unsigned int,void>::operator()(unsigned int p1=0)  Line 993 + 0x1a bytes
Cornerstone_DEBUG.dll!Signal<void __cdecl(unsigned int)>::trigger(unsigned int a=0)  Line 323 + 0x17 bytes
Cornerstone_DEBUG.dll!Journal::Call<Signal<void __cdecl(unsigned int)>,unsigned int>(Signal<void __cdecl(unsigned int)> * obj=0x0265e080, void (unsigned int)* method=0x105879cb, unsigned int a=0)  Line 541 + 0xa8 bytes
Cornerstone_DEBUG.dll!JournaledSignal<void __cdecl(unsigned int)>::trigger(unsigned int a=0)  Line 52 + 0x12 bytes
Cornerstone_DEBUG.dll!GuiCanvas::paint()  Line 1389
Cornerstone_DEBUG.dll!fastdelegate::FastDelegate0<void>::operator()()  Line 908 + 0x16 bytes
Cornerstone_DEBUG.dll!Signal<void __cdecl(void)>::trigger()  Line 312 + 0x13 bytes
Cornerstone_DEBUG.dll!Process::processEvents()  Line 62
Cornerstone_DEBUG.dll!StandardMainLoop::doMainLoop()  Line 542 + 0x5 bytes
Cornerstone_DEBUG.dll!torque_enginetick()  Line 78 + 0x5 bytes
Cornerstone_DEBUG.dll!TorqueMain(int argc=1, const char * * argv=0x00f7cfa0)  Line 369 + 0x5 bytes
Cornerstone_DEBUG.dll!torque_winmain(HINSTANCE__ * hInstance=0x00400000, HINSTANCE__ * __formal=0x00000000, char * lpszCmdLine=0x00151f38, HINSTANCE__ * __formal=0x00000000)  Line 423 + 0x17 bytes
Cornerstone_DEBUG.exe!WinMain(HINSTANCE__ * hInstance=0x00400000, HINSTANCE__ * hPrevInstance=0x00000000, char * lpszCmdLine=0x00151f38, int nCommandShow=1)  Line 47 + 0x16 bytes
Cornerstone_DEBUG.exe!__tmainCRTStartup()  Line 263 + 0x2c bytes
Cornerstone_DEBUG.exe!WinMainCRTStartup()  Line 182

Any thoughts?


Intel Core 2 @ 2.00 GHz
1 GB RAM
NVidia Quadro NVS 135M