Libraries/D3D12RaytracingFallback/src/dxc/hlsl/DxilRuntimeReflection.inl (4 lines): - line 152: // TODO: error handling - line 213: // TODO: error handling - line 273: // TODO: Implement pipeline state validation with runtime data - line 274: // TODO: Update BlobContainer.h to recognize 'RDAT' blob MiniEngine/Model/glTF.cpp (4 lines): - line 77: // TODO: Should check for negative determinant to reverse triangle winding - line 83: // TODO: Should check scale for 1 or 3 negative values to reverse triangle winding - line 292: // TODO: Add morph targets - line 681: // TODO: add GLB support by extracting JSON section and BIN sections Libraries/D3D12RaytracingFallback/src/dxc/hlsl/DxilConstants.h (4 lines): - line 22: // TODO: - line 53: // TODO: move these to appropriate places (ShaderModel.cpp?) - line 287: // TODO: change opcodes. - line 887: // TODO: add operand index for all the OpCodeClass. MiniEngine/Model/MeshConvert.cpp (3 lines): - line 121: case 5: // TODO: Convert TRIANGLE STRIP - line 122: case 6: // TODO: Convert TRIANGLE FAN - line 439: // TODO: Generate optimized depth-only streams Libraries/D3D12RaytracingFallback/src/TraverseFunction.hlsli (3 lines): - line 146: bool geomOpaque = true; // TODO: This should be looked up with the triangle data. - line 147: // TODO: Need to get instance flags - line 672: else if (!culled && TestLeafNodeIntersections( // TODO: We need to break out this function so we can run anyhit on each triangle Libraries/D3D12RaytracingFallback/src/TreeletReorder.hlsl (2 lines): - line 26: // TODO consider caching rcp(parentAABBSurfaceArea) - line 184: optimalCost[treeletBitmask] = CostOfRayBoxIntersection * optimalCost[treeletBitmask] + lowestCost; // TODO: Consider cost of flattening to triangle list MiniEngine/Model/Shaders/DefaultPS.hlsl (2 lines): - line 231: // Read normal map and convert to SNORM (TODO: convert all normal maps to R8G8B8A8_SNORM?) - line 292: // TODO: Shade each light using Forward+ tiles MiniEngine/Core/CommandContext.cpp (2 lines): - line 278: //TODO: My Nvidia card is not clearing UAVs with either Float or Uint variants. - line 292: //TODO: My Nvidia card is not clearing UAVs with either Float or Uint variants. Libraries/D3D12RaytracingFallback/src/BVHValidator.cpp (2 lines): - line 17: // TODO: Likely too large, but good enough for current validation - line 136: // TODO: Hacky way to use the same code path for both bottom and top level Libraries/D3D12RaytracingFallback/src/BuildBVHSplits.hlsli (2 lines): - line 51: // TODO: Technically this should be primitive ID - line 63: // TODO: Consider starting this at a higher number Libraries/D3D12RaytracingFallback/src/StateObjectProcessing.cpp (2 lines): - line 171: assert(false); // TODO: support this - line 1664: ex->second->m_SubtreeValidShaderStageFlag |= pFuncInfo->ShaderStageFlag | 0xffffffff; // TODO: remove 0xfffffff when DXC supports this MiniEngine/ModelConverter/ModelAssimp.cpp (2 lines): - line 345: // TODO: generate tangents/bitangents if missing - line 360: // TODO: generate tangents/bitangents if missing MiniEngine/Model/Shaders/FillLightGridCS.hlsli (1 line): - line 102: // TODO: near/far clipping planes seem to be falling apart at or near the max depth with infinite projections Libraries/D3D12RaytracingFallback/src/GpuBVH2Copy.cpp (1 line): - line 17: // TODO: Consider making this use dispatch indirect instead. Due to the ambiguity in how MiniEngine/Model/TextureConvert.cpp (1 line): - line 75: // TODO: It might be desired to compress or recompress existing DDS files MiniEngine/Core/Shaders/AdaptExposureCS.hlsl (1 line): - line 85: // TODO: Increase or decrease the log range to better fit the range of values. Libraries/D3D12RaytracingFallback/src/LoadPrimitivesBindings.h (1 line): - line 30: // TODO: Consider inlining into separate shaders Libraries/D3D12RaytracingFallback/src/dxc/hlsl/DxilRuntimeReflection.h (1 line): - line 33: enum class RuntimeDataPartType : uint32_t { // TODO: Rename: PartType MiniEngine/Core/Utility.cpp (1 line): - line 19: // A faster version of memcopy that uses SSE instructions. TODO: Write an ARM variant if necessary. Libraries/D3D12RaytracingFallback/src/RayTracingHelper.hlsli (1 line): - line 342: // TODO: This will largely inflate AABBs larger then they need to be. MiniEngine/Core/BuddyAllocator.cpp (1 line): - line 194: //TODO: To be truely thread-safe this operation should be atomic to guard against Libraries/D3DX12AffinityLayer/UWP/CD3DX12AffinityDevice.cpp (1 line): - line 1481: // TODO: It is inefficient to look through this every time i.e. for each DeviceIndex. MiniEngine/ModelConverter/ModelOptimize.cpp (1 line): - line 172: // TODO: quantize/compress vertex data Libraries/D3D12RaytracingFallback/src/FallbackLayer.cpp (1 line): - line 345: associationIterator.ResetAndSelectExport(exportName, (D3D12_STATE_SUBOBJECT_TYPE)-1); // TODO: Should make this an explicit type Libraries/D3D12RaytracingFallback/src/ComputeAABBs.hlsli (1 line): - line 153: // TODO: Investigate better heuristics for node ordering Libraries/D3DX12AffinityLayer/Desktop/CD3DX12AffinityDevice.cpp (1 line): - line 1481: // TODO: It is inefficient to look through this every time i.e. for each DeviceIndex. Libraries/D3D12RaytracingFallback/src/StateObjectProcessing.hpp (1 line): - line 330: public: // TODO: Make these private once experimental code stops needing to point to this class, using reflection iterators instead. MiniEngine/Core/CommandListManager.cpp (1 line): - line 174: // TODO: Think about how this might affect a multi-threaded situation. Suppose thread A Libraries/D3DX12Residency/d3dx12Residency.h (1 line): - line 1314: // TODO: What should we do if this fails? This is a catastrophic failure in which the app is trying to use more memory MiniEngine/Core/Shaders/PerfGraphVS.hlsl (1 line): - line 44: // TODO: Stop interleaving data