Premier Dinner posted 4/1 at 9:23:27 AM PST by Dave Astle
I should have posted this much sooner, but someone just reminded me of it.
Wednesday night, there was a dinner for the authors that have written or are writing for Premier Press. Several authors and many of the Premier staff that we work with attended. Here's the pictures.
Advanced OpenGL Tutorial, Occlusion posted 3/22 at 8:53:54 AM PST by Dave Astle
NVIDIA just introduced a new extension based on the HP_occlusion_test extension. The new extension, NV_occlusion_query, addresses some problems involved with the former.
The idea behind occlusion queries is that you can issue a query, draw some geometry, and then test the query to see if any pixels were drawn (or more precisely, whether or not the geometry *could* or did affect the depth buffer). Using this, you could render bounding volumes for all of your geometry and use the occlusion test to determine whether you need to render the entire object.
NVIDIA's extension improves on the HP extension in several ways. First, rather than simply returning a boolean, it returns how many pixels were drawn. It also allows you to queue up as many queries as you like (as opposed to having to wait for the last one to complete before beginning another query). This allows you to take advantage of parallelism between the processor and GPU since you could issue the queries at the beginning of the frame update, do everything else, and then retrieve the query results before rendering. There's a method that allows you to test any query to determine whether or not it has completed, and queries are guaranteed to complete in the same order they were issued.
In addition to geometry culling, the extension can also be used to determine how visible an object is, which can be useful in things like lens flares. You can draw your light source, query to see how many pixels were drawn, and adjust the intensity of the flares proportionally.
Overall, the extension is very easy to add to an existing application and will usually result in performance gains (although that may not be the case if you are fillrate limited, but they're working on that).
Microsoft is My Bitch posted 3/22 at 8:53:40 AM PST by Gaiiden
Today was a pretty kick ass day. I started out by attending the AI Behavior Representation Techniques for Computer Games tutorial, which was conducted by John Laird and Michael van Lent. We covered finite state machines, hierarchal FSMs, decision trees, neural networks, genetic algorithms, machine learning and planning. *phew*, heh. It was very well done although not quite what I had expected because they covered concepts only and no code. It was okay because I didn't really know the concepts either but I had wanted a little code as well. I also met up with Dave Mark from Intrinsic Algorithm (also known as InnocuousFox on the boards) and we sat together - however the lecture was too engaging for us to break out the paper football.
For lunch we (Dave and I) grabbed out Turkey sandwiches and went out to bask in the beautiful San Jose sun. While out on the patio I could have sworn I saw Alex Garden from Relic (developers of Homeworld), but I was too shy to go up and ask :P I gave Dave Astle a buzz on his cell and learned they were in the hall we had just vacated playing a board game (Carcassonne), so we packed up and headed on over, and we all hung out for the next hour or so. Once again I bumped into Tom Smith from High Voltage Software. HmmmEmaybe that means I should ask for a jobE/p>
I left the AI tutorial an hour early to catch the tail end of the Academic Summit, mainly the introduction of the student scholarship winners. There were also three speeches given by Cynthia Poremba (Technical University of British Columbia), Michael Bowling (Carnegie Mellon University), and Bethany Nowviskie (University of Virginia). Then the students grouped together for a picture, which came out so-so. I wish I could have gotten closer and the lighting hadn't sucked so bad butEI kept it in its 1280x960 (or something like that) format so you can see it clearer.
Anyways after that Jeff and I headed to Johnny Rockets for some burgers and shake, after which we began walking in the direction we hoped would take us to the Agenda once again, this time for the Microsoft DirectX party. We ended up going in the wrong direction, however fate smiled upon us as we ran into my good buddy Scott Stewart, a freelance 3D artist and a bunch of his friends at the Flying Pig Pub.
We all headed to the DirectX party together, except some of us didn't have passes. I tried getting in with just my press pass and the guys at the door were adamant. No MS pass, no party. Well damn. But then one of Scott's friends, Charley, learned about guys who were getting in, an then handing their pass back out through a gateway outside for another person to get in. So continuing the cycle, we all got in with the same pass! Yeah take that Microsoft!
Once in meeting people was easy. Scott and I spent some time talking to two developers, Kenny and Hector, from Westwood about their game Pirates. According to Kenny porting the game from the PS2 to the XBox was a cinch, which I found pretty surprising. I also talked with four guys from Comverse, a wireless games company up in Massachusetts about their plans for wireless gaming, which was basically develop for the PDA while waiting for the cell phones to catch up. I even managed to snag Sami Vanhatalo, lead graphic designer at Remedy, makers of Max Payne. He had some great things to say about Scott Miller and 3D Realms/Apogee, who basically helped them from start to finish and whom he says without, they never would have published. We also talked about fan sites and how Remedy is actively sponsoring fan sites such as giving them bandwidth on their servers, which I think is great since it helps the fans create work they can market to employers and creates new extended gameplay for Max Payne.
The party was another cool event for me, and the last thing I have to mention are the green glowyEthingies (Scott compared them to the things you find in urinals) that were being handed out to all attendees. It was quite a sight to see a sea of these green glowing badges floating around The Agenda (and this time, all three floors were open). They were neat.
Now I really must be getting some sleep for I awake in onlyE3 hours. Wahoo!! Tomorrow's going to be jam-packed and I have no idea how in hell I'll be able to keep up but we'll see. Till then!
Advanced OpenGL Tutorial posted 3/22 at 8:53:28 AM PST by Dave Astle
At the last two GDCs, the tutorial I wanted to attend more than any other was the Advanced OpenGL Tutorial presented by people from NVIDIA, including Mark Kilgard. For various reasons, I was unable to attend. Finally, this year I was able to make it. I'll be posting portions of it as I compile my notes over the next few days, but it was definitely worth the wait.
By the way, we would have posted updates yesterday, but they decided to close the press room early, cutting off our only source of Internet access.
Advanced OpenGL Tutorial, Stenciled Shadow Volumes posted 3/22 at 8:53:20 AM PST by Dave Astle
Last year, Mark Kilgard presented an improvement on the stenciled shadow volumes technique. He made the quads forming the volumes infinitely large by setting the w component of the vertices not connected to the occluder to zero. This helped, but problems still appeared when the volumes were clipped by the far clip plane.
This year, he and Cass Everett addressed the problem by setting the far clip plane to infinity (which has to be done by directly modifying the 3rd row in the projection matrix). This doesn't screw up the depth buffer as badly as you'd think. Most of the loss in precision happens at the far end, and even that ends up being only around 1%. A new NVIDIA extension, NV_depth_clamp, will help reduce this problem as well.
They showed demos of this in action getting good frame rates (including one using 12 lights to simulate soft shadows) on a GeForce 4. Although the scene was relatively simple, Mark believes that the technique will be practical for use in games in a year.
The whitepaper and demo will be available on the NVIDIA website (if it's not already), so I'd highly recommend looking at it.