- Split up the workspace better
- Add checkboxes to display model tags et. al.
- Add a tag name+location display
- Sane defaults for which animation is selected; remove the 'None' option
- Fix an issue with escape_pod.model having the wrong material name.
Allows older cards without support for GL_ARB_clip_control to use the reverse-Z buffer
Introduced a ResetDepthRange function to allow SectorView to clean up after itself.
Fixes a type shortening warning in HashRenderStateDesc
Filename should match internal class wherever possible
Fix copyright symbol and clang-format
Update copyright symbol to use UTF-8 \u00A9 symbol
Fix PerspectiveFrustum matrix constructor to work in reverse-Z order
Fix clang-format wanting to re-order an enum that's supposed to map to OpenGL enums
This is intended to replace Gui::Screen::Project in 90% of cases
It's a much better function to use especially in the case of a resizing screen.
Rewrite part of SystemView to take advantage of this function.
Fix directional indicators not screen-culling
Converts clip space from -1..1 to 0..1, and maps 1.0 to the near plane to symmetrize floating point precision
This means we can entirely drop the logZ hack and use the early-Z depth test.
Also add (and comment) several projection matrix functions.
Remove all OpenGL 2.x like methods from the renderer API, now the matrix state
is the responsibility of the caller via MatrixTicket / StateTicket.
Still TODO is improving the viewport state tracking, although that should be
rather simple to fix.
- Remove a number of unused variables
- Clean up a few assertions checking if an unsigned variable might be negative
- Consolidate miniz diagnostics into the miniz header
- Make sure lookup3.c doesn't throw unused variable warnings
- Change view movement mode to XY-constrained planar movement
- Rename map movement axes, invert key bindings for consistency
- Fix axis colorations in Drawables::Axes3D
- Shim Error, Warning and Output to the new log framework
- Add multiple non-error log levels, and a non-fatal error log level
- Use fmt::fmt to format args instead of snprintf, avoid using variadics
- Remove the (no-op) OpenGLDebugMsg function
- PerfInfo window can be opened from options menu
- Performance window is available regardless of WITH_DEVKEYS
- Cleaned up some output messages
- Added a Perf::Stats instance to Galaxy
Might get merged with another more general instance depending upon usage patterns.
This is primarily to make tool development easier - right now the only
way to build a tool without linking all 90MB+ of pioneer binary into the
tool is to cherry-pick a set of cpp files and hope you have all the
symbols you need for what you're doing.
Over time, "generic" functionality like compression, math, etc. will be
moved to the core module so tools can link against one library without
incurring lengthy link and compile times.
Moved mouse capture functionality from the renderer to Input
Temporarily patched ModelViewer, pending a major refactor to make it compatible with the input class.
Only works for DDS textures at the moment, needs better calculations for auto-generated mipmap sizes
Added six new stats to track the number and memory usage of textures in the cache
- Get rid of MIN_COMPRESSED_TEXTURE_DIMENSION
- Still a little work needed to handle non-power-of-two textures
- Also updated Texture::BuildMipmaps() to only regenerate mipmaps without valid data.
- Some work still needed to properly calculate mip levels for uncompressed textures when creating the texture
- Rewrote the Ctrl+i performance display using ImGui
- Added a new generic performance counter implementation using atomics
- Added physics- and frame-time display to performance info
- Rewrote Graphics::Stats to use the new PerfStats impl internally
* Make FrameId a wrapper over an int, fix crashes
- Cleanup some of the tests, use <cstddef>.
- Fixed a crash in Frame::DeleteCameraFrame()
- Made CameraContext::GetCamFrame() return the invalid frame index when there
is no camera frame
- Fixed a typo related to autosave
Read of uninitialized memory found by valgrind.
Directly hashing the bytes that make up some arbitrary
not-specially-constructed struct tends to result in feeding uninitialised
bytes with arbitrary values into the hash function due to padding of
the struct.
Forward declare Space in Ship.h; Make things compiling again
Decouple WorldView.h; Some other decouple here and there
Decouple Renderer no more included in RenderState; Model not including directly its childs