• MorphOS Developer
    itix
    Posts: 1516 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
  • »13.12.13 - 21:42
    Profile