XII Release 0.1.0
Loading...
Searching...
No Matches
Todo List
Struct xiiArrayMapBase< KEY, VALUE >::Pair
Custom comparer
Member xiiAssetDocument::InternalAfterSaveDocument () override
Should only be done for platform agnostic assets
Member xiiAssetDocument::SaveThumbnail (const xiiImage &img, const ThumbnailInfo &thumbnailInfo) const
A conversion to B8G8R8X8_UNORM currently fails
Member xiiChunkStreamWriter::EndChunk ()
Write Chunk CRC
Member xiiColorGradient::EvaluateAlpha (double x, xiiUInt8 &ref_uiAlpha) const
Use a midpoint interpolation
Member xiiColorGradient::EvaluateColor (double x, xiiColor &ref_rgb) const
Use a midpoint interpolation
Member xiiColorGradient::EvaluateIntensity (double x, float &ref_fIntensity) const
Use a midpoint interpolation
Member xiiColorGradientAssetData::TickFromTime (xiiTime time)
Make this a property ?
Member xiiCommandHistory::MergeLastTwoTransactions ()
This would not be necessary, if hierarchical transactions would not crash
Member xiiCommandHistory::StartTransaction (const xiiFormatString &displayString)
Allow to have a limited transaction history and clean up transactions after a while
Member xiiCopyTexturePass::Execute (const xiiRenderViewContext &renderViewContext, const xiiArrayPtr< xiiRenderPipelinePassConnection *const > inputs, const xiiArrayPtr< xiiRenderPipelinePassConnection *const > outputs) override
GraphicsCore: Use a shader when the format is not an exact match.
Member xiiCurve1D::CreateLinearApproximation (double fMaxError=0.01, xiiUInt8 uiMaxSubDivs=8)
Since we do this, we actually don't need the linear approximation anymore and could just evaluate the full curve
Member xiiCurve1DResourceDescriptor::Load (xiiStreamReader &ref_stream)
We can do this on load, or somehow ensure this is always already correctly saved
Member xiiDdsFileFormat::WriteImage (xiiStreamWriter &inout_stream, const xiiImageView &image, xiiStringView sFileExtension) const override
sub-image size
Member xiiDocumentObject::IsOnHeap () const
This crashes when the pointer is nullptr, which appears to be possible It happened for me when duplicating (CTRL+D) 2 objects 2 times then moving them and finally undoing everything
Member xiiEditorShapeIconsExtractor::Extract (const xiiView &view, const xiiDynamicArray< const xiiGameObject * > &visibleObjects, xiiExtractedRenderData &ref_extractedRenderData) override
Once we have a solution for objects that only have a shape icon we can switch this loop to use visibleObjects instead.
Member xiiEngineProcessDocumentContext::UpdateDocumentContext ()
Support depth pitch.
Member xiiFileserveClient::EnsureConnected (xiiTime timeout=xiiTime::MakeFromSeconds(-5))
Somehow abstract this away ?
Member xiiFileserveClient::WaitForServerInfo (xiiTime timeout=xiiTime::MakeFromSeconds(60.0 *5))
Abstract this somehow ?
Member xiiFileSystem::ResolvePath (xiiStringView sPath, xiiStringBuilder *out_pAbsolutePath, xiiStringBuilder *out_pDataDirRelativePath, const xiiDataDirectoryInfo **out_pDataDir=nullptr)

We might also need the none-redirected path as an output

We might also need the none-redirected path as an output

Member xiiGALBufferVulkan::InitPlatform (const xiiGALBufferData *pInitialData) override final
GraphicsVulkan: Selectively utilize vk::SharingMode::eConcurrent for multiple queue family's ownership of the Vulkan buffer.
Member xiiGALCommandList::BeginRenderPass (const xiiGALBeginRenderPassDescription &beginRenderPass)

GraphicsFoundation: Potentially reset the current render targets here.

GraphicsFoundation: Implement render pass attachment handling in the GAL, as well as state transitions in the begin render pass description.

Member xiiGALCommandListUtilities::BindMaterial (xiiSharedPtr< xiiGALCommandList > pCommandList, const xiiMaterialResourceHandle &hMaterial)
Create or update pipeline state.
Member xiiGALDevice::CreatePipelineResourceSignature (xiiGALPipelineResourceSignatureCreationDescription &description)
Verify combined texture samplers, all samplers should be assigned to textures when combined texture samplers are used, all immutable samplers should be assigned to textures or samplers when combined texture samplers are used.
Member xiiGALDevice::CreateRenderPass (const xiiGALRenderPassCreationDescription &description)

GraphicsFoundation: Use VkPhysicalDeviceFragmentShadingRatePropertiesKHR::maxFragmentShadingRateAttachmentTexelSizeAspectRatio.

GraphicsFoundation: Check render pass dependency source and destination stage mask is set to the undefined pipeline stage.

Member xiiGALDevice::CreateTexture (const xiiGALTextureCreationDescription &description, const xiiGALTextureData *pInitialData=nullptr)

GraphicsFoundation: Vulkan allows the creation of 2D texture arrays, and using a single slice for view even if xiiGALShadingRateCapabilityFlags::TextureArray is not supported by the device.

GraphicsFoundation: Validate texture mip size to the tile size property.

Member xiiGALDynamicBuffer::xiiGALDynamicBuffer (xiiSharedPtr< xiiGALDevice > pDevice, const xiiGALBufferCreationDescription &description)
Support sparse buffer.
Member xiiGALShaderVariableDescription::CopyDataFromVariant (xiiUInt8 *pDestination, const xiiVariant *pValue, const xiiGALShaderVariableDescription &description)
Perform row-column major conversion on matrices.
Member xiiGALTextureUtilities::GetSparseTextureProperties (xiiEnum< xiiGALResourceFormat > format, xiiEnum< xiiGALResourceDimension > dimension, xiiUInt32 uiSampleCount)
GraphicsFoundation: To be implemented.
Member xiiGALTextureVulkan::InitPlatform (const xiiGALTextureData *pInitialData) override final
GraphicsVulkan: Selectively utilize vk::SharingMode::eConcurrent for multiple queue family's ownership of the Vulkan image.
Member xiiGameApplication::Init_SetupDefaultResources () override
Loading Cubemap Texture
Member xiiGameObjectDocument::InvalidateGlobalTransformValue (const xiiDocumentObject *pObject) const
If all parents are always inserted as well, we can stop once an object is found that is not in the list
Member xiiGameObjectGizmoEditTool::UpdateGizmoTransformation ()
Pivot point
Struct xiiGenericId< InstanceIndexBits, GenerationBits >
Document this better.
Member xiiInstanceData::UpdateInstanceData (xiiSharedPtr< xiiGALCommandList > pCommandList, xiiUInt32 uiCount)
Use dynamic buffer and fix the offset calculation not being applied on the GPU.
Member xiiMaterialAssetDocument::InternalTransformAsset (xiiStringView sTargetFile, xiiStringView sOutputTag, const xiiPlatformProfile *pAssetProfile, const xiiAssetFileHeader &AssetHeader, xiiBitflags< xiiTransformFlags > transformFlags) override
Rendering platform is currently hardcoded
Member xiiMaterialAssetDocument::UpdateAssetDocumentInfo (xiiAssetDocumentInfo *pInfo) const override
The Visual Shader node configuration files would need to be a dependency of the auto-generated shader.
Member xiiMeshResourceDescriptor::Load (xiiStreamReader &inout_stream)

Material Path (relative to mesh file)

load from file

Member xiiMeshResourceDescriptor::Save (xiiStreamWriter &inout_stream)
Material Path (relative to mesh file)
Member xiiOpenDdlParser::OnPrimitiveBool (xiiUInt32 count, const bool *pData, bool bThisIsAll)=0
Currently not supported
Member xiiPhantomRttiManager::RegisterType (xiiReflectedTypeDescriptor &ref_desc)
Had to increase the recursion depth to allow registering phantom types that are based on actual types coming from the engine process.
Member xiiProcessingStream::SetSize (xiiUInt64 uiNumElements)
Allow to reuse memory from a pool ?
Member xiiPropertyAnimComponent::SerializeComponent (xiiWorldWriter &inout_stream) const override
Somehow store the animation state (not necessary for new scenes, but for quicksaves)
Member xiiQtColorGradientWidget::mouseMoveEvent (QMouseEvent *event) override
Why not += ?
Member xiiQtDataWidget::xiiQtDataWidget (ads::CDockManager *pDockManager, QWidget *pParent=nullptr)
Improve Data Transfer UI
Member xiiQtDuplicateDlg::xiiQtDuplicateDlg (QWidget *pParent=nullptr)

Boundingbox helper not implemented yet (get bbox size from selection)

Grouping of duplicates not implemented yet

Member xiiQtEngineViewWidget::UpdateCameraInterpolation ()
Hard coded up vector
Member xiiQtPropertyEditorTagSetWidget::OnInit () override
xiiStringView is POD? -> array<stringview>::Remove(stringview) fails, because of memcmp
Member xiiQtReflectionWidget::ProcessTelemetry (void *pUnuseed)
should read the message handlers here
Member xiiQtShortcutEditorDlg::xiiQtShortcutEditorDlg (QWidget *pParent)
Instead of removing &, replace it by underlined text (requires formatted text output)
Member xiiRandom::DoubleMinMax (double fMinValue, double fMaxValue)
Probably not correct
Member xiiRandom::DoubleVariance (double fValue, double fVariance)
Test whether this is actually correct
Member xiiRandom::DoubleVarianceAroundZero (double fAbsMaxValue)
Test whether this is actually correct
Class xiiRemoteMessage
Add move semantics for xiiRemoteMessage
Member xiiResourceFlags::ResourceHasFallback
Implement NoFileAccessRequired.
Member xiiRotorComponent::Update ()

Scripting integration

Scripting integration

This will probably give precision issues pretty quickly

Member xiiSceneActions::MapToolbarActions (xiiStringView sMapping)
This works incorrectly with value 6.0f -> it places the action inside the snap category
Member xiiSelectionContext::DoKeyPressEvent (QKeyEvent *e) override
Handle the current cursor (icon) across all active input contexts
Member xiiShadowPool::AddPointLight (const xiiPointLightComponent *pPointLight, float fScreenSpaceSize, const xiiView *pReferenceView)
expose somewhere
Member xiiShadowPool::AddSpotLight (const xiiSpotLightComponent *pSpotLight, float fScreenSpaceSize, const xiiView *pReferenceView)
expose somewhere
Member xiiSimdMat4d::Invert (const xiiSimdDouble &fEpsilon=xiiMath::SmallEpsilon< double >())
Optimize
Member xiiSimdMat4f::Invert (const xiiSimdFloat &fEpsilon=xiiMath::SmallEpsilon< float >())
Optimize
Member xiiSimdMath::Exp (const xiiSimdVec4f &f)
optimize these methods if needed
Member xiiSimdQuat::GetRotationAxisAndAngle (xiiSimdVec4f &ref_vAxis, xiiSimdFloat &ref_fAngle, const xiiSimdFloat &fEpsilon=xiiMath::DefaultEpsilon< float >()) const
optimize
Member xiiSimdQuat::MakeFromAxisAndAngle (const xiiSimdVec4f &vRotationAxis, const xiiSimdFloat &fAngle)
optimize
Member xiiSimdQuatd::GetRotationAxisAndAngle (xiiSimdVec4d &ref_vAxis, xiiSimdDouble &ref_fAngle, const xiiSimdDouble &fEpsilon=xiiMath::DefaultEpsilon< double >()) const
optimize
Member xiiSimdQuatd::MakeFromAxisAndAngle (const xiiSimdVec4d &vRotationAxis, const xiiSimdDouble &fAngle)
optimize
Member xiiSingletonRegistry::GetSingletonInstance ()
Events for new/deleted singletons -> xiiInspector integration
Member xiiSurfaceResource::InteractWithSurface (xiiWorld *pWorld, xiiGameObjectHandle hObject, const xiiVec3 &vPosition, const xiiVec3 &vSurfaceNormal, const xiiVec3 &vIncomingDirection, const xiiTempHashedString &sInteraction, const xiiUInt16 *pOverrideTeamID, float fImpulseSqr=0.0f) const
do random deviation, make sure to clamp max deviation angle
Class xiiTelemetry
document and test (and finish)
Member xiiTextureResourceLoader::OpenDataStream (const xiiResource *pResource) override
A conversion to B8G8R8X8_UNORM currently fails
Member xiiTextureUtils::ImageFormatToGalFormat (xiiEnum< xiiImageFormat > format, bool bSRGB)
Not supported by some GPUs ?
Member xiiTokenizer::GetNextLine (xiiUInt32 &ref_uiFirstToken, xiiHybridArray< const xiiToken *, 32 > &ref_tokens) const
Theoretically, if the line ends with an identifier, and the next directly starts with one again,
Class xiiTransformTemplate< Type >
Fix docs and unit tests
Member xiiVisualShaderNodeManager::InternalCanAdd (const xiiRTTI *pRtti, const xiiDocumentObject *pParent, xiiStringView sParentProperty, const xiiVariant &index) const override
This is an arbitrary limit and it does not count how many nodes reference the same texture
Member xiiWindowOutputTargetGAL::CaptureImage (xiiImage &out_image) override
Support depth pitch.