Dbug information 1288 glöps
- general:
- level: user
- personal:
- first name: Mickael
- last name: Pointier
- cdcs:
- cdc #1: VIP 2 by Popsy Team [web]
- cdc #2: Cuddly Demos by The Carebears [web]
- cdc #3: The Union Demo by The Union
- cdc #4: Lifeforce by Andromeda Software Development [web]
- demo Atari ST European Demos by Overlanders [web]
- Most of the screens are really, really average, but some are great :)
- rulezadded on the 2010-04-11 11:00:47
- demo Atari ST Ultimate GFA Demo by Overlanders [web]
- Good old Ultimate Gfa Demo. And yes they had to release the source code of one of the effects, because most people did not believe it was pure GFA. Admittedly there was a lot of bmove and precomputed patterns, but that was pure GFA indeed :)
(and yes NeXT had also an Overlamers period ;) ) - rulezadded on the 2010-04-11 10:57:44
- demo Dreamcast Wobble by CRTC
- You can do cool things with the VQ textures. Since the dictionary part is separated from the actual texture, you can use that to do fake palletized modes, or some funky effects by patching the dictionary instead of the texture itself :)
Transparent polygons are costly, yes, so things like big alpha-blended stuff tend to be inefficient. Some of the transparent stuff can be heavily optimized. Typical examples are overlay pictures, or non squared logos, or things with a "faded border". Instead of just using a big alpha texture on one single polygon, just use two passes, the first using the punch-trough mode, the second with the full alpha texture.
When filling the DMA buffers, something worth mentioning is that if you know in advance the size of what you are sending, you can often optimize by writing backward (pre-decrement is faster that post increment), and preloading stuff using the prefetch instruction.
Should also check that your compiler aggressively uses all the registers. I know the hitachi compiler (SHC) sucked at that, but on the other hand it was stupid and just using "register float bla" would make "bla" correctly associated to a free float register, same for integer/pointers, resulting in much faster code - because the compiler can fill the delay slots :)
A last trick is to use non standard order to matrices. If instead of storing things so you get X, Y, Z as a result, you can't start the projection immediately. If you shuffle everything so you get Z out first, you can immediately compute the inverted Z, and by the time the divide is done you get the next computed value our of the matrix computation ready to be multiplied, effectively eating out the cost of the projection.
For the frame-buffer, did you use the 16 or 24 bit mode? Internally all the tile blending is done in maximum definition, and the result is then converted/dithered to 16 bit if you enabled 16 bit frame buffer, and frankly the difference in visual quality is not worth wasting texture memory for a 24 bit frame-buffer. (plus it's slightly faster).
Oh, last question, in KOS do you have support for 2V and 3V latency modes? In a demo the 3V mode would be optimal, because you can use VSync and still amortize the cost of frames that are longer than others without dropping the VBL. (In a game it's a bit annoying because it adds latency in the controls, but in a demo, go for it!) - isokadded on the 2010-04-11 10:49:46
- demo Dreamcast Wobble by CRTC
- You could also use the VMU as a part of the demo, to display stuff on them while the demo is running :)
If you use VQ texture you can have a lot more textures in memory at the same time.
trixter: the article your pasted is globally correct, but there are still some things to consider: You need to do the near clip on the strips, and when you generate strips you don't want the longest possible strips (in my experience 6 to 15 triangles is the optimal size) because the final rendering performance is dependent on the number of tiles covered by the bounding rectangle occupied by the projected stripe.
So if you try to get very long stripes by using fancy libraries, you get the risk of having the bounding box of the stripe to cover the whole screen, which will force the PVR to check every single damn tiles. It's also increasing the memory requirements.
One of the most important things, is to not forget swizzling the textures, it has a huge impact on the performance (Mip-mapping as well, don't use non mip-mapped textures if you can). And don't use anisotropic filtering if you don't need it, it's a performance killer.
- isokadded on the 2010-04-10 20:16:17
- demo Flash $21 by Orion [web]
- What Zone said.
- rulezadded on the 2010-04-10 17:05:07
- demo Flash 99er by Evoflash [web]
- Me like it :)
Too bad you can't watch it on an iDevice. - rulezadded on the 2010-04-10 17:00:37
- demo Dreamcast Wobble by CRTC
- Well, being a former dreamcast developer I was not very impressed by what I saw on screen, but just for the sake of not wanting to complain without basis I took the time to download the KOS source code. Based on what I checked, you would not have got much more from the official SDK, possibly the 1st party developers had direct access to the sound and device hardware - but that's not a significant advantage for demo making.
So yes the KOS lib gives you access to the processor intrinsics (sincos seems to be the only one missing), there is support using store-queues, there is decent support for the various list of primitives (opaque, transparent and punch-through), and the code seems to do a decent job at handling the DMA and tile accelerator.
So from what I can see, you had about the same stuff as I had to use (Kamui), and well, this demo does not seem to use any of the specificities of the dreamcast like the volume modifiers or the per pixel perfect translucency sorting.
Now that you know how the dreamcast work, that you have a working SDK, makes some thing cool, and you will get my thumb up on the next one :)
- isokadded on the 2010-04-10 16:40:48
- demo Windows Agenda Circling Forth by Fairlight [web] & Carillon & Cyberiad [web]
- Thumb up for the technical achievement, but I really did not like it, found it very boring. (My gf and I both prefer "Wir Sind Einstein" to the three top demos.)
- rulezadded on the 2010-04-06 19:02:45
- demo Windows Wir sind Einstein by United Force [web] & Digital Dynamite [web]
- Entertaining!
A good follow up of the Golden Path, at least just not a boring 3d flyby without originality :) - rulezadded on the 2010-04-05 12:50:08
- 1k Windows Mistrace by TBC
- That one was awesome.
- rulezadded on the 2010-04-04 12:13:49
account created on the 2000-10-28 23:46:50
