This topic is now archived and is closed to further replies.


Paranoid absence of rendered quads from display - read on

Recommended Posts

flareman    122
OK, here''s the deal: I bought Mason McCuskey''s "Special Effects Programming with DX8.0" book some time ago; the book is a masterpiece, it is one of those works that make a programmer realize "hey, all these *wow* f/x I see... they''re actually possible to code!" - anyway, I''m straying here... Mason has developped a scriptable particle engine for the needs of the book. I am in the midst of developping my 2D FFlike RPG "Fraud: TNS" (The Nazre Saga) (the game is a fraud, as one can deduce from the title ), and since my own particle system didn''t support external scripts, I decided to get MM''s system, enhance it a bit where I needed thet extra something, and plug it in my engine... so far so good... I fire the engine... nada, no particles appear. So I think, I probably missed sth or overlooked some detail and the particles aren''t rendered properly... so I launch the debugger. From what I could deduce, the particle structures are created and processed properly in terms of properties, but when it gets to rendering the system outputs nothing. (NOTE: I had the same problem when I rewrote the tile renderer for the game to use a larger VB to hold all tiles; it used to call DrawPrimitive once per tile since the tiles were stored in a VB owned by my cTilesetManagerEx3 class (don''t ask). Anyway, once I modified the code nothing would come out properly unless I used only managed buffers, no dynamic _DISCARD or _NOOVERWRITE parameters, and the vertex FVF was XYZRHW format... short of these, nothing.) The particles are drawn as quads of twin triangles (triange lists - I could use an IB and a VB for economy, forget about that for now). When I was trying to use the untransformed vertices, I am certain that the martices are set properly, I use these same martices otherplaces in my code and they work fine; the texture stage states are also set properly (COLOROP and ALPHAOP are MODULATE, ARGs 1&2 are DIFFUSE and TEXTURE both vor color and alpha), the render states SHOULD be correct (lighting, colorvertex on, use diffuse vertex color (which the FVF includes, and the order of declaration there is correct too... I think) ) Mason uses point sprites, I couldn''t because I use multiple textures and these are stored in one file and I don''t want to split that up in separate texture COMs at run-time; either way, I changed the FVF from XYZ to transformed XYZRHW hoping it would work, zilch. The last thing remaining to do is to remove all DYNAMIC and DISCARD flags and try using a simple D3DPOOL_MANAGED VB without any speed improvements (which is not good for the framerate, but...). Recapping: FVF definition correct, texture stage and render states set and verified, coordinates validated (minus 0.5f for 2D!), matrices correct, no triangles... what the **** is going on? Jeez... I''ll just blow my brains off with a shotgun now... any help appreciated. Thanks in advance folks, Flare -----------<<>>----------- Flareman (a.k.a Ga1adaN) Primus ante Adain -----------<<>>------------

Share this post

Link to post
Share on other sites
DrunkenHyena    805
Original post by Coder
Well that''s a long post, and I didn''t have the time to read it all, so just a couple of quick pointers:
- Works the same on REF?
- No debug output?
- All HRESULTs checked?

You''ve been reading too many of Rich''s posts.

Stay Casual,

Drunken Hyena

Share this post

Link to post
Share on other sites
Hawkeye3    122
(Totally useless addition to this thread)

The strange thing is.. I''m having the EXACT thing happen to my particle system - except it only ''happens'' after I reset the device... All of the buffers are recreated and verified, also the properties are valid, yet I see nothing :|

Share this post

Link to post
Share on other sites