- OpenGLSwapChain::Initialize now uses AdjustWindowRect before SetWindowPos
- This ensures window client area matches expected size (1280x720)
- Previously SetWindowPos was given client area size instead of full window size
- Removed debug fprintf statements from OpenGLDevice
- Updated minimal integration test to use cleaner code
- Simplify OpenGL integration test structure
- Enable CTest registration for OpenGL tests
- Refactor test fixtures and device enumeration
- Minor code cleanup and improvements
- Add triangle test with vertex buffer and custom pipeline state
- Add triangle.hlsl shader with position and color per vertex
- Fix cull mode (NONE) and disable depth test for correct rendering
- Register D3D12_Triangle_Integration CTest
- Add GT.ppm golden image
- Add assert() bounds check to GetBackBuffer() to catch invalid indices
- Include <cassert> in D3D12SwapChain.cpp
- Update test_swap_chain.cpp to use reference return type
- Mark InvalidIndex test as DISABLED (assert aborts on invalid index)
- Update get-back-buffer.md documentation
- Add OpenGL_Minimal integration test using Win32 native API + glad
- Copy run_integration_test.py and compare_ppm.py from D3D12
- Create minimal/main.cpp with red clear color (matching D3D12)
- Generate GT.ppm golden template for 1280x720 red window
- Add VertexArray_Bind_MultipleAttributes unit test
- Update integration/CMakeLists.txt to build OpenGL_Minimal target
- Move old test files to new unit/integration structure
- Add OpenGL Test Fixture
- Update CMakeLists.txt for new layout
- Add OpenGL_Test_Restructuring_Plan.md
- Add D3D12Screenshot::Capture(D3D12Device&, D3D12CommandQueue&, D3D12Texture&, const char*) wrapper overload
- Update minimal integration test to use encapsulated APIs
- Add DescriptorHeap wrapper unit tests
- Document minimal GetBuffer native call as known limitation in TEST_SPEC.md
- Move test_*.cpp and fixtures/ to tests/RHI/D3D12/unit/
- Create unit/CMakeLists.txt with proper test configuration
- Simplify parent CMakeLists.txt to use add_subdirectory
- Integration tests remain in integration/ folder
Fixed the following issues:
- command-list.md: Shutdown linked to threading/task-system instead of local shutdown.md
- fence.md: Wait linked to threading/task-group instead of local wait.md
- factory/create-rhi-device-string.md: Claimed Vulkan/Metal support but source doesn't support them
- opengl/buffer/buffer.md: GetType linked to command-queue/get-type (wrong type)
- d3d12/device/device.md: Initialize/Shutdown linked to threading/task-system
- d3d12/command-list/command-list.md: Initialize/Shutdown/Reset/Close/Clear linked to wrong docs
- d3d12/texture/texture.md: Initialize/Shutdown linked to threading/task-system
- opengl/command-list/command-list.md: Shutdown linked to threading/task-system
- opengl/device/device.md: GetNativeHandle incorrectly linked to get-window.md
All links validated with fix_links.py - no broken references remaining.
- Create overview page for FileLogSink (filelogsink/filelogsink.md)
- Create constructor page for FileLogSink (filelogsink/construct.md)
- Create overview page for ConsoleLogSink (consolelogsink/overview.md)
- Fix self-referencing links in FileLogSink and ConsoleLogSink constructor pages
The constructor pages were incorrectly linking to themselves as 'overview' pages.
Created proper overview pages that list all public methods and link to their
individual documentation pages.
- Created docs/api/memory/pool-allocator/~pool-allocator.md documenting the destructor
- Created docs/api/memory/proxy-allocator/~proxy-allocator.md documenting the destructor
- Added ~ProxyAllocator entry to proxy-allocator.md overview table
- Verified link validation passes (no broken references)
- Removed broken [FileWriter](FileWriter.md) link from 方法列表 section since the constructor is already documented on the main page and FileWriter.md doesn't exist (file is named filewriter.md)
Also includes link fixes from fix_links.py:
- Fixed relative paths in containers documentation
Added documentation for undocumented classes:
- ResourcePath: Path manipulation and GUID conversion utilities
- FileArchive: Archive file reading support
- ResourcePackage/ResourcePackageBuilder: Resource packaging system
Updated resources.md overview to include new documentation modules
and added ImportSettings and ResourceFileSystem to core components.
- Vector4.md: Add index mapping (0=x, 1=y, 2=z, 3=w) to operator[] description
- Transform.md: Add proper '运算符' subsection header for operator* documentation
Found and fixed missing operator documentation:
- Vector4: operator[] index mapping was undocumented
- Transform: operator* was listed without proper section header