Advertisement Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

127 Neutral

About Qatal

  • Rank
  1. Qatal

    animated character aiming

    Should be able to have as many keyframes as you like, as long as your time range is 0..1, right?
  2. Qatal

    animated character aiming

    bennyW: I really like that, actually :) Why didnt I do it that way? :P
  3. Qatal

    animated character aiming

    It's been a while since I've done any character animation work (recent projects involved spacecraft, which dont need much skinning ;), but here's how i used to do it: [There's most likely a better method now that people use] - For the vertical range over which a character can aim, create a bunch of discrete poses (i used single-frame animations for this, but you can have some ambient animation in there too, for slightly wavering aim, etc.) - Each pose aims at a particular 'ideal' angle relative to the xz plane. - Work out the angle between the xz plane and your target - Choose the two poses closest to that angle (there is one above, and one below) - Linearly interpolate between them, based on the desired angle. This is simple, fast, and works pretty well. If you have 5-6 poses, the linear interpolation isnt particularly noticeable either. Let me know how it turns out for you :) Regards, Chris
  4. Qatal

    Tiling Optimisations?

    evillive2: It's in C#.
  5. Hi This is just something I've been thinking about; Looking for feedback, or better still, to be told "yes that might work, but everyone does it using XYZ technique instead, for reason FOO". :) I've recently implemented a particle system with point sprites. I set up a vertex buffer and matching CPU-side array of my particle type, simulate on the CPU, and copy the active block of particles to the VB once per frame. It's simple, and it works. However, point sprites give me square sprite support only, and I'm not so keen on that :P In particular, I want to be able to distort a sprite in the direction of its motion. It would be nice if it required no CPU intervention also; (a nice big block-copy wins, performance-wise, than having to calculate stuff CPU-side). So, my proposed method, in the vertex program: - Figure out how much distortion we need by some magic formula - Turn that into a basis for sampling the texture, to pass to the fragment program without the interpolator blowing it up (just make it constant over the whole sprite if we can't turn the interpolator off) - Figure out how much we need to enlarge the sprite (psize) to fit the distorted form In the fragment program: - Transform the input texcoords (which DX9 maps naively over the whole surface of the sprite) using the basis passed to us by the vertex program - Look up the sprite texture using those coords. - Everything falling outside 0..1, 0..1 ends up transparent. Comments/opinions/why-it-wont-work please :) Cheers, Chris
  6. Qatal

    Directx on IE6

    the other reason why you dont see much 3d on the web is that 3d web pages dont work, from a usability perspective. no doubt, you'll discover this in time though..
  7. No AA, and just a single begin/end per frame.
  8. The granularity of the missing stuff seems to be a *batch*, which is kind of weird. Typical examples are that either my entire GUI is missing, or the scrollable regions of my listboxes are missing (seperate batch, to allow hardware clipping to help)... or missile trails & other particles. Surely someone else has encountered this, or do you not take screens of fullscreen D3D apps? I suppose its plausible there's something in your device creation that you do "because thats how you do it", that may have long ago been a voodoo chicken maneuver to get rid of this problem. -Chris
  9. By 'other games', i mean, that when you hit printscreen, it just does the Right Thing, and puts the current screen image on the clipboard. Games having custom screenshot functions seems like a hack around this. Is it something you've encountered? Yes, exceedingly high framerates seem to make it worse. Its not like I'm getting corruption of the image. It's like im getting the backbuffer instead, with whatever batches have already been committed, and the others missing. -Chris
  10. Hi OrangyTang; I considered that... So, clean system: Windows XP SP2 Visual Studio 2005 DirectX SDK June 2006 nVIDIA 91-series drivers for 6800GT Still does it. I thought it might have something to do with the nview desktop management, but it makes no difference whether its on or off - sometimes, things are missing. I have observed it doing the same thing on a number of machines, so I assume its some caveat in the device initialization. Changing SwapEffect doesnt appear to affect it, nor does changing the backbuffer count. Any other ideas? (It also used to happen with my old radeon, so its not just these new nvidia cards/their drivers) Regards, Chris
  11. Hi, and thanks for your suggestion, although I assert that you are wrong. It's not the same as tearing. Tearing only affects the perceived result on a monitor, and is caused by updating the image in the front buffer, while the raster is partway through updating it. Let me reiterate what's going on: 1. I am running my engine in fullscreen. Everything is rendering correctly. 2. I press 'print screen', and then quit the game. 3. I paste the clipboard image into my favorite image editor (photoshop if its open, otherwise paint) 4. WHOLE OBJECTS ARE MISSING FROM THE SCENE. Sometimes, things that are drawn last, like the GUI, are completely missing. Does anyone have any real suggestion as to why this is happening, and how to fix it? Regards, Chris
  12. Thanks, but that doesnt solve my problem. I'm well aware of being able to implement my own screenshot functionality using offscreen tricks. What I want, is to be able to use the windows printscreen functionality, and not have it screw up. I thought the problem could be that my app was drawing directly to the front buffer (which would have been really dumb, and probably not even possible anymore ;P)... because that's the effect I get. However, I have a normal swap chain, automagically created by D3D. The problem is just as apparent when using an *extra* back-buffer (for decoupling the present rate from the monitor refresh without tearing). It seems to be worse when the framerate is very high (700-900 fps is possible in particularly boring scenes in my engine, and I frequently have bits of the image missing in these cases) If vsync is on, then it doesnt happen *nearly as much*, but then my app is sitting around blocking on IDirect3DDevice9::Present() for a good chunk of the time :) Does anyone actually know anything about how printscreen interacts with fullscreen D3D, and *why* it might be doing this. Regards, Chris
  13. I wouldnt go bashing Microsoft on this one quite yet. DirectX Viewer is a completely different beast from the old mesh viewer - to my knowledge, it exists more as an out-of-engine visualization aid for shader development (a grown-up EffectEdit maybe?), than as a direct replacement for the old Mesh Viewer.
  14. Hi I'm having intermittent problems with the printscreen function in windows capturing partially rendered frames. I initialize fullscreen Direct3D (9c+MDX1.1) in the usual way... and typically render with vsync disabled, (so I can see how much 'excess' perf i have left to take up with cool stuff). When I take a screen capture, I sometimes only get some batches actually impacting the scene. Its always the last few batches rendered that dont get in the image. Other games (other than mine) dont seem to suffer from this. If I'm doing something dumb, can you point me in the right direction to solve this? Thanks Chris
  15. uh, what language are you using? if you're using .NET, its trivial; go look yourself up System.Net.WebClient.DownloadFile(); it's awesome :) if you're using c++ with MFC7+, also reasonably trivial. Look for those esoteric looking classes with "Http" in their name. Theyre on the MFC7 poster that ships with Visual Studio .NET 2003. (random trivia) if you're using c++ with some funky library that knows how the internet goes (boost probably has something that does this), similar. if you're using raw c/c++ with winsock, good luck. you can get the http protocol spec from: -Chris
  • Advertisement

Important Information

By using, you agree to our community Guidelines, Terms of Use, and Privacy Policy. 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!