Making Graphics In Games '100,000 Times' Better?
trawg writes "A small Australian software company — backed by almost AUD$2 million in government assistance — is claiming they've developed a new technology which is '100,000 times better' for computer game graphics. It's not clear what exactly is getting multiplied, but they apparently 'make everything out of tiny little atoms instead of flat panels.' They've posted a video to YouTube which shows their new tech, which is apparently running at 20 FPS in software. It's (very) light on the technical details, and extraordinary claims require extraordinary evidence, but they say an SDK is due in a few months — so stay tuned for more."
John Carmack had this to say about the company's claims: "No chance of a game on current gen systems, but maybe several years from now. Production issues will be challenging."
No one is investing in actually doing good game design, at least in AAA, so all your graphical power is worth pretty much nothing if it's tied to a crappy, generic, one note game
Welcome to Australia. Where you have to claim you can make an industry the size of Hollywood "100,000 times better", to get $2 million in funding.
needs more animated models...
nothing is moving.
Most games recently just kind of suck and rest upon the shoulders of innovative graphics. This does not make me hopeful for the future of gaming.
However, if this technology isn't a scam like I suspect, I still welcome it. It could change the face of computer graphics as we currently know it forever.
The "goal" of crazy people who don't actually understand computers has always been to make graphics (and sometimes logic) based on "atoms"/particles/etc. The problem is not that it can't be done - anyone who has ever used a 3D modeling program with fluid dynamics has that power right in front of them - the problem is that it can't realistically be done in real time with our technology. Hell, it can't realistically be done pre-rendered without a supercomputer.
So sure, it could make it '100,000 times better.' No one is really debating that, and it isn't news to anyone who knows the first thing about graphics. What would be news would be hardware that better supported it. Somehow, I don't think that's what we have here. Notice the lack of specifics as to what KIND of graphics they seek to improve.
Looks like the Australians just got scammed for 2 million.
Great Intellect...
I'll will be eagerly awaiting an IPO!
Now is not the time for voxels. At current hardware specs, the computing time:image quality tradeoff comes out so far in favour of rasterizing (or whatever) polygons it's insane.
These guys had a tech demo floating around a few years ago, and to my eyes, not a lot has changed.
You're doing it wrong.
They've definitely proved they're capable at:
- Hiring the most annoying voice over guy.
- Over use of the word 'unlimited.'
Thankfully they have UNLIMITED POWER at their disposal to prove any further developments.
(I submitted this article) I fired off a request for more information from the developers about this and they got back to me indicating they're willing to answer some more questions, so I've summarised some of the main ones that I've seen around the place.
We're based in the same city as this company (Brisbane, Australia) so I'm hoping that I might be able to actually go out there and eyeball this stuff myself to get a feel for it (and possibly drag along a graphics programmer to do some grilling).
one Sri Chinmoy Library
(1 LoC [= 147M items] / 100000 ~ 1 SCL [~ 1.5K items])
hope this helps,
sincerely yours
The video is new, but the demo of the tech certainly isn't. I saw this years ago.
So that means 100,000 times more work to make everything that detailed?
Or else everyone who makes games uses a standard library of objects to cut/paste and so the games end up looking the same anyway?
This is voxels all over again, in a modern iteration. Yeah, it looks cool, but it increases your development time and isn't anywhere near as fast as other techniques and all those graphical "shortcuts" that standard 3D cards do are done for a reason - nobody *really* notices or cares so long as the game runs smoothly and there's time enough for AI, pathfinding, physics etc.
I see this as the equivalent of FLAC vs MP3 - yeah, sure it's definitely contains more information but at the cost of storage size and, in the end, 99% of people won't actually care.
More crap in the graphics pipeline isn't what I've been looking for for the past 10 years in PC gaming, though. Actually the opposite. I was just looking for something more approaching a game than a 3D sculpture to walk around inside of.
Not to mention, this sort of tech demo has been possible for decades. Maybe not this exact thing as those exact resolutions and those exact framerates, but the result is practically identical to several things I've seen in the past. Now, tell me, which of those actually resulted in a commercial game that used that technology? None. And until it does, it's like telling me that someone has made an "uncrashable" computer, or "compression of most data down to just 20% size". Lovely theory, but until the utility / OS / game that does it can actually land on my computer, it is nothing more than a piece of trivia.
Aren't they simply calling pixels atoms, and rasterizing images, as opposed to vectorizing them? I fail to see any novel technology. I'm happy to listen though if there is something involved I missed.
I haven't RTFA but such hyperbole immediate made me think of Adam Clarke and His Platform. We all know how that worked out. http://www.adamsplatform.com.au/
If they really could do realtime graphics that were "100,000 times" more detailed than current stuff, they'd do one of two things:
1) Release a demo so people could actually try it and see it working on their systems, to prove it was real. Or more likely...
2) License that shit to a company in the industry. Intel would be extremely interested if it ran on CPUs as they'd love for people to spend more money on CPUs and none on GPUs. Any game engine maker would be extremely interested either way. Wouldn't matter if things still had to be hammered out, at the point they claim to be, that would be more than plenty to sign a licensing deal and get to work.
So I'm calling bullshit and saying it is a con. This is classic con man strategy: You show a demo, but one that is hands off, where the people watching only get to see what you want them to see and don't actually get to play with your product. You make all sorts of claims as to how damn amazing it is, but nobody actually gets to try it out.
This has been a con tactic for centuries, I've no reason to believe it is any different here.
So to them I say: Put up or shut up. Either release a demo people can download that will let them see this run on their own systems, or get a reputable company to license it. If Intel comes out and says "This is for real, we've licensed the technology and will be releasing a SDK for people as soon as it is ready," I'll believe them, as they have a history of delivering on promises. So long as it is some random guys posting Youtube videos, I call bullshit.
This russian guy made his own voxel engine as well, which I believe is hardware accelerated and also pretty impressive: http://www.atomontage.com/
'For we walk by faith, not by sight.' II Corinthians 5:7
from the ceo's linked in profile -
Alternative to polygon system
The Unlimited Detail system consists of a compiler that takes point cloud data and converts it in to a compressed format, the engine is then capable of accessing this data in such a way that it only accesses the pixels needed on screen and ignores the others generating real-time graphics that look like unlimited polygons. it is also the best available way of displaying laser scanned environments, they can be of unlimited size and this will not slow down the system.
Point clouds to compressed data with an access engine could potentially give some interesting results. Not sure what will be 100,000 times better though.
So did they just essentially develop a super intelligent LOD loading system that uses procedural instancing? I'm pretty sure you could put together similarly impressive demos using the latest tricks from Nvidia and ATI using standard polygon rendering. The fact they are using points vs. polygons isn't that interesting to me.
What is fundamentally missing here? Animation, lighting and shadows. Those are going to be really hard problems to solve and I'm curious how they will go about it.
Also, it's not "infinite" detail. There is going to be a fundamental limit in regards to CPU memory or GPU memory. You can only store so much "detail" at the various detail levels in the different stages of memory. As soon as it has to dynamically load an entire detailed world that doesn't include just 20 instanced models, but more like 10,000, than I'm sure it will run a lot slower.
However... I am excited for this. DDR3 is getting dirt cheap, if they could make a game that actually used all 8GB of my memory I'd be impressed.
Euclidean, where modern graphics technology dead-ended in a universe where Jim Blinn developed the only shading model in existence!
I see this as the equivalent of FLAC vs MP3 - yeah, sure it's definitely contains more information but at the cost of storage size and, in the end, 99% of people won't actually care.
But FLAC sounds so much better then 512Kib/s mp3 with my $ 15 headphones and on-board soundcard!
It'll take a while for this tech to get turned into an engine with animation/shading/lighting working, and no game developer will touch it until that happens. Euclideon had the right idea making a converter to turn polygonal models into voxel models, since noone was going to dedicate the money to create high-quality voxel assets that couldn't be used if they decided to scrap the tech and use a normal polygon engine. This tech is risky, so the first game to use it is likely going to be a cheaply-made game, possibly by the company itself a la Serious Sam.
The big problem is speed, right now it's completely CPU dependent. I'm unsure how parallelizable it is, but CPUs aren't increasing in speed as quickly as GPUs are. Perhaps some GPGPU code would help? Barring that, a board with dedicated hardware a la the PhysX board might make this feasible.
Corruption is convincing someone that the selfless ideal is the same as their selfish ideal.
It could be point data, rendered through a subpixel renderer.
Instead of 3d voxels in the traditional sense, it would be 1d points in 3d space, with luminance, specularity, and fuzziness variables assigned. After that it is just lighting and pixel shading, which would be embarrassingly parallel. You would render the scene as a 2d canvas that fills the whole viewport.
LOD would be based on the available viewport resolution.
Looks like the video was reuploaded in 1080p today:
http://www.youtube.com/watch?v=00gAbgBu8R4
Here is what I think they probably do, similar to raytracing: They fire one "photon" from eachone pixel of screen into the scene. As oposed to raytracing, this photon is never divided to multiple copies, it travels until it reaches something. Photon is traveling through the scene by adding X,Y,Z from pre-calculated table, until it reaches box with something in it, then it halves step for x,y,z, looking for even smaller boxes etc. until box is so small it represents one pixel, OR photon is outside the box (object missed) and step is doubled again. I had this idea before and yes, that would be pretty much enable "unlimited graphics" but there is major problem I see here: graphics are static! How they want to make something move? That would mean moving gigabytes of data around, which makes original problem come from other side. For example, realistic waves on the sea are simple using traditional graphics, here it is impossible. Maybe they will be able to use this for "static" scene and transfer it to Z-buffer, than paint moving parts using traditional OpenGL. In modern games, however, there are lots of moving animated stuff, so what you get is, basically, that you can improve quality of background using this technique and add saved polygons to animated stuff. GPU is definitely still needed, with same performance as before.
839*929
nVidia and AMD are currently looking at real-time ray tracing, because that's where intel is going and they have to compete. There is also CUDA and OpenCL, and the next stepping for GPUs is almost half of the current. (meaning performance/cost ~doubles) Anandtech says AMD promises a 22nm card this year still. GPUs are no longer toys; they are a form-factor for supercomputers.
I don't think for example caustics would work very well with voxels, but a hybrid solution would perhaps be ideal, where you could have voxels alongside normal polygons. This does however mean that these guys would have to sell their software as an addition to some Id/cry/UDK etc. engine which is much less glamorous than revolutionizing computer game graphics. They appear to enjoy the attention a little too much for their own good.
All rites reversed 2010
I actually had a jon interview with these people a few months back. It was the shortest interview I ever had. They are based on an industrial estate near the south end of the gateway bridge in Brisbane. There offices are quite small.. When I visited there were only one or two people there. Sadly they gave no clues as to how there technology works, all I can say is its something involving octrees and voxels. This area has been covered by a lot of people before. They seem to think they have developed the technolgy to the extent that the rendering time is only dependant upon the screen resolution, no matter what the detail in the scene. The main thing that makes me skeptical is that they are getting there money from a government department set up to encourage technology and past experience tells me that these sort of people arent really at judging the viability of things high tech things. If there technology was that good they would have investors cueing up round the block. Reminds me a bit of a TV show I saw years ago about a guy in California who said he had made a car run on water. I wanted to believe that was true, being only young and foolish. Obviously nothing came of that or we would all be driving them now. Anyway, back to the interview. They never got back to me, despite the fact that the guy seemed keen to get back to me for a second interview. When I finally got back to them they said the job was no longer available. Seemed a bit funny as just after the interview there was an announcement in the press of the winning the grant and they were saying how they were going to expand their team to develop the technology on different platforms. Havent seen any more job opening advertised. As an aside, if you want to see a good demo of voxel technology. Check out the web site of Dennis Bautembach. Hes at Hamburg university in Germany. Hes written some code for animating octrees. You can download demo code to see how it works and hes also written a paper about it. So good on him for developing it and sharing it with the rest of us. The link is http://bautembach.de/wordpress/?page_id=7
They have claimed they can make animation work - although how well is another question. As to lighting, right at the end, they showed a far improved lighting setup they claim to have just got working.
-- Lattyware (www.lattyware.co.uk)
That's the answer to that part of the equation. See minecraft.
We've had this discussion some time ago.. and from what I remember it came out that the procedural creation of "atoms" is kinda powerful and scalable, but will inherently not allow any kind of collision detection and/or animation.
so basically, yes, this can be used to create a very detailed static world.
First of all, I have nothing against the government spending money on computer game graphics engines, in fact I think such money is wisely spent (more wisely than most defense projects, at least). However, out of sheer curiosity I'd like to know how a small software company can get 2 million AUD$ government funding?
Euclideon is unjustly taking credit for other people's hard work. They say they've invented the methods and algorithms behind it all, well that's just pure fantasy. Here's what Euclideon is basing there technology off of:
http://research.nvidia.com/publication/efficient-sparse-voxel-octrees-analysis-extensions-and-implementatio
http://artis.imag.fr/Publications/2009/CNLE09/
Here's video from 2009 which looks better than Euclideon's videos: http://www.youtube.com/watch?v=HScYuRhgEJw
They might also be using other people's source code (legally though, it's released under the Apache license): http://code.google.com/p/efficient-sparse-voxel-octrees/
Furthermore, it's not "unlimited detail", you will always have a limited amount of RAM and disk space, therefore you have limits to your detail, even with procedural content generation.
Stop virally spreading this video, you're only helping Euclideon profit from more page views and attention.
Actually, I've been working on a similar technology for quite some time: http://drastic.net/sarlac/qgi/
Comanche: Maximum Overkill and Werewolf v Commanche (1992 or so)
Donte Alistair Anderson Roberts - hi son!
Karma: Chameleon
As many readers have pointed out, the article is light on technical details. Based on the demonstration video on the article, it looks to me like they've come up with an algorithm to interlace models -- that is, to load and process 3D models in non-linear order. If that's the case, they could be producing simplified objects(with only enough polygons to render a pixel perfect image with a given resolution and viewing distance) from incredibly detailed models on the fly.
At 5:07 into the video is a demonstration of how games would typically show a simpler version of an object from far away and switch into a higher detailed version once the object comes closer. Their algorithm could be producing these dumbed down models on the fly, just not limited to two levels of detail but countless different variations.
The reason I called this interlacing is because it reminds me of how web sites with JPEG images would load over a slow dial-up modem back in the day. At first a blurry or pixelized version of the image was portrayed, and once the rest of the image was loaded (much later) the image had arrived at its full quality.
Correct, but they actually use ray-casting, not ray-tracing. Ray-casting only involves a single ray collision test and sample per pixel, and then you need to use an alternative means to compute lighting, such as a deferred shading and lighting compositor. Full ray-tracing doesn't scale well for real-time graphics in shared memory systems due to memory access patterns involved. Intel has some demos with some simple car models doing full recursive ray-tracing, but it only runs at a few FPS even on 64 cores.
I don't know much about the rendering process, but the amount of data that would need to stored and eventually loaded for that island demo is ridiculous. 21 trillion atoms with 3d coordinates stored with a 32 bit resolution would require 201.6 TB . 64 bit resolution would probably be required for the immense scale and minute detail, putting us at 403.2 TB. Now of course some of the data is repeated models and maybe it is procedurally generated but you are still going to be dealing with models requiring enormous amounts of data to be loaded into memory at some point. Did they invent a new affordable high performance storage solution?
Remember, they only need to search a point cloud once for each pixel on the screen. The volume of points in the cloud has a much lesser effect on their performance than the number of pixels on the screen. So they can probably run a 640x480 output on a fairly low end machine. Yeah, running a 3-1040p monitor set up would probably require some amazing hardware, but for us mere mortals, I don't think that's quite as much of a concern.
AMD would be nice, but honestly, Google would be the best to have a hack at it. The entire engine is based on a search engine on a massive library of points. If any company has expertise in managed huge volumes of data, and searching it at blistering speeds, it's Google.
-Rick
"Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
If this is in fact real, I'd be very interested in what kind of implementations this would have when combined with a physics engine. I'd imagine an "atom" cloud would be easier to make flexible than the current polygon models. It might also help in more realistic destruction of models, if you could model the inside of an object as well as the surface (solid instead of surface modeling), and have it break at arbitrary positions.
Only dumb birds land downwind.
I see a lot of very skeptic responses and I must admit I am a bit too. But then I thought back to the first time I saw "Doom" on a 486 and almost had my eyes fall out. It was just such a big step... I could have imagined it. All it took was someone with a very bright idea. Perhaps we might be in for a similar surprise...
Towards the end of their video, they talk about a demo of an island using 21 billion points. Which is pretty much impossible to keep in RAM on anything less than a minicomputer.
Let's assume that each point is storing the bare minimum of data needed - xyz position (each as 32-bit ints) and two pieces of color information (diffuse and specular, also 32 bits a piece). So that's 20 bytes of data per point, which comes out to be 391GB of data (for a static, unanimated mesh, I remind you). You can't store that in RAM on anything even remotely consumer-grade. That's even a lot of data for storage on-disk - I have yet to see a released game take up more tha 20 or 30GB.
Even compression won't get you too far. Lossless compression can pack things down to ~20% their original size - in this case, 71GB. Lossy compression might be used (it's image data, after all), which can often bring things down to ~5% their original size without significant loss of quality. In this case, 5% would be 19GB. Now we're in the level of being able to store one level on-disk, but RAM is still out. So some sort of streaming system is necessary, and getting that right usually takes a genius programmer. Carmack might be able to make it run on modern tech, but I would bet against some random newcomers, especially if they don't show any details.
In any case, they seem ignorant of the fundamental economics of gaming. In the old days, you could make a game with just one artist on the team, because they were making very low-detail sprites. As we moved into 3D, this grew to 3-10 artists making low-poly models. And it kept growing - by now, an AAA game will need several dozen artists to make something that looks HD. If you move further, into the level of detail these guys are claiming, you're going to need a LOT more. Making a game using this type of system would require HUNDREDS of artists. Which, of course, would make games even more expensive - anybody up for a $500 game? I don't think so.
I'm pretty sure this is the graphics system the Phantom console is going to use.
Remember, they only need to search a point cloud once for each pixel on the screen. The volume of points in the cloud has a much lesser effect on their performance than the number of pixels on the screen.
There's still an awful lot of antialiasing to be done, though, or you're going to end up with a lot of artifacts. Look at the quality of some early digital transfers -- eg in the remastered Star Wars trilogy, where stars would appear, disappear, get bigger and get smaller when the camera panned through space. Supersampling a point cloud could get very messy, particularly if you're populating the world with thin objects (eg vines).
Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
The infinite is possible with zombo.com! err unlimited detail
Again, I'd say that they have a HUGE advantage over traditional anti-aliasing. Instead of having to do edge detection along polygons, or per-pixel antialiasing that blurs non-edge lines, they can get the performance of per-pixel antialiasing with the strength of polygon pixel shading.
Think about projecting and shrinking extruding square through space, each point that square passes can be considered for transparency and antialiasing, especially if you oversize the square slightly for the pixel to pick up neighboring particles for cross-pixel antialiasing. And at that point you're talking about blending a handful of points, that you would already have to do to account for partial pixel covering by points.
Effectively, a single pass anti-alias must be part of the basic engine. Beefing it up to a multipass anti-alias engine would increase the workload, but depending on how they search/load/cache results, it might not be all that significant. In any case, it's very likely to not be as intense of process as current polygon, or edge antialiasing, and it should produce a more accurate blend than screen antialiasing.
-Rick
"Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
If said island is comprised of a few objects that are repeated over and over again (looks like it), keeping the data in memory is easy... Data structures can have shared nodes etc.
"I love my job, but I hate talking to people like you" (Freddie Mercury)
... but I'm still waiting for something to follow up on the nVidia tech demo. My guess is that current games are using far too many effects specifically designed to use current hardware that cannot be easily implemented using voxels. Also, I haven't seen much info regarding animated scenes with sparse voxel octrees and I can't think of a straightforward way to do this ... Here's a youtube video with some info though: animated sparse voxel octrees.
"I love my job, but I hate talking to people like you" (Freddie Mercury)
"It's not clear what exactly is getting multiplied"
Their web site had no RSS feed, WUWT?
This is most likely marketing speak for some sort of micropolygons or REYES algorithm
(basically atoms ~ micropolygon, flat-panels" ~ tessalated tri-strips)
http://notch.tumblr.com/post/8386977075/its-a-scam
"It's a scam!
Perhaps you've seen the videos about some groundbreaking "unlimited detail" rendering technology? If not, check it out here, then get back to this post: http://www.youtube.com/watch?v=00gAbgBu8R4
Well, it is a scam.
They made a voxel renderer, probably based on sparse voxel octrees. That's cool and all, but.. To quote the video, the island in the video is one km^2. Let's assume a modest island height of just eight meters, and we end up with 0.008 km^3. At 64 atoms per cubic millimeter (four per millimeter), that is a total of 512 000 000 000 000 000 atoms. If each voxel is made up of one byte of data, that is a total of 512 petabytes of information, or about 170 000 three-terrabyte harddrives full of information. In reality, you will need way more than just one byte of data per voxel to do colors and lighting, and the island is probably way taller than just eight meters, so that estimate is very optimistic.
So obviously, it's not made up of that many unique voxels.
In the video, you can make up loads of repeated structured, all roughly the same size. Sparse voxel octrees work great for this, as you don't need to have unique data in each leaf node, but can reference the same data repeatedly (at fixed intervals) with great speed and memory efficiency. This explains how they can have that much data, but it also shows one of the biggest weaknesses of their engine.
Another weakness is that voxels are horrible for doing animation, because there is no current fast algorithms for deforming a voxel cloud based on a skeletal mesh, and if you do keyframe animation, you end up with a LOT of data. It's possible to rotate, scale and translate individual chunks of voxel data to do simple animation (imagine one chunk for the upper arm, one for the lower, one for the torso, and so on), but it's not going to look as nice as polygon based animated characters do.
It's a very pretty and very impressive piece of technology, but they're carefully avoiding to mention any of the drawbacks, and they're pretending like what they're doing is something new and impressive. In reality, it's been done several times before.
There's the very impressive looking Atomontage Engine: http://www.youtube.com/watch?v=Gshc8GMTa1Y
Ken Silverman (the guy who wrote the Build engine, used in Duke Nukem 3D) has been working on a voxel engine called Voxlap, which is the basis for Voxelstein 3d: http://www.youtube.com/watch?v=oB1eMC9Jdsw
And there's more: http://www.youtube.com/watch?v=xUe4ofdz5oI http://www.youtube.com/watch?v=lEHIUC4LNFE http://www.youtube.com/watch?v=Zl9CiGJiZuc
They're hyping this as something new and revolutionary because they want funding. It's a scam. Donâ(TM)t get excited."
-Styopa
Check out Notch's (the creator of Minecraft) opinion on this:
http://notch.tumblr.com/post/8386977075/its-a-scam/
Bottom line: it's a scam.
They were called 'sprites' and required quite some work to have a lot of detail and a lot of detail required a lot of power to process even for simple modifications like lifting an arm and interpolating everything in between. In 3D space we call them voxels and recently some GPGPU's can work quite fast with them.
However on a standard (16-core, 8GB) computer rendering and tracing the collision, activation and interaction of specific voxels onto other voxels for about 5 movies of 100s (2048x2048) takes about 2 weeks of user interaction and 2 days of rendering. Yes, this is for scientific purposes where you do want that type of detail but imagine making even the simplest humanoid interpretation in a game (even just an outer shell) where specific voxels can be modified by incoming clusters of voxels (eg. a bullet) - this would require months of programmer and designer work if it can even be rendered in real time.
Custom electronics and digital signage for your business: www.evcircuits.com
Voxel based rendering, which is all this is effectively, is hardly new. In fact I remember games from the early 90s that shipped using Voxel based rendering. There's just simply limitations around the technology. There's limitations around polygonal renderers as well. Right now polygonal gets more bang for the buck basically. To really take advantage of voxels would at a minimum require either generating your entire world procedurally (works for some games, not all), limiting the size of your world (compression of data only gets so effective), or having massive amounts of storage (we're getting there).
Honestly I'd go so far as to say that there's very little "new" possible in 3D rendering technologies. Optimizations happen, silicon gets faster (mostly because silicon continues to get smaller, so they get to add more parallelization in the same space), but I'd say while the processing speed continues to make previous impractical methods useable, it's not really creating anything new. At some point we'll very likely end up with real time raytracing/radiosity of solids based data. Not just portions of it, or single passes. Even before then we will continue to see mixtures of techniques. But all the marketing videos in the world doesn't really make something new.
^^^^^^^^^^^^^^ Fixed that for you
The new right fascists are bilingual. They speak English and Bullshit.