Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Template Matrix class #1297

Open
wants to merge 29 commits into
base: development
Choose a base branch
from

Commits on Jul 27, 2024

  1. backup

    initial implemenation of templated classes :
    Matrix class first.
    marauder2k7 committed Jul 27, 2024
    Configuration menu
    Copy the full SHA
    dd25f1c View commit details
    Browse the repository at this point in the history
  2. Update mMatrix.h

    setColumn
    setRow
    isIdentity
    
    only a few functions left
    marauder2k7 committed Jul 27, 2024
    Configuration menu
    Copy the full SHA
    0f02c87 View commit details
    Browse the repository at this point in the history

Commits on Jul 28, 2024

  1. Update mMatrix.cpp

    fix comment, torque is already column major, even though doc says its row major
    marauder2k7 committed Jul 28, 2024
    Configuration menu
    Copy the full SHA
    c0bcb8b View commit details
    Browse the repository at this point in the history
  2. implement struct example

    marauder2k7 committed Jul 28, 2024
    Configuration menu
    Copy the full SHA
    02b5e85 View commit details
    Browse the repository at this point in the history
  3. mul and operators

    add mul functions and operators
    code conformity changes
    marauder2k7 committed Jul 28, 2024
    Configuration menu
    Copy the full SHA
    2cee5f7 View commit details
    Browse the repository at this point in the history
  4. normalize and affineInverse

    added functions for normalize and affineInverse
    marauder2k7 committed Jul 28, 2024
    Configuration menu
    Copy the full SHA
    8f8cc32 View commit details
    Browse the repository at this point in the history
  5. rest of the implementation

    apparently templated classes need all functions to be inline, otherwise unresolved symbols
    macro for switching between matrixf and templated
    few functions that were missed
    marauder2k7 committed Jul 28, 2024
    Configuration menu
    Copy the full SHA
    888332a View commit details
    Browse the repository at this point in the history
  6. closest

    backup closest working example, no errors or warnings from compile, matrices arent correct though yet.
    marauder2k7 committed Jul 28, 2024
    Configuration menu
    Copy the full SHA
    c61d36b View commit details
    Browse the repository at this point in the history
  7. Update mMatrix.h

    marauder2k7 committed Jul 28, 2024
    Configuration menu
    Copy the full SHA
    504b549 View commit details
    Browse the repository at this point in the history
  8. Update mMatrix.h

    most working example
    marauder2k7 committed Jul 28, 2024
    Configuration menu
    Copy the full SHA
    2fa1519 View commit details
    Browse the repository at this point in the history

Commits on Jul 29, 2024

  1. Update mMatrix.h

    silence issues from macos clang
    marauder2k7 committed Jul 29, 2024
    Configuration menu
    Copy the full SHA
    75c5a09 View commit details
    Browse the repository at this point in the history
  2. Update mMatrix.h

    bracket lines
    change functions to match mmath_c to figure out where the issue is.
    marauder2k7 committed Jul 29, 2024
    Configuration menu
    Copy the full SHA
    54bb31c View commit details
    Browse the repository at this point in the history
  3. Create mathMatrixTest.cpp

    committed tests for matrix class
    so far all tests are matching between templated and stock matrixf class
    marauder2k7 committed Jul 29, 2024
    Configuration menu
    Copy the full SHA
    f77ff37 View commit details
    Browse the repository at this point in the history
  4. Update mathMatrixTest.cpp

    more tests that match between template and matrixf
    marauder2k7 committed Jul 29, 2024
    Configuration menu
    Copy the full SHA
    409f523 View commit details
    Browse the repository at this point in the history
  5. Update mathMatrixTest.cpp

    change mul tests to use more real world examples
    marauder2k7 committed Jul 29, 2024
    Configuration menu
    Copy the full SHA
    fc058aa View commit details
    Browse the repository at this point in the history
  6. inverse function

    fixed inverse function, was not returning correctly.
    marauder2k7 committed Jul 29, 2024
    Configuration menu
    Copy the full SHA
    8c19f6d View commit details
    Browse the repository at this point in the history
  7. Update mathMatrixTest.cpp

    test box multiplication
    test transformPlane
    marauder2k7 committed Jul 29, 2024
    Configuration menu
    Copy the full SHA
    5883e3d View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2024

  1. tests

    added more unit tests to match values between templated and matrix
    
    tests showed discrepancies in affineInverse, fixed the function to return what is expected.
    marauder2k7 committed Jul 30, 2024
    Configuration menu
    Copy the full SHA
    a5de2d9 View commit details
    Browse the repository at this point in the history
  2. more fixes

    more unit tests revealed more discrepancies fixes applied.
    marauder2k7 committed Jul 30, 2024
    Configuration menu
    Copy the full SHA
    d038519 View commit details
    Browse the repository at this point in the history
  3. unit tests and fixes

    implemented the rest of the tests
    euler single dimension angle tests now pass, missed 1.0f in z
    marauder2k7 committed Jul 30, 2024
    Configuration menu
    Copy the full SHA
    f96e044 View commit details
    Browse the repository at this point in the history
  4. inverse fixes

    further tests showed issues with inverse function, now to better match what was originally happening, the inverse only happens on the 3x3 portion of the matrix and translation is handled separately.
    
    Frustum test now uses more real world examples of a projection matrix. Test for the full unproject stack of math to test its result as unproject was where the issue about inverse originated
    marauder2k7 committed Jul 30, 2024
    Configuration menu
    Copy the full SHA
    4078f3a View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2024

  1. cramer for inverse

    added #if block around inverse methods to track down shadow bug
    
    uses old inverse method as default for now.
    marauder2k7 committed Jul 31, 2024
    Configuration menu
    Copy the full SHA
    ab4b4cb View commit details
    Browse the repository at this point in the history
  2. fix

    fix invertTo function
    unitTest to make sure matrix calling invertTo does not get changed.
    reimplemented gauss jordan.
    marauder2k7 committed Jul 31, 2024
    Configuration menu
    Copy the full SHA
    165a2be View commit details
    Browse the repository at this point in the history
  3. Update mMatrix.h

    returning identity no longer necessary as fullinverse is its own algo
    marauder2k7 committed Jul 31, 2024
    Configuration menu
    Copy the full SHA
    219792c View commit details
    Browse the repository at this point in the history
  4. Update mMatrix.h

    add default destructor
    marauder2k7 committed Jul 31, 2024
    Configuration menu
    Copy the full SHA
    b5e729c View commit details
    Browse the repository at this point in the history

Commits on Aug 1, 2024

  1. Update mMatrix.h

    invertTo should always just be const
    return loop to * operator, explicit will not allow for scaling of rows and cols
    marauder2k7 committed Aug 1, 2024
    Configuration menu
    Copy the full SHA
    699fa5e View commit details
    Browse the repository at this point in the history
  2. unit test improved precision

    change matrix unit tests to use POINT_EPSILON macro for testing precision
    remove old matrix test class, was not used anyway
    marauder2k7 committed Aug 1, 2024
    Configuration menu
    Copy the full SHA
    b72b788 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2ed9fbb View commit details
    Browse the repository at this point in the history
  4. cmake option

    cmake option to enable the templated matrix class, this is still in review phase, if it gets merged into main, probably best to remove this options just in case someone activates it accidentally.
    marauder2k7 committed Aug 1, 2024
    Configuration menu
    Copy the full SHA
    3b4ce5f View commit details
    Browse the repository at this point in the history