Top

About

My name's Richard, but I middle name it and go by Chris. I'm a math geek who loves art, games, wine and so much more. I currently work as a gameplay engineer at Pipeworks Software in Eugene, Oregon. Before that I was at Oregon State University working on particle simulators for an atmospheric research group.

Thursday
17Sep2009

Real-Time Fluid Simulations using DST/DCT

Wow. Work's been crazy so I'm a few days late posting this. Also got into some artwork and put the math aside for a few days. Here's the paper I've been reading though finally, Real-Time Fluid Simulation Using Discrete Sine/Cosine Transforms. I always like it when people go a different route than sicking to good old Navier-Stokes. So basically this paper is about using DST/DCT's to govern how things should move about rather than the Fourier method. The Fourier method suffers from wrap-around, which can causes boundary conditions to not be naturally available, making the simulation have some visual problems.  

Some of my favorite things about this paper are the use of a viscosity term which helps with the multiple interaction of liquids, destiny dissipation and surface tension. If they could work in a pressure term too that would really make this a complete package. However, the pressure term would introduce many other issues with the equations and the majority of the flow, when you include and consider pressure is governed by the pressure term. With a basic understanding of vector math and physics the math is pretty easy to follow too. A minor issue I had which is more of an issue I have with CFD is the use of the term "Real-Time." This is extremely broad, and which respect to games, real-time roughly 30-60 fps for the scene to render. This included meshes, lighting, AI, and in this case fluids. Because of this fact, for gaming applications, this method would have to be tweaked as the fastest time they get to render just the fluid isn't even 30 fps in simulation time. One quick modification would be to ignore the surface tension term and use height fields when the fluid is too far away, or is so stable that it can easily be approximated with a height field. I wish real-time mean, < 10 ms per update step. However, I don't think we'll see pretty CFD sims in game for a cost of < 10 ms anytime soon. Maybe we have it already though. If anyone knows of a paper where they achieve this, or a game, let me know as I'm very interested in this. 

That's it for today. Hopefully tomorrow I'll talk about Real-Time Caustics from Height Fields. Good stuff. Feel free to leave any questions or comments below. 

 

Saturday
12Sep2009

New Art

Just added some art to the new "Art" section. Going to be posting more art and creating more sections as I finish things. Some of my more polished art graces the awesome website of Happy Maau Studios, creators of the sweet iPhone app Math Ref. On top of all that I've been reading some papers on "real-time" fluid dynamics. I'm interested in implementing something that can be used in game for fun but the times these papers say they need are way outside of what I'm thinking. I'll post links the papers and my comments on them tomorrow. 

Thursday
21May2009

Crank-Nicolson

I was on GameDev.net today like most days checking out the math section and there was a post on 1D diffusion. Having done some work in the scientific community in diffusion of particles about some domain I was interested in the numerical algorithms that might b suggested. One of the replies was by Dave Eberly (freakin' awesome writer ) who suggested the Crank-Nicolson method. A good fit as the problem was specific to heat diffusion. I had never heard of this specific algorithm before. The wiki page is worth a read if you're interested in numerical simulations or finite differencing schemes. Below are some youTube videos that use this method but geared more towards the physics side rather than games.

 

 

Thursday
21May2009

Bento and PeopleBrowsr

Ok. Doing some task management and planning in Bento 2 and getting organized there plus giving People Browsr a test run. Still looking for that one app that can handle all my twitter and FriendFeed needs. This maybe the one. Love the search and multi platforms it handles, definitely a plus. We'll see though. First Bento then PB then back to work on some iPhone programming. Love me some Obj-C

Tuesday
19May2009

Crushing it and an fun problem

The past few days I've been completely crushing it at work. At the office things were going good and I ended up being blocked for a short time. During this time my lead gave me a bit of a brain teaser. The problem was to have a function return the max of two  32-bit unsigned integers. After spending a bit of time with it, I had a solution that involved bit twiddling. However, there was the rub. He wanted a solution that didn't involve bit twiddling just basic arithmetic. Unblocked I began working on this problem as well as my regular work stuff. In the end I did come up with a solution, however after seeing his solution to the problem I did feel a bit inferior as his was way more clean. Didn't seem to be any holes which my solution may have had.  Without looking online, anyone want to take a crack at it? 

Just hope tomorrow is as productive as today was and maybe another puzzle.