Implement the following functions for WebARKitLib-rs, as outlined in the project plan (#1):
arParamChangeSize (ParamChangeSize.c example)
ar3DCreateHandle (Rust existing prototype)
arglCameraFrustumRH (functionality not yet stubbed, but coordinate/projective code is present in core/math.rs and ar2.rs)
Reference implementations and notes
arParamChangeSize
ar3DCreateHandle
- Partial Rust port:
ar_3d_create_handle
- Relies on the
AR3DHandle struct
- Typically used after camera param init
arglCameraFrustumRH
- Related code: no direct port, but see mathematical helpers and matrix projection math in
math.rs and projecting functions in ar2.rs
- This function typically computes an OpenGL-style right-handed frustum matrix using calibration params
Additional tasks
- Audit dependencies and suggest other required or closely-related functions (ex: those that rely on/extend arParamChangeSize, ar3DCreateHandle, or arglCameraFrustumRH)
- Suggest additional small functions to include if trivial or beneficial
- Document design and relevant types for future contributors
Useful Rust stubs or references
Please attach code links or code blocks in PRs to clarify how functionality matches ARToolKit/ARToolKitX (C) implementations.
Implement the following functions for WebARKitLib-rs, as outlined in the project plan (#1):
arParamChangeSize(ParamChangeSize.c example)ar3DCreateHandle(Rust existing prototype)arglCameraFrustumRH(functionality not yet stubbed, but coordinate/projective code is present in core/math.rs and ar2.rs)Reference implementations and notes
arParamChangeSize
main.c:arParamChangeSize(&cparam, width, height, &cparam);ARParamar3DCreateHandle
ar_3d_create_handleAR3DHandlestructarglCameraFrustumRH
math.rsand projecting functions inar2.rsAdditional tasks
Useful Rust stubs or references
ARHandleusage exampleARParamstruct definitionAR3DHandlestruct testPlease attach code links or code blocks in PRs to clarify how functionality matches ARToolKit/ARToolKitX (C) implementations.