Compositing and Warp3D wish-list
Posted: Mon May 05, 2014 5:49 pm
The (shortened) wish-list I came up with while developing "Ace Of Hearts", "VoxelBird" and another title that will be released in some days:
Compositing:
1.1. support for normalized texture-coordinates.
1.2. and texture-repeat.
1.3. full RGBA-per-vertex-coloring, not just Alpha through that very limited COMPTAG_SrcAlpha.
1.4. get rid of those fixed vertex-struct-types. Let us define pointer, type and strides ourselfs.
1.5. z-buffer and 3D coordinates (but keep 2D coordinates)
If those few things were implemented Compositing would be almost as, well, "powerful" as Warp3D
Warp3D:
2.1. support for 2D coordinates. Often 3D coordinates are not necessary, why waste band-width. Considering the ancient roots of Warp3D I wonder why this is not inside anyway.
2.2. same as 1.4. Get rid of those limitations of InterleavedArrays. It was all good with VertexPointer etc. InterleavedArrays were a step back.
2.3. proper flat-shading. Not using W3D_GOURAUD is almost useless since vertex-color-arrays cannot be used at the same time. This is especially problematic if you want to draw a FLAT shaded indexed triangle list. You lose all the benefits of indexed drawing because you HAVE to enable W3D_GOURAUD with the consequence that vertices cannot be shared among triangles anymore, you have to create additional vertices for every triangle, otherwise the color of shared vertices would "bleed" in.
2.4. sorry, I have to put some salt in that wound: support for RadeonHD. Wonder why that's so hard to do considering that Warp3D is just a collection of rather basic and only a few functions, and also considering that Compositing can already do much of it. And as far as I know it is almost done (at least there was such a news about 1.5 years ago).
IMHO Warp3D for RadeonHD should have top-priority. Gallium and whatever, all nice, but really:
Warp3D is so basic and at the same time would bring all existing Amiga 3D software to the latest Amiga hardware.
It should be a rather easy task but would have really significant impact.
So why not finish that first before dreaming of other things?
Cheers,
Daniel
Compositing:
1.1. support for normalized texture-coordinates.
1.2. and texture-repeat.
1.3. full RGBA-per-vertex-coloring, not just Alpha through that very limited COMPTAG_SrcAlpha.
1.4. get rid of those fixed vertex-struct-types. Let us define pointer, type and strides ourselfs.
1.5. z-buffer and 3D coordinates (but keep 2D coordinates)
If those few things were implemented Compositing would be almost as, well, "powerful" as Warp3D
Warp3D:
2.1. support for 2D coordinates. Often 3D coordinates are not necessary, why waste band-width. Considering the ancient roots of Warp3D I wonder why this is not inside anyway.
2.2. same as 1.4. Get rid of those limitations of InterleavedArrays. It was all good with VertexPointer etc. InterleavedArrays were a step back.
2.3. proper flat-shading. Not using W3D_GOURAUD is almost useless since vertex-color-arrays cannot be used at the same time. This is especially problematic if you want to draw a FLAT shaded indexed triangle list. You lose all the benefits of indexed drawing because you HAVE to enable W3D_GOURAUD with the consequence that vertices cannot be shared among triangles anymore, you have to create additional vertices for every triangle, otherwise the color of shared vertices would "bleed" in.
2.4. sorry, I have to put some salt in that wound: support for RadeonHD. Wonder why that's so hard to do considering that Warp3D is just a collection of rather basic and only a few functions, and also considering that Compositing can already do much of it. And as far as I know it is almost done (at least there was such a news about 1.5 years ago).
IMHO Warp3D for RadeonHD should have top-priority. Gallium and whatever, all nice, but really:
Warp3D is so basic and at the same time would bring all existing Amiga 3D software to the latest Amiga hardware.
It should be a rather easy task but would have really significant impact.
So why not finish that first before dreaming of other things?
Cheers,
Daniel