Jump to content
  • Advertisement

jouley

Member
  • Content Count

    699
  • Joined

  • Last visited

Community Reputation

805 Good

About jouley

  • Rank
    Advanced Member
  1. Usually, the drivers can tell what's a game or application that is supposed to use the discrete GPU based on the profiles/filenames available at the time the driver was delivered. The drivers weren't released with details of applications you develop, though, so you'll probably need to add your executable to the whitelist. There's a video that walks through the process here. Note: I haven't tried this process for an app under development, so I'm not sure what happens when the file is being constantly deleted/recreated, but it could handle it well!
  2. jouley

    Random glClearColor values

    Your alpha value is 1.0. You probably meant 255 . Edit: It's also possible that glClearColor expects floats clamped to 1.0, in which case it's highly likely you're always getting white since rand()%256 will usually be nonzero. Try dividing the results of that calculation by 255.0f to find out. (Or check the documentation... either way, don't mix clamped floats and integer formats.)
  3. jouley

    Eulerian smoke/fluid simulation

    There are a couple things that you could have heard. When integrating to solve an ODE, "backwards Euler's" method is common as being the first step towards a more stable system than just using the regular Euler's method -- simple harmonic systems can blow up when using forwards Euler, but backwards is stable. This is loosely related to backwards advection, but not quite the same. Let me add a bit to what Geometrian said: You're simulating on a grid of values. These values are moving around as time goes on. Imagine a "smoke particle" at position (x,y). At the next time step, it might be moved to position (x+1,y+1). However, it might also wind up at position (x+.9, y+.8). If that's the case, you'll have to spread the particle out to cover neighboring cells since it isn't right on the center of one. Bad news, your particle has just expanded! Backwards advection works like this. Instead of watching where a quantity at position (x, y) goes, you look to see what winds up every position. So, you look backwards in time from position (x+1,y+1) and see that it mostly comes from, say, (x,y). However, you'll probably wind up interpolating the values from several cells, depending on where the backwards advection points (like forwards advection, it's not likely to point right at the center of a grid cell). Then, you have the value at exactly (x+1,y+1), rather than values spread out all over the place. Like Geometrian said, this is all explained in the articles, but hopefully I've shown you that it's nothing to be scared of - keep diving in!
  4. jouley

    Eulerian smoke/fluid simulation

    I assume you're talking about the del operator? It only has one meaning, though it has (more than!) three important applications, depending on the operation used. There's a quick vector calc refresher on a site associated with that last link I sent, slides linked to at the top: http://www.cs.unc.edu/~jpool/COMP768/presentation/presentation.html . These slides may also give you a different perspective on things; I'd go through them all, though the calc stuff is near the beginning. Given that the approach is intended to be calculated massively in parallel, would it be practical to perform half of the work on CPU and half on GPU, for example calculating alternating cells? The reason that I ask is I would like it to somewhat work even if their graphics card has limitations that preclude it being used for the simulation, e.g. harsh instruction limits. Also do you have any idea how one would get simulation results from the GPU back to the CPU, as fire/smoke should affect gameplay as well as graphics. [/quote] If the GPU has limitations that keep it from being used, then it won't do much good on just half the simulation! That is, you'll need an independent CPU solution in that case. However, any recent graphics card should be able to handle it; the capabilities you need aren't all that intense. That first GPU Gems article is 8 years old, after all! The performance of a CPU solution won't be nearly the as good, but once you have the GPU solution up and running, adding a fallback path shouldn't be that hard. Are you planning on a 2D or 3D simulation? To get the results back to the CPU, you just need to read the contents of the framebuffer holding the results you want. In OpenGL, glReadPixels is a fine place to start. I don't know the DirectX equivalent, sorry! Things may be very different in that land.
  5. jouley

    Eulerian smoke/fluid simulation

    I can't point you to handy ready-to-compile code, but there was a discussion about this back in February: http://www.gamedev.n...uid-simulation/ The links I point to a bit down the conversation have some code snippets that are easy to understand, and also a walkthrough of the theory of fluid simulation that is the clearest I've seen. Since then, I've found this, which may be of use: http://www.cs.unc.ed...ject/final.html Edit: Also, if you'll post the papers you've found which are too math-heavy, we'll know what to avoid suggesting ;)
  6. jouley

    Building your own MMORPG

    That's.... <punches calculator>... just crazy enough to work! [disturbed] Best of luck, though -- I hope it's met with the same success as the C++ Workshop and that, a year from now, the MMO market will be flooded with its offerings.
  • 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!