Search Home Members Contacts
About Us
Products
Downloads
Community
Support
Bug #595: CreateVertexBuffer failed with TVInternalObjects
Product:
TV3D SDK 6.5
Language:
C#
Current State:
Closed
Resolution:
Fixed
Created On:
May 15th, 2006
Last Modified:
May 28th, 2006
Reported By:
luanzhu
I use TVInternalObjects to create some dynamic vertex buffer to draw GUI. Everything works fine untill the size of 3D window is resized. When ResizeDevice() is called, the 3D part stopped rendering, and the log file was populated with those lines below:

05-15-2006 13:10:16 | SHADER MANAGER : Couldn't compile internal vertex shader '1'. Error -2005530516
05-15-2006 13:10:16 | IMMEDIATE 2D MANAGER : InitializeVB : CreateVertexBuffer failed. Error -2005530516
05-15-2006 13:10:16 | SHADER MANAGER : Couldn't compile internal vertex shader '1'. Error -2005530516
05-15-2006 13:10:16 | IMMEDIATE 2D MANAGER : InitializeVB : CreateVertexBuffer failed. Error -2005530516
05-15-2006 13:10:16 | SHADER MANAGER : Couldn't compile internal vertex shader '1'. Error -2005530516
05-15-2006 13:10:16 | IMMEDIATE 2D MANAGER : InitializeVB : CreateVertexBuffer failed. Error -2005530516

Thanks a lot,

Comments:

Posted by SylvainTV on May 25th, 2006 at 12:38 AM
When you resize the device, the engine actually "Reset" the devices, making all dynamic vertex/index buffer invalidated. If you don't want that, you must put them in MANAGED pool.

Else, you must simply destroy the VB before resizing/resetting the device, then remake them after the resetting.
Posted by SylvainTV on May 25th, 2006 at 12:43 AM
BTW You're getting these errors because the engine hasn't "reset" correctly, because, your objects are not released before the engine resize/reset
Posted by luanzhu on May 26th, 2006 at 2:54 PM
Thanks a lot. That helps. My bad,:)

I will ask in the forum first in future.

Thanks a lot again.