Cascades is finally available for download from nzone!
Note that it requires Vista, a GeForce 8000 series, and a version 100.64 or later display driver (released just a week or so ago).
We (Nvidia) launched the GeForce 8800 today. This is a really, really, really
awesome day for people who love realtime graphics. It is screamin' fast and
can do so many new things (a la DirectX 10) it's not funny: stream out,
geometry shaders, uncompromised instancing, REALLY fast branching, constant
buffers, dynamic indexing, full native 32-bit float support, etc. - the list
goes on and on. And to boot, it's over twice as fast as our fastest 7000
I wanted to take advantage of a bunch of this stuff, and came up with the
idea of making an endless vertical rock tower whose polygons were generated
(from noise and other functions) all on the GPU, as well as pouring water
over it to make pretty waterfalls. The final result - dubbed Cascades -
turned out pretty well.
Cascades runs on Vista
using DirectX 10. The cool thing about this demo is that the CPU is virtually
idle. Everything happens on the GPU. The polygons for the rock are actually
*created* (and streamed out to a vertex buffer) all on the GPU, using marching
cubes. In the particle system for the water, particles are emitted, propagated,
and destroyed on the GPU using a geometry shader. Collision with the rock
(and sliding along it) all happens on the GPU, and particles can even spawn
other particles (mist) when they hit the rock.
When you zoom in close to the rock, you see some really cool Displacement Mapping.
It's something you have to see realtime (screenshots don't communicate it) but
when we showed it to the launch audience today, I had the pleasure of hearing
about a thousand people gasp in unison. :)
There are some cool bug critters flying around; their flocking behavior is
driven fully by the GPU, so they can avoid hitting the rock. They're also drawn
using instancing, so (virtually) one single draw call draws them all.
We also used to have vines growing and branching all over the rock, but no matter
how technically impressive they were, they still looked kind of cheesy (especially
when you zoomed in close and the rock's displacement mapping shader kicked in,
but the vines were still growing on the "outer hull" of rock polygons). So we
Teaser time! I wrote a new screensaver at NVidia and we're shipping it (posting it to the web)
this week. We already used it to launch the 7800 at CeBit a few weeks ago, in Germany,
but you'll finally be able to download it. Look for it to pop up at www.nvidia.com. Warning,
though, it requires *at least* a GeForce 6000 series, and a 7000 series is highly recommended.
You'll also want to play some music while it runs, because the blobs scoot around
to the music. A screenshot: [notice the HDR motion blur, cool procedural noise,
and transparency on un-depth-sortable objects!..]
We are hiring! The Nvidia Demo Team is a small group of 3.5 programmers and 3 artists. We need to grow! We're looking for an ["ascending master"-level] programmer and an animator. Details on each:
* programmer: a good candidate would have in-depth knowledge of computer graphics algorithms, as well as be a master implementor (..have an uncanny ability to code things up and make them happen) and a good ability to innovate (..you'll have to come up with amazing new techniques when we drop insane new hardware in your lap!). Extreme fluency with C/C++ is required; extreme fluency with most (but not all) of the following also required: MS Dev Studio, OpenGL and/or DirectX, Cg, and Max or Maya (including mental ray).
* animator: we're looking for a good Maya animator with a great deal of experience in character animation. You'll also do a bit of TD work guiding other animators, so a thorough knowledge of rigging (and Maya's ins & outs) is also greatly valued. You've probably worked on a few feature or short films and have an impressive reel to show off.
If you or a peer are interested, please send your resume to me at:
and I'll get back to you! Thank you & good luck!!
More great news - MILKDROP IS NOW OPEN SOURCE! Happy day! If you go to the main
MilkDrop page there's a link right there to the source code. (5/14/05 update: you can now also visit the SourceForge project at https://sourceforge.net/projects/milkdrop/ )
Great news - I have begun the process of open-sourcing Drempels, so others can
help develop it! It should appear on SourceForge.net in the next few days, and I'll
be sure to post a link to the project here when it's up and running.
My decision was motivated when I noticed that I hadn't touched the damn thing in years.
Yet, I still get a lot of requests for updates, and I just don't have time to do it.
The guilt overcame me and, well, here you go.
Some head-start info for anyone considering working on it: the two biggest
outstanding issues are that the screensaver seems to not always
kick in on XP systems (and I've heard that maybe it just doesn't work on some
XP systems). Also, a feature to automatically turn off 'active desktop' would be
cool. Porting to non-Windows platforms would be SUPER cool. And making it
multiple-monitors friendly would rock (I get that request A LOT). For a good
reference on how to make it multiple-monitor friendly, check out my VMS sample
Winamp plug-in, which is 100% multimon-happy: http://www.nullsoft.com/free/vms/ ).
It's that season... the season of giving. I've been trying to figure out ways to
help encourage people to give lately. A few bucks here and there makes a big difference
in the long run. So I've set up a "charity gift list" at whatgoesaround.org.
Over the years, I've never taken money from individual users for any of my visualization
software (although early versions of Geiss did feature a voluntary "send me the lowest bill of your home currency"
appeal, as more of a novelty than anything else). What I should have been doing all that time, though, was redirecting people to
the handful of charities that I think do very important work. So, I've finally set it up:
Click here to see my charity list and, if you like, donate a few bucks
to one or more of these organizations.
WhatGoesAround.org is very cool - the money goes 100% directly to the charities
(except for the standard % that goes to the credit card company, if you pay via credit card).
If you are making a large give to a single organization
on the list, consider writing a check straight to them. Giving through WhatGoesAround.org
is also cool because you don't get on any mailing lists (i.e. the charities
you give to won't be able to spam you with paper mail!).
Thank you very much for your support, and happy holidays!
Today I am officially hired at nVidia! (i.e. no more contracting.) Now I'll
(finally) get business cards & be allowed into the quarterly meetings. My life
is complete... ;) just kidding of course.
Our demo launch went pretty well. I did a lot of the code for the BugLooker
demo (also known as "Timbury"), which you can check out at nvidia.com.
The other demos were the Mermaid demo ("Nalu"), and the Pirate Ship demo ("Clear
Sailing"). These three demos were, in a nutshell, in-house technology demos that
we wrote to show off the power & features of the new NV40 chip that we launched
in April (aka GeForce 6800, which should probably be on shelves in the next week
or so. And it screams.)
We had a hell of a 2-month crunch-time at the end there. After it was over,
I took a few weeks off and decompressed, visited with friends, and took a little
vacation. Now I'm back at work, and we're brainstorming away for the next round
of demos... ;)
That little contract is still going. =) And someday in the not too distant future
(that could mean anything, mind you - I'm not giving anything away here) our new
demos will come out. I'll be sure to post a link here. More soon! =)
I start a contract at nVidia today. =)
MilkDrop 1.04 has arrived! It has a lot of
very nice new content over version 1.03, thanks to a small group of very hard-working preset authors
who worked off of version 1.03's feature set for
the past year year. But, just wait until they start tapping the power of the new features in 1.04...
it's gonna be *nice*; it's gonna knock your sock off, seriously.
AOL has told me that thursday is my deadline to find a new position within the company, or get laid off. I'm still exploring what's available, but in either case, it means that my work with Winamp plug-ins will be either severly impacted, or will cease. It is a sad day for visualizations. But it's been a great two years working on them. =) I will post here when I figure out what the heck I'm doing.
Also in the works... a kick-ass version of MilkDrop (1.04) should be coming soon (hopefully by thursday, just in case!). And it's gonna rock your sock off, man...
Geiss 2, version 1.0, is finally here. Click here to check it out.
Here's a beta version of the Geiss 2 visualizer. To install it into Winamp 2.x, simply drop this file in your C:\Program Files\Winamp\Plugins directory. Then open Winamp, press CTRL+P to go to prefs, and select 'visualization' under 'plug-ins' on the left. Then, on the right, select 'Geiss 2'. Press 'configure' to set it up, then 'start' to run it. Enjoy!
Wow, it's been a long time. I've been working heavily on a non-visualizer project for almost
four months now. But it should begin to wind down soon, and I have some wonderful stuff to unleash... =)
I wanted to say that, and post two wonderful gems I've just found. These programs will capture video from DirectX applications (like Winamp plugins), and they seem to do a pretty excellent job of it. The first is FRAPS, and the second is Hypercam. These should prove extremely useful to anyone trying to use the output of Winamp plugins for content creation!
Monkey 1.02 is here, now featuring
3D mode (of course) and the ability to save/load state.
I got a request in the guestbook about a week ago for Monkey in 3D. Why did I not think of
this earlier? I'm not sure, but it was a great suggestion. It's done now, and it looks *amazing.* The functionality will be built
into the next release of Monkey, but if you want to check out a beta, here it is: just overwrite your
monkey dll with this version. Just press F6 to enter red-blue stereo mode. If you can put it up on a projector it's breathtaking.
Especially be sure to check out wireframe mode, with textures off, and flat shading.
You also might want to adjust the stereo separation (using the s/S keys) to compensate
for how far away you are from the screen; on a normal monitor, the default should work,
but for a projector, crank it up to 1.6 or so (hit F4 for a readout and use s/S to adjust
Of course, you will need a pair of those cheesy fifty-cent red-blue stereo 3D glasses
to see it. If you can't find any locally, you can just send a dollar and a stamped envelope
to these guys
and they'll send you a pair. (Don't forget to write somewhere in there that you want
the 3D glasses, since they sell a few kinds of glasses.)
UPDATE: It now also works with chromatek glasses; press F6 a second time to put
it in chromatek 3D mode!
BETA-TESTERS NEEDED [AGAIN]:
The Classic Visualizations component (for Winamp 3), version 1.2 beta 1, is here
for testing. Please let me know how it works. This component had major problems
with Windows 98 before (crashing when you would exit Winamp 3), and I'm hoping that
now it's okay, but I'm not so sure there isn't a problem lurking still.
Changes are as follows. The plugins list is now split into two columns, with the plugin descriptions on the left,
and the filenames on the right. Also, it now lists *both* your Winamp 2 and 3 vis
plugins in the same list; the concept of a 'current directory' has gone away.
If any plugins are installed to both, then to prevent confusion, it marks the
Winamp 2 plugins in a third column. Finally, some cacheing has been added, so
it doesn't have to query all the DLL's (plugins) for their descriptions each time
the list is shown; instead, the descriptions are cached in an .ini file along with
last-modified timestamps, and the descriptions are only re-loaded when the file
on disk's timestamp no longer matches the timestamp in the .ini file. Oh, and the
installer has been updated so the component can now be uninstalled, and it is also
aware of the [imminent] new name for the Winamp 3 executable
(winamp3.exe instead of studio.exe).
As usual, if you have the time to test this one out, please let me know (e-mail: )
how it went. Thanks in advance!
VMS 1.04 is almost ready to be released, but I'd like to invite anyone who's interested
to beat on it first. The primary new feature is Desktop Mode, where you can run the
plugin as your wallpaper, and still have access to your icons. It also has a new option
to save some CPU usage by not *strictly* enforcing the maximum framerate; use the '?'
on the config panel to learn more about this one. There have also been improvements
to multimon behavior; now, plugins based on VMS should be able to handle any conceivable
multimon configuration, with any number of monitors, with the taskbar in any position,
and even if some of those 'monitors' are DualHead cards serving two physical monitors that
act (from Windows' perspective) as one, giant, double-width or double-height monitor.
Basically, it should be pretty solid now. However, there are still some missing features
from desktop mode, like copy/cut/paste/rename, keyboard commands, and drag-and-drop; the 'send to' menu
doesn't always work; and right-clicking an icon will pause the plugin, while the context
menu is showing (there doesn't seem to be a way around this one).
If you'd like to bang on it, please place these three files in your C:\Program Files\Winamp\Plugins
directory (or equivalent):
Then run Winamp and select 'Example Plugin / VisMegaSDK' as your plugin, and run it.
You can toggle desktop mode by pressing ALT+D, and ALT+ENTER still toggles fullscreen
If you end up having the time to test this, please e-mail me at and let
me know if you found any bugs. And again, superthanks in advance.
Here's an early preview of a little plug-in called "Geiss 2".
Also, the Classic Visualizations component is now posted to winamp.com, which lets you run your old winamp 2 visualization plug-ins ('classic' visualization plug-ins)
under Winamp 3. Note that, for now, most Winamp 2 plugins require that Winamp 2 be installed before they will install; I'll release a new
NSIS plugin installer script soon so we can start updating all those plug-ins out there.
It's official - Monkey 1.0 is here, and
even has its own (albeit minimal) homepage.
Excellent news for Winamp 3 users: the Visualization Plug-In Manager component
- which lets you run your Winamp 2 visualization plugins from Winamp 3 - is now available for testing.
It's mostly complete; the only major complaint I expect is that the accelerator keys
(CTRL+SHIFT+K and ALT+K) don't work yet, but this will be fixed in parallel with the next
release of Winamp 3.
To install, just unzip this file
to C:\ with the 'use folder names' option checked. (If you installed Winamp3 to some directory
other than the default, you'll have to manually place the files, for now.) Then read vismgr.txt
for instructions on how to use it.
It's almost here... soon you'll be able to run Winamp 2 visualization plug-ins
in Winamp 3. The problem is that Winamp3 doesn't have a main window, unlike
Winamp 2.x... so you have to create a fake window that emulates the Winamp API,
and mediates all the windows messages between the fake window and the Winamp3
core. Justin [Frankel] tackled it a while back (when Winamp3 was
in early beta stages) and had it running, but it was abandoned due to the Wasabi
core changing so much at that point. I nabbed the code from him and got it up
to date. Presently, it works, but it lacks a lot of features; I'm going to try
and get it doing full emulation (right now it just supports the bare minimum)
and post it by friday evening.
Smoke 1.06 is here.
Version 1.03 of the Winamp Visualization Mega SDK (VMS) has arrived.
New features include a vastly-improved FFT, a config panel that is split into multiple pages
(so there's plenty of space now), the option to minimize Winamp when going fullscreen,
user-configurable fonts, an onscreen PLAYLIST, sample code for displaying the song name/time/length,
an improved high-precision timer, ultra-precise framerate limiting options, smart behavior on
non-DX8 systems, and much more. Now go write a plugin! =)
I have also posted this page at nullsoft.com,
which simply posts the current VMS code so that it will pop up in search engines.
Version 1.02 of the Visualization MEGA SDK (VMS; formerly referred to as just the
'dx8 plugin framework' that I was working on) is here. It is, in short,
a codebase for rapidly creating robust and feature-rich DX8-based visualization
plug-ins of your own. Anyone who hasn't written a plugin can use this and
actually have a shot at it; it'll eliminate months of annoying development and
bug hunting. And anyone who HAS written a plugin should really appreciate this,
knowing what a pain it is (to jam all this stuff in there) and how much time it
takes. Until now!
This version is mostly like the old one, but with a few small fixes and tightened
screws. Most importantly, though, I finally figured out the
fullscreen multimon bug (thanks to some help from a sleep-deprived Phil Taylor). A forum
has been created at Winamp.com for discussing the code, exposing bugs, proposing fixes, and so on.
Also, if all goes as planned, it will be officially posted on this page at Winamp.com by friday morning.
Monkey 1.0 beta 9 is here.
Monkey 1.0 beta 6 (657kb) has arrived, and is finally transformed
into a Winamp plug-in. Please do check it out. I think you will like it. If you have
Winamp installed to the default directory (c:\program files\winamp), then just unzip
this file to C:\ (with winzip's 'use folder names' option selected) to install it. Hit
CTRL+P from within Winamp to select & run it.
Press 'R' to randomize; +/- to adjust speed; 'F' to toggle fullscreen; 'G' to toggle fog.
If, for some reason, you get a blank screen when you try to run it, go into the
config panel (ALT+K) and try disabling fog.
Also, be sure you watch it at least long enough for it to make the wireframe shift... =)
monkey 1.0 beta 4b is here. Some keys:
'R' = toggle Realistic (!) fly mode (rotates inward on turns; simulates bumpiness) (default ON)
'F' = select random Fog color
'T' = toggle Transparent mode
'M' = toggle Motion blur mode (a bit messed up at the moment)
+/- = accelerate / decelerate
left/right arrows = roll left/right
Teaser's over... here's the prototype: Monkey 1.0. Requires DirectX 8;
and for now, a 1 GHz CPU and decent (Geforce2+ quality) graphics card are recommended. Here's a screenshot:
This is going to be really really cool... can you guess what it is?
Just got back from GDC (the Game Developer's Conference) - fun fun fun! Lots of cool stuff going on... many ideas brewing... look for a new plugin in 2 months or so, if I can manage to squeeze in the time to work on it.
Vince hung around for the weekend and we went caving, got ultra muddy, and saw this giant pacific salamander, about 5 inches long.
Ah, I can finally breathe after getting back from the PS2 Developer's Conference
last week. It was very, very cool. I must say, I like this platform, and I'm stoked
about its future. And I'm stoked about putting this little beast to work... =)
and proud to say that it's already smokin' (wink, wink)...
And of course, happy Pi day! Remember, the first few digits of Pi are:
3.1415926535 8979323846 2643383279 5028841971 6939937510
5820974944 5923078164 0628620899 8628034825 3421170679
8214808651 3282306647 0938446095 5058223172 5359408128
4811174502 8410270193 8521105559 6446229489 5493038196
4428810975 6659334461 2847564823 3786783165 2712019091
4564856692 3460348610 4543266482 1339360726 0249141273
7245870066 0631558817 4881520920 9628292540 9171536436
7892590360 0113305305 4882046652 1384146951 9415116094
My good friend Michael (who stars in a really cool