Jump to content
  • Advertisement

genne

Member
  • Content Count

    54
  • Joined

  • Last visited

Community Reputation

122 Neutral

About genne

  • Rank
    Member
  1. Quote:Original post by Evil Steve 5000 meshes is 5000 IBs and 5000 VBs. You'll me making 5000 IB and VB switches and 5000 DrawPrimitive calls per frame. I'll be amazed if you get anything near realtime performance with that setup. You should really re-think your setup... I know it's a lot of data to render, when using DrawIndexedUserPrimitives i get a frame rate of about 2 FPS (which is ok for me). Re-thinking my setup is a later problem, now I just need to get it working with these large amount of data. Anyway, it's not that big of a problem now when it works fine with DrawIndexedUserPrimitives, I was just wondering why it crashes when using the Mesh class.
  2. A lot is say 5000 meshes, with from 6 to 67456 number of vertices for each mesh (average 84 vertices per mesh). I have the latest drivers for my card (ATI Radeon Mobility X1400 at a Dell laptop, downloaded from Dell's webpage). Christian
  3. Hi all, I'm confused over how the Mesh object in DirectX Managed works. I have a lot of meshes with a lot of mesh data, and when rendering them all during the same frame I get either DriverInternalError or OutOfMemory (depending on what MeshFlags I specify when constructing the Mesh objects). If I instead create two arrays of indices and vertices and use Device.DrawIndexedUserPrimitives to render them, I get no error at all. Shouldn't it be possible to get the same effect using the Mesh class by using the "correct" MeshFlags option? I've tried all possible combinations of MeshFlags (i.e. Managed, SystemMemory, WriteOnly, SoftwareProcessing) but without success. Am I missing something here? Thanks, Christian
  4. When rendering many meshes (~2000, with at most 1000 vertices each), I receive the DriverInternalErrorException (D3DERR_DRIVERINTERNAL). Can someone please explain what this means? Could this be because the graphics card memory is out? Couldn't get much out of the DirectX SDK Help :( Also, is there a way to find out how much graphics memory that is being currently used, and how much memory the graphics card supports in total?
  5. Thanks WebsiteWill, but I think that's a bit too complex solution for me. I was looking for a more simpler way to split them up. Actually, I succeeded using Mesh.Split by constructing the Mesh with the MeshFlags.SoftwareProcessing flag. Now, my problem seems to be that I render too many meshes (more than 23000). When calling Device.Present() I get a DriverInternalErrorException, and then the device is more or less useless. Anyone know why I get this exception? Is there a limit for how many meshes you may render? Thanks again for any comments!
  6. Thanks everyone for your comments! I'm using position and normal for each vertex, so I guess that gives me around 100 MB, which for me is too much. Though, I liked the idea of splitting the meshes into smaller ones and sending them of to the GPU. I tried using Mesh.Split(...) for this (once again DirectX Managed), but that gave me the same error (E_OUTOFMEMORY), so I guess somehow this method makes use of the GPU? Is there a simple way of splitting a mesh without the use of GPU-memory? (I am reusing vertices)
  7. In my program the meshes are computed using marching cubes over a 3-dimensional set of bits composed by a stack of images. Now, if I run the algorithm on, say 16 images, all of them being of size 1024x1024, I get a lot of data and often very complex meshes with a lot of polygons. So, in these cases, DirectX (Actually DirectX Managed, but not sure if it matters) often gives me an exception "out of memory" (probably on the graphics card) when trying to create these meshes, which of course isn't the wanted result. Is there a workaround for this? Perhaps a way to force the mesh into using the internal memory instead of the graphic cards memory for these meshes? Rendering speed is not a matter here, so for all I care the solution could be very slow. Thanks in advance for any comments!
  8. Aaah, thanks man, just the thing i was looking for! Why didn't i think of that?! Great, thanks again!
  9. Aah, do you really need that??! I tried that before, and well it worked, but i hoped that there were an easier way... so much code to change now ;-) (And now, all suddenly, my enter key just died... even more annoying!) Anyway, thanks =)
  10. Hm, how does MinGW handle templates compared to vs.net? This code worked fine in vs.net but i can't get it to compile with mingw. Seems like it is the template specialization that makes things go crazy. The Array< T, 1 > can't access mData from BaseArray, anyone knows anything about this??! (Please note that the following code is just a snippet from the real code, right now it looks kinda useless, i know ;-)) template < class T, int dim > class BaseArray { public: T mData[dim]; }; // Something wrong here?? template < class T, int dim > class Array : public BaseArray< T, dim > {}; // Or here? template < class T > class Array< T, 1 > : public BaseArray< T, 1 > { public: void set( T x1 ) { mData[0] = x1; // Here's the error: undeclared identifier... } };
  11. genne

    Bone animated characters

    Nice, thanks a lot! I was actually looking for already complete formats to use, for example Half-lifes MDL-format, or Quake 3s MD3, but now i've at least got some more info about how bones works! Thanks, Christian
  12. genne

    Bone animated characters

    Do you have any tips on what format standard to use when implementing bone animated characters into a game? Do you know a good place where to find free models? Thanks, Christian and Arvid
  13. Hi, anyone who knows where to find the tao framework for c#? Seems like all the links i find when searching the web are broken. Is it still possible to download? Or is there an alternative framework? Cheers, Christian
  14. genne

    Forward a typedef

    Well, it's only to make things more comfortable! For example, in one header file i have the definition of the matrix template class: template < int dim > class Matrix { /* ... */ }; and below some typedefs for matrix classes with different dimensions: typedef Matrix< 3 > Matrix3; typedef Matrix< 4 > Matrix4; So now, in the header file for my renderer i would like only to forward the declaration (or typedef) of Matrix4. I thought that "perhaps there are some easy way to forward this typedef which i just doesn't know of", but of course i was wrong. Now instead i first have to forward the Matrix template class, and then make a new typedef to be able to use Matrix4. But well, as i said, it was just a question of comfort...
  15. genne

    Forward a typedef

    Shit... Oh well, thanks anyway!
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!