Skip to content
Snippets Groups Projects
  1. Apr 02, 2015
    • Eidolon's avatar
      Render most flats and sides with texture arrays. · 5c16a91f
      Eidolon authored
      This breaks stencil buffer clipping, transparent flats, the whole
      nine yards.
      
      Unfortunately, this is about as far as I will be taking this
      approach to cleaning up OpenGL. It's unfortunate, but this
      renderer is basically unsalvagable. I will have to rewrite it
      completely from scratch to get what I want out of this.
      5c16a91f
  2. Apr 01, 2015
    • Eidolon's avatar
      Use AA trees for managing vertex array buckets. · 084cf8e6
      Eidolon authored
      Might as well leverage an existing data structure, right? AA trees
      use numbers as keys and we can iterate through them in order. I'm
      surprised this was in the codebase!
      084cf8e6
    • Eidolon's avatar
      Add vertex buckets interface. · 5bf1e5b7
      Eidolon authored
      5bf1e5b7
    • Eidolon's avatar
      Add resizeable vertex array data structure. · 54f25c8f
      Eidolon authored
      This will be used for the vertex array buckets when building the
      render lists for each FSurfaceInfo being used by the hardware
      renderer. Generally, we will replace DrawPolygon calls with
      operations to fill these resizeable arrays, one for each
      FSurfaceInfo. After the initial BSP node draw call, we will go
      through the buckets calling DrawPolygon on each one.
      54f25c8f
  3. Mar 25, 2015
    • Eidolon's avatar
      Fix compilation and debugging on Windows. · 53680903
      Eidolon authored
      Core code has too many #define dependencies on interface-specific
      defines. This means that it's currently not possible to safely
      separate the core and interface code into different contexts. The
      core code should be refactored to accomadate for this because we
      should not have any interface-specific code in core in the first
      place.
      
      This reverts the static library SRB2Core from a7135094 and instead
      adds the core sources to the SRB2SDL2 target directly.
      
      So frustrating...
      53680903
  4. Mar 09, 2015
    • Eidolon's avatar
      Remove unused 'stride' variable in DrawPolygon. · d1d05fad
      Eidolon authored
      This is an artifact of the last commit that I was using because I had
      misunderstood the meaning of the stride argument for the array
      pointers.
      d1d05fad
    • Eidolon's avatar
      Use vertex arrays to draw in DrawPolygon for OpenGL. · fe7d19cc
      Eidolon authored
      This should introduce a minor performance boost for slow CPUs in
      OpenGL mode. If it doesn't, it shouldn't be any slower. It also puts
      us a little closer to supporting GLES as well.
      
      This introduces several new pgl function pointers that are from
      GL 1.1. I do not check for their existence because no driver out in
      the wild in active use doesn't support 1.1.
      fe7d19cc
  5. Mar 08, 2015
    • Eidolon's avatar
      Fix generation of SRB2DD target. · c43b41e1
      Eidolon authored
      It still won't compile correctly. But this should avoid the error
      messages related to it.
      c43b41e1
    • Eidolon's avatar
      Prepend ASM sources with the current source directory in CMake. · 84720759
      Eidolon authored
      This fixes generation with USEASM enabled.
      84720759
    • Eidolon's avatar
      Refactor CMake to allow source grouping and separation of interfaces. · a7135094
      Eidolon authored
      Core and SDL2 are two separate targets now. Core is a static library
      that is linked into SRB2SDL2. The sources for both are separated.
      When using an IDE like Visual Studio or Xcode, the source code
      organized into groups that explain what that group of sources does.
      
      In the future, "Main" could be split into a few more groups based on
      file prefixes, but I think the way it is set up works for now.
      
      Makefile targets are not affected by source_groups and typing `make`
      will automatically compile both the "Core" library and SRB2SDL2
      itself.
      a7135094
    • Eidolon's avatar
      Remove KOS_GL_COMPATIBILITY. · f634a921
      Eidolon authored
      All the effort I've made to research into what exactly this is has
      been moot. Since we really only need to target GLES and GL, we should
      just worry about supporting those. Our public builds don't rely on
      this at all. This helps readability in the OpenGL code.
      f634a921
    • Eidolon's avatar
      Remove SHUFFLE define. · e11b3c52
      Eidolon authored
      Honestly, under no circumstances when GL is compiled into the game
      should the PostImgRedraw not be available. Removing this helps
      make the GL code slightly more readable.
      e11b3c52
    • Eidolon's avatar
      Remove MINI_GL_COMPATIBILITY. · d13968ae
      Eidolon authored
      The rationale for this is that MiniGL hasn't been relevant for 17
      years or longer. Removing it helps cleanup this horrifying section of
      the codebase.
      
      This possibly breaks upscaling in fullscreen in OpenGL mode.
      d13968ae
  6. Mar 05, 2015
  7. Feb 06, 2015
  8. Feb 05, 2015
  9. Feb 02, 2015
  10. Feb 01, 2015
  11. Jan 29, 2015
  12. Jan 28, 2015
  13. Jan 29, 2015
  14. Jan 28, 2015
  15. Jan 10, 2015
Loading