MorphOS Developer
Posts: 1520 from 2003/2/24
From: Finland
Quote:
thellier wrote:
>OS4Emu dont support Warp3D Nova but new calls are implemented as no-op. Maybe it is using some new tags and flags in V4 calls. I can check it out when I am home.
OK can I update OS4emu so he will see the 8 new functions in the jump table
#define WARP3DV5 1 /* as WaZp3D emulate it */
[...]
(APTR) LibW3D_DrawElements,
(APTR) LibW3D_SetFrontFace,
#ifdef WARP3DV5
(APTR) LibW3D_SetTextureBlend,
(APTR) LibW3D_SecondaryColorPointer,
(APTR) LibW3D_FogCoordPointer,
(APTR) LibW3D_InterleavedArray,
(APTR) LibW3D_ClearBuffers,
(APTR) LibW3D_SetParameter,
(APTR) LibW3D_PinTexture,
(APTR) LibW3D_SetDrawRegionTexture,
#endif
(APTR) -1
}
Looks like new functions were added since 2008 when I developed wrapper last time because I had only these:
OS4_W3D_SetTextureBlend,
OS4_W3D_SetTextureBlendTags,
OS4_W3D_SecondaryColorPointer,
OS4_W3D_FogCoordPointer,
OS4_W3D_InterleavedArray,
OS4_W3D_ClearBuffers
Warp3D wrapper in OS4Emu dont have any new functionality inside. Everything is mapped 1:1 to Warp3D.library in MorphOS. An example:
Quote:
EMUCALL(ULONG, PROTO(W3D_DrawArray(struct Warp3DIFace *Self, W3D_Context * context, ULONG primitive, ULONG base, ULONG count)))
{
RC_START(ULONG)
rc = W3D_DrawArray(context, primitive, base, count);
RC_END
}
New functionality can be implemented only by using existing Warp3D V4 API or write completely new wrapper. In theory OS4Emu can use OS4 native wazp3d library (it has built-in support to load OS4 native libraries).
Anyway, time to compile Warp3D wrappers with debug on... havent touched this project in 5 years.
1 + 1 = 3 with very large values of 1