| Mixed Planar/chunky Mode, How Does It Work? | page 1 2 3 4 5 6 7
|
|---|
|
|---|
Michael v. Parent France
| | (Natami Team) Posts 434 15 Mar 2010 21:51
| Indeed, more is not always better. Adding an extra "D" to a game does NOT necessarily make it better. 2D games will always be around and will be some of the most fun games but they will certainly be using the 3D horsepower of modern platforms more of the time. (for scaling and rotating of the 2d art) Games like Wario land Shake it, Odin Sphere, and Guilty Gear are great examples.
| |
Phil "meynaf" G. France
| | (Natami Team) Posts 393 18 Mar 2010 11:27
| One Thousand wrote:
| 32bit/8R8G8B8A is chunky.
|
Hopefully it is ;)But why did you choose RGBA and not ARGB ? To me the latter seems more consistent with actual palette hardware which has the "unused" part in the high order bits, i.e. I'd find more logical to use 32bit/8A8R8G8B.
| |
One Thousand USA
| | Posts 832 18 Mar 2010 17:43
| That was only to show that it is to be chunky, all 32bits together. I do not know if it is ARGB or RGBA.
| |
Amiga Wolf
| | Posts 12 21 Mar 2010 15:14
| Hello everyone, this is my first post and I hope not a foolish question! Can anyone please tell me if the Natami graphics architecture implements a cartesian pixel-plane?
| |
Samuel D Crow USA
| | (Natami Team) Posts 1295 21 Mar 2010 19:57
| Cartesian pixel plane? Maybe using OpenGL ES drivers, but normally the top row is 0 and it indexes downward from there. That's how AmigaOS has always been.
| |
Marcel Verdaasdonk Netherlands
| | Posts 3975 21 Mar 2010 21:22
| ha, Cartasian I haven't heard that in a while, Samuel is right. But let's expand, Cartesian can be done in 8 different ways. 3D adds a whole new dimension of how it could be done.^ | / |/ +--> from where would the X,Y and Z axis would it point of origin be on the screen and how would it be orientated?
| |
Amiga Wolf
| | Posts 12 21 Mar 2010 22:32
| Samuel D. Crow wrote:
| Cartesian pixel plane? ...
|
Marcel Verdaasdonk wrote:
| from where would the X,Y and Z axis would it point of origin be on the screen and how would it be orientated?
|
Ben Blish described the concept in Amiga Transactor more eloquently than I ever could. Here is the text of the article, the latter half of which contains the most relevance. EXTERNAL LINK (25.67 KB) I understand the theory but have no idea of the hardware design. Maybe it's an idea that's time has passed but I just thought the alpha channel could be used for more than transparency effects. What say you all?
| |
R. Leffmann Sweden
| | Posts 16 21 Mar 2010 23:47
| I'm not questioning the author's expertise, but at a glance this Cartesian pixel plane concept seems over-engineered, and defeating of its own purpose, in the sense that it tries to improve the graphics capability, but also makes it less flexible in doing so.The text document suggests encoding drawing operations in a tiny 8 bits of data per pixel, and using specialized hardware to decode and perform these operations, such as do bitwise XOR on this pixel, or move one pixel left before drawing the next pixel. People always find clever uses for strange functionalities, but in a modern system with a linear frame buffer and a powerful GPU and CPU that can do any imaginable arithmetics and operations, possibly at a zero cost for many common graphics operations, this Cartesian pixel plane will in my opinion be a curiosity at best.
| |
Marcel Verdaasdonk Netherlands
| | Posts 3975 22 Mar 2010 02:09
| R. Leffmann, The Cartesian system is good, because it lets someone who knows the math involved to imaging what the output might be. Why specialized hardware? Well because we need to be able to do more in less time. And specialized hardware has been known to be faster then generic. A modern GPU is a monstrosity, it consist still out of relative simple building blocks. It's just they have serveral more then we can afford. We look at 3 categories 1. Basic functions, usually done in Hardware compares to breathing. 2. Complex functions, Sometimes done in hardware, mostly in software when proven too limiting in hardware, or too costly. 3. Rare functions, Think, something posible but useful in one application. In what Category would Cartesian fall? And think about this not every single thing has to be taken over word for word.
| |
Marcel Verdaasdonk Netherlands
| | Posts 3975 09 Oct 2011 23:12
| hm, both could be on a separate layer and the front layer should mask the back layer.(basic planar function, but it should allow for a chunky screen to be used very effectively without much software overhead.) you can deinterleave the chunky graphics into planar one's using relative simple hardware. However this would increase the need for more layers exponentially.
| |
Thomas Richter Germany
| | (MX-Board Owner) Posts 1425 10 Oct 2011 07:34
| Marcel Verdaasdonk wrote:
| hm, both could be on a separate layer and the front layer should mask the back layer.(basic planar function, but it should allow for a chunky screen to be used very effectively without much software overhead.)
|
This doesn't solve the problem of having to move or operate on both layers given a specific gfx call.Marcel Verdaasdonk wrote:
| you can deinterleave the chunky graphics into planar one's using relative simple hardware. However this would increase the need for more layers exponentially.
|
Again, not quite the problem. Deinterleaving - chunky to planar and planar to chunky - is only part of the problem. The problem is also color indirection and masking. For example: BlitTemplate takes a bitmap as output, has a planar(!) mask as input and has to cookie-cut through the layer boundaries. Thus, you need to convert the current data (chunky for a chunky bitmap), need to use the color in the APen of the rastport, go there to the current pen definition, use the true-color value there for the current pen whose value is the APen, then cookie-cut this through the bitmap (which is planar) - for the JAM1 draw mode - and then render back to the chunky bitmap. It is *not only* a simple planar-chunky conversion, but a round-trip through several lookup steps that simply do not happen this way in a traditional planar setup where color-indirection happens in the hardware.
| |
Wojtek P Poland
| | Posts 1597 10 Oct 2011 14:57
| Thomas Hirsch wrote:
| Thomas R., we did not fully test the new modes till now. We'll tell you when we are about to do this. The 24bit planar mode is ment how 1k said. There are 8bit each channel and no LUT. Disadvantage in this mode is that all (blitter) operations need to be started three times. But the major advantage is that this mode doesn't waste the extra 8bit like a 32bit PC graphic mode.
|
Most hardware i know do support 24-bit chunky graphics, without wasted 8-bit.
| |
Samuel D Crow USA
| | (Natami Team) Posts 1295 10 Oct 2011 21:08
| @Wojtek P The linear 24-bit modes require special-cases in the blitter hardware and will therefore remain unsupported by the NatAmi. Byte-planar graphics take advantage of blitter features already included in the chunky-8 display mode support.
| |
Marcel Verdaasdonk Netherlands
| | Posts 3975 10 Oct 2011 22:42
| Well Thomas you only got my proposal partially. I mean a brute force method, which means 32 planar layers to support 24bit true color chunky and 8 bit planar or any mix in between, only trouble i think we would get doing it is that intensity of a image (brightness) will be lost because every layer should be considered to be transparent proportional to the weight of the layers.(brutally in effective)another interesting Idea is to do chunky to HAM conversion in the hardware...
| |
Matt Hey USA
| | Posts 727 10 Oct 2011 23:38
| @Marcel Sorry Marcel, but both ideas sound like they have all the disadvantages of planar with none of the advantages of chunky. More than 8 bitplanes does not make sense today and does not fit in some of the planar data structures. Overlaying 8 bit planes over a chunky screen has some interesting possibilities though. I'm afraid there aren't any short cuts for the need to update the software. Here are the options I see...A) Reverse engineer the drivers for P96 and write a Natami driver. P96 would need to be installed to use chunky modes under Natami. B) License P96 or CGFX obtaining the needed documentation to make a driver. A distribution license could be obtained allowing Natami to come pre-installed with chunky support. C) Add better planar support to AROS. D) Write a new graphics.library that support chunky and is API compatible to AROS/CGFX. Option A is cheap with moderate difficulty. Option B is faster than A with more cost but may not be available. Option C will take a long time and a lot of testing. Option D has too many variables to say much. Option A, Reverse engineering and creating a P96 driver looks like the best short term solution to me. Option C or D could possibly use the P96 driver created in A or B.
| |
Marcel Verdaasdonk Netherlands
| | Posts 3975 11 Oct 2011 16:27
| Matt one tiny problem the P96 seems to be hijacked by AOS4 with no intend to release. What is smarter to do in hardware? build up from the back and overdraw where intended to? Or build up from the front screen and mask the under laying layers, when alpha isn't set?
| |
Samuel D Crow USA
| | (Natami Team) Posts 1295 11 Oct 2011 16:32
| @Marcel and thread As if CGX 4 wasn't hijacked by MorphOS?
| |
Thomas Richter Germany
| | (MX-Board Owner) Posts 1425 11 Oct 2011 17:39
| Marcel Verdaasdonk wrote:
| Well Thomas you only got my proposal partially. I mean a brute force method, which means 32 planar layers to support 24bit true color chunky and 8 bit planar or any mix in between, only trouble i think we would get doing it is that intensity of a image (brightness) will be lost because every layer should be considered to be transparent proportional to the weight of the layers.(brutally in effective) another interesting Idea is to do chunky to HAM conversion in the hardware...
|
The problem with that is again a limitation of gfx: A struct bitmap may only have up to 8 bitplanes, not more. If you want to have more, you need to provide an opaque "bitmap" identified by a "magic cookie", plus patched gfx functions that discover such bitmaps and then operate accordingly on them. Whether such bitmaps are then chunky or planar doesn't really matter much anymore, you need to patch in in either case. It is a principle constructional weakness of the Amiga gfx system - it is too much designed to fit to the hardware design, and it does not abstract the hardware capabilities enough to be easily extensible.
| |
Marcel Verdaasdonk Netherlands
| | Posts 3975 11 Oct 2011 17:56
| hm, reading all of the above over again i think the best solution would be to make a API compatible Graphics.lib with some extensions. And try to keep the lib limited to 2D. ;)
| |
Thomas Clarke United Kingdom
| | Posts 286 11 Oct 2011 21:21
| I won't pretend that I understand everything written in this thread, but just to be clear, these chunky restrictions only apply when using the Natami as an AGA machine, correct? What I mean by this is, with SuperAGA, we don't need to carry around the same restrictions. If the hardware is new, and the software making use of this enhanced hardware will be new, then the restrictions need not apply, correct?
| |
|