Results 1 to 3 of 3

Thread: Please release "full" (internal) LWSDK!

  1. #1
    Electron wrangler jwiede's Avatar
    Join Date
    Aug 2007
    Location
    San Jose, CA
    Posts
    7,319

    Please release "full" (internal) LWSDK!

    As it appears increasingly likely that Lightwave development has been mothballed, and in the name of giving third-party developers their best chances at continuing to support and extend Lightwave, please release the FULL (internal dev) version of the LW SDK including the missing headers (incl. volumetrics) and missing API bindings (incl. geometry db APIs).

    (also filed as LWF-3049)
    John W.
    LW2015.3UB/2019.1.5 on MacPro(12C/24T/10.13.6),64GB RAM, NV 980ti

  2. #2
    Post-LW Engineer Jarno's Avatar
    Join Date
    Aug 2003
    Location
    New Zealand
    Posts
    626
    There is no such thing.
    The only unreleased LWSDK headers are experimental and incomplete, or for a highly specific one-off purpose.

    This idea that there is some secret unreleased internal LWSDK which the devs use to implement everything is a myth.

    ---JvdL---

  3. #3
    TrueArt Support
    Join Date
    Feb 2003
    Location
    Poland
    Posts
    8,471
    Polygon handler class has no access to polygon flags like whether polygon is hidden or visible..
    scanPolys() inside of polygon handler will return you also hidden polys and 3rd party developer can't check whether user see them or not.
    I informed about it couple times since 2008 when I found it..


    On the left, what is selected is mesh generated by custom polygon handler. On the right you can see some polygons are hidden and not visible in viewport..
    scanPolys() should return ALL polygons, like now, but also have polFlags() which will return hidden flag bit,
    so custom polygon programmer will decide whether ignore them or not.

    typedef struct st_LWPolygonTypeAccess
    {
    void *priv;
    void *(*pntVLookup) (LWPolygonTypeAccessID, LWID, LWCStringUTF8 vmap_name);
    int (*pntVIDGet) (LWPolygonTypeAccessID, LWPntID, float *vector, void *vmapid);
    void (*pntOtherPos) (LWPolygonTypeAccessID, LWPntID, LWFVector pos);
    int (*scanPolys) (LWPolygonTypeAccessID, LWPolScanFunc *, void *);
    LWID (*polType) (LWPolygonTypeAccessID, LWPolID);
    int (*polSize) (LWPolygonTypeAccessID, LWPolID);
    LWPntID (*polVertex) (LWPolygonTypeAccessID, LWPolID, int);
    LWCStringUTF8 (*polTag) (LWPolygonTypeAccessID, LWPolID, LWID);

    } LWPolygonTypeAccess;

    Where is polFlags() function?

    Where is pntFlags() function to check whether point is visible by user in viewport?

    As a result it is impossible to check whether curve has flags:

    #define EDDF_SELECT (1<<0)
    #define EDDF_DELETE (1<<1)
    #define EDPF_CCEND (1<<2)
    #define EDPF_CCSTART (1<<3)

    As a result it is impossible to check whether some polygon is selected or not..

    Custom polygon handler should get these information to highlight polygon using different color.

    LightWave internal version of Catmull-Rom curve has access to EDPF_CCSTART, EDPF_CCEND, because we can see it as dashed line.

    In LWMeshInfoID there is polFlag() but custom polygon handler is not receiving LWMeshInfoID.
    (I don't think so it has EDDF_SELECT, which is also needed)

    In newly introduced LWMeshFuncs there is no pntFlags nor polFlags at all!


    LWPolygonTypeAccess should have function to get either LWMeshID and LWMeshInfoID and layer index and object index in LWObjectFuncs..
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	Virtual Mesh.jpg 
Views:	105 
Size:	161.0 KB 
ID:	148981  

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •