Archive for the 'Code' Category

Jun 06 2008

PlayStation-edu

Published by mdanks under Code, Games

I just put up a post on the PlayStation blog about the PlayStation-edu program:

http://blog.us.playstation.com/2008/06/06/playstation-edu/

It is a program to get development hardware into the classrooms of universities and colleges.

I am giving a talk about it at the Game Education Summit next week in Dallas.

[update]

Made slashdot!

No responses yet

Jun 05 2008

CG vs HLSL

Published by mdanks under Code

I just converted my app from Cg to HLSL. No real reason, except that I didn’t want to be locked into nVidia graphics cards.

In general, I find Cg more straightforward than HLSL. However, once I finished, it does not really make any difference to my app code because I have abstracted the shader layer away. Considering that I plan to stick with very straightforward shader files (and not even bother with .fx files), it probably does not matter in the end.

My next step is to create a job management system which runs on multiple threads…

No responses yet

May 26 2008

Realtime Brushes

Published by mdanks under Code

The renderer which I have been working on is based around brushes. At the moment, they are very basic, but they produce some pretty images. As mentioned in previous posts, there is a cube with each side having a different image on it.

I finally hooked up a screenshot function to the app as well as a mode to capture at 30fps. All of those images create a movie. It is not perfect, because the D3D function GetBackBuffer() stalls like crazy. I am still trying to figure out how to capture at a decent framerate without having to use a video capture card.

For the movie, it shows the brushes moving around the images, turning the cube, and a few other effects. Right now, there are very few rules for the brushes, so I need to add some more to see what happens.

The movie.

No responses yet

May 18 2008

Animating Brushes

Published by mdanks under Code

I have been spending time making a realtime brushing engine. It uses CG shaders to do the rendering and can be driven by scripts or a joystick.

The interesting thing when running in real time is that the brushes fade out and move around. It means that often, it is much harder to understand what the underlying picture is (not that the fish or crabs in the previous videos were easy to understand).

The entire engine is a multithreaded render which builds a command buffer in the simulation thread, while drawing the previous frame’s command buffer in the render thread. The synchronization is always tricky, but I have a number of debugging rendering modes which make it easier to figure out what is going on. At compile time, I can select:

  • Multithreaded double-buffer
  • Single threaded double-buffer
  • Single threaded single-buffer
  • Single threaded immediate

Continue Reading »

One response so far

Apr 13 2008

Multithreaded Rendering

Published by mdanks under Code, Games

One of the big things for games programming these days is dealing with multiprocessing. I have been working on a multithreaded renderer in my spare time to do interactive brush work. The previous movies for peduncle are all non-interactive. They actually render in faster than realtime, but they just run from a command line. First, I had to create the basic infrastructure, which is not much different than a game. This infrastructure means all of the usual subsystems like fileIO, memory, debug scaffolding, and rendering. I already had fileIO running in another thread. This evening, I got my multithreaded renderer working.

Continue Reading »

No responses yet

Apr 02 2008

Stormfront Studios Closes

Published by mdanks under Code, Games

stormfrontstudios.jpgStormfront Studios has closed its doors. While I have not worked there for a number of years now, it was my first games job…they took a chance on a strange music guy who had been focusing on image processing. I am incredibly proud of The Lord of the Rings: The Two Towers. The tech that my engineering team and I created was truly some of best in the industry at the time.

No responses yet

Mar 16 2008

Cross Core Code

Published by mdanks under Code

I have been dealing with multicore code lately. This is both at work and in my spare programming time. At work, the PS3 is an interesting problem because there are heterogenous CPUs (the PPU and SPUs). It becomes more complicated when there is not unified memory. Licensed PS3 programmers can download my C++ template class which tries to address this problem. At home, I am programming on a dual-core Wintel box, and in some ways it is not any easier.

Continue Reading »

No responses yet

Feb 17 2008

GDC 2008 Prep Work

Published by mdanks under Code, Games

Sunday afternoon…mostly nice day outside.  I’m trapped inside working on my presentations for GDC.  So many good things have happened over the past year with the PS3 that it is taking quite a while to put it all together.  It does not mean that we are done improving it, but it certainly makes me feel good about the future.

One response so far

Feb 13 2008

GDC 2008

Published by mdanks under Code, Games

The Game Developers Conference 2008 is next week. Suffice to say, preparing for it has been occupying most of my time lately. To the game developers who read this (and you know who you are :-)  )and want to meet with Sony, let me know. Our meeting times are mostly booked, but we have a few left.

No responses yet

Jan 23 2008

Numbers with Brushes

Published by mdanks under Code

I spent some more time playing with video output in Peduncle. This time, instead of using a movie file, I fed the system four still images. Each image had a single word on it in a different color – One, Two, Three, Four. The brushes were randomly placed on the images and wanted to move to brighter areas. If a brush was only on a black pixel, then it would randomly move in some direction. I also blended the color from frame to frame so that there would not be sudden changes as the underlying images switched.

Continue Reading »

No responses yet

Next »