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

First pass of OpenGL rendering pipeline #1201

Draft
wants to merge 76 commits into
base: master
Choose a base branch
from
Draft

Commits on Aug 8, 2024

  1. Configuration menu
    Copy the full SHA
    76e3162 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f9ffe45 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    490b552 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5130a17 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    8cb3541 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    c26e14c View commit details
    Browse the repository at this point in the history
  7. Fix vertex colours

    dpogue committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    d804dd1 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    31ce785 View commit details
    Browse the repository at this point in the history
  9. Fix geometry rendering

    dpogue committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    e8b258b View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    9e99e62 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    4a1524e View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    2b231c6 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    2f217c5 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    d2bab10 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    7c86cdb View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    d026385 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    1dd688c View commit details
    Browse the repository at this point in the history
  18. Properly using (some) layer colours

    Doesn't handle diffuse or specular yet because those are complicated by
    lighting.
    dpogue committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    7f71882 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    6a37645 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    84b4963 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    a57a85e View commit details
    Browse the repository at this point in the history
  22. Refactor the texture loading

    dpogue committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    ac85786 View commit details
    Browse the repository at this point in the history
  23. DirectX device stub for the texture stuff

    The DirectX texture handling is just different enough that it doesn't
    quite refactor nicely, so I'm just leaving it as-is for now, and I
    suspect the OpenGL will evolve to be closer to the DX side in complexity
    further down the line.
    dpogue committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    5902b6e View commit details
    Browse the repository at this point in the history
  24. Possibly working Envmaps

    dpogue committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    264029d View commit details
    Browse the repository at this point in the history
  25. Fix the alpha blend textures

    dpogue committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    8c01b03 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    6e0bdd9 View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    3fb6173 View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    0fed8d9 View commit details
    Browse the repository at this point in the history
  29. Try to fix depth offsets

    dpogue committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    1ca82bd View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    ce55c96 View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    cbd6fb8 View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    8aa4bb2 View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    2640163 View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    b3e56d7 View commit details
    Browse the repository at this point in the history
  35. Fix for leaking VAOs

    A new VAO is being created every time a span is rendered, need to be deleted
    colincornaby authored and dpogue committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    35ed3b1 View commit details
    Browse the repository at this point in the history
  36. Version check VAO usage

    Although we're not realistically trying to target lower than GL 3.3
    initially.
    dpogue committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    fc88ee5 View commit details
    Browse the repository at this point in the history
  37. Fix some rendering glitches

    dpogue committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    ad384cc View commit details
    Browse the repository at this point in the history
  38. Configuration menu
    Copy the full SHA
    6a77293 View commit details
    Browse the repository at this point in the history
  39. Configuration menu
    Copy the full SHA
    726c12c View commit details
    Browse the repository at this point in the history
  40. Working spot lights

    dpogue committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    4d53e46 View commit details
    Browse the repository at this point in the history
  41. Configuration menu
    Copy the full SHA
    6745013 View commit details
    Browse the repository at this point in the history
  42. Configuration menu
    Copy the full SHA
    4f54731 View commit details
    Browse the repository at this point in the history
  43. Configuration menu
    Copy the full SHA
    de5ff06 View commit details
    Browse the repository at this point in the history
  44. Configuration menu
    Copy the full SHA
    571e906 View commit details
    Browse the repository at this point in the history
  45. Cache the lamp uniforms too

    dpogue committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    e636d27 View commit details
    Browse the repository at this point in the history
  46. Configuration menu
    Copy the full SHA
    4f1bd85 View commit details
    Browse the repository at this point in the history
  47. Configuration menu
    Copy the full SHA
    77c6cd3 View commit details
    Browse the repository at this point in the history
  48. GL pipeline cleanups

    dpogue committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    af32aec View commit details
    Browse the repository at this point in the history
  49. Configuration menu
    Copy the full SHA
    2dfd633 View commit details
    Browse the repository at this point in the history
  50. Configuration menu
    Copy the full SHA
    bb3f93a View commit details
    Browse the repository at this point in the history
  51. Configuration menu
    Copy the full SHA
    dd68560 View commit details
    Browse the repository at this point in the history
  52. Fixes for cull mode in GL

    Adding support for both front face and back face culling. Plasma mixes both.
    colincornaby authored and dpogue committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    2672510 View commit details
    Browse the repository at this point in the history
  53. Fix for z-fighting with physics bodies

    This should fix things like the fire marbles in Neighborhood. Those
    objects contain physics bodies that render as transparent, but were
    still contributing to the Z buffer and sometimes blocking other
    textures. This borrows from the DX renderer, where transparent bodies
    are not rendered. That also keeps them from contributing to the
    Z-buffer.
    colincornaby authored and dpogue committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    d6d882e View commit details
    Browse the repository at this point in the history
  54. Fix for alpha testing in fragment shader

    This should solve z-fighting in transparent textures. I haven't compared
    against DX so it's a bit of a guess, but fragments that are completely
    transparent should probably be discarded. This was causing z-fighting to
    occur with transparent materials that were overlapped on each other.
    Commonly seen in the "HeekD'nji" material in "Neighborhood."
    colincornaby authored and dpogue committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    adb6764 View commit details
    Browse the repository at this point in the history
  55. Opacity based culling fixes

    The GetOpacity based culling needed some more conditions, it was doing
    things like not rendering the fountain in Eder Kemo. That should be
    resolved now, and the fire marbles are still fixed.
    
    The alpha threshold change caused unresolvable issues in Eder Kemo.
    Undoing for now. I'll have to figure out a better way to fix that
    hologram.
    colincornaby authored and dpogue committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    96066fa View commit details
    Browse the repository at this point in the history
  56. Better fix for Z-fighting with hologram

    The DX version sets a really low threshold, but doesn’t actually set it
    to zero for when blending is enabled. Actual line from the DirectX is:
    
        fD3DDevice->SetRenderState(D3DRS_ALPHAREF, 0x00000001);
    
    This should fix things like the hologram in the neighborhood, and
    doesn’t break other things like blending in Eder Kemo.
    colincornaby authored and dpogue committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    c263289 View commit details
    Browse the repository at this point in the history
  57. Fix for directional lighting

    Directional lights in plasma are a global light vector. The lighting
    algorithm expects the vector to the light, so the global light vector
    needs to be reversed for accurate lighting.
    colincornaby authored and dpogue committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    d8ab6a3 View commit details
    Browse the repository at this point in the history
  58. Configuration menu
    Copy the full SHA
    cd36224 View commit details
    Browse the repository at this point in the history
  59. Move Push/Pop Layer stuff to pl3DPipeline

    This is what calls `Eval()` to make layer animations work, so that's now
    hooked up for plGLPipeline. I don't love this approach because it feels
    weird doing it in the shader class, and I suspect we need to know about
    layer overrides when the shader is being generated, but... for now it
    sorta works.
    dpogue committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    25d3e2f View commit details
    Browse the repository at this point in the history
  60. Configuration menu
    Copy the full SHA
    fed4c61 View commit details
    Browse the repository at this point in the history
  61. Configuration menu
    Copy the full SHA
    8256d82 View commit details
    Browse the repository at this point in the history
  62. Configuration menu
    Copy the full SHA
    34818b1 View commit details
    Browse the repository at this point in the history
  63. Configuration menu
    Copy the full SHA
    f35843f View commit details
    Browse the repository at this point in the history
  64. Configuration menu
    Copy the full SHA
    4cdc8ca View commit details
    Browse the repository at this point in the history
  65. Configuration menu
    Copy the full SHA
    ce89be2 View commit details
    Browse the repository at this point in the history
  66. plTextFont rendering for GL Pipeline

    This enables the loading bars and console.
    dpogue committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    e47a458 View commit details
    Browse the repository at this point in the history
  67. Configuration menu
    Copy the full SHA
    617741a View commit details
    Browse the repository at this point in the history
  68. Fix Relto crash with GL Pipeline

    Now it just leaks an absurd amount of memory rather than crashing.
    dpogue committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    1530abc View commit details
    Browse the repository at this point in the history
  69. Configuration menu
    Copy the full SHA
    635cfdd View commit details
    Browse the repository at this point in the history
  70. Configuration menu
    Copy the full SHA
    790174d View commit details
    Browse the repository at this point in the history
  71. Remove dynamic shader system

    dpogue committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    50998de View commit details
    Browse the repository at this point in the history
  72. Configuration menu
    Copy the full SHA
    02b6c5f View commit details
    Browse the repository at this point in the history
  73. Configuration menu
    Copy the full SHA
    efc7d7d View commit details
    Browse the repository at this point in the history
  74. Configuration menu
    Copy the full SHA
    26cf71f View commit details
    Browse the repository at this point in the history
  75. Configuration menu
    Copy the full SHA
    cbfcf03 View commit details
    Browse the repository at this point in the history
  76. Configuration menu
    Copy the full SHA
    2dd8afc View commit details
    Browse the repository at this point in the history