|
VisuTwin Canvas
C++ 3D Engine — Metal Backend
|
Namespaces | |
| namespace | AssetType |
| namespace | gpu |
| namespace | log |
| namespace | metal |
| namespace | TextureType |
Classes | |
| class | Animation |
| class | AnimationComponent |
| struct | AnimationComponentData |
| class | AnimationComponentSystem |
| class | AnimationKey |
| class | AnimationNode |
| class | AnimBinder |
| class | AnimClip |
| struct | AnimCurve |
| struct | AnimData |
| class | AnimEvaluator |
| class | AnimTrack |
| struct | AnimTransform |
| class | Annotation |
| class | AnnotationManager |
| struct | AnnotationScreenInfo |
| class | ApplicationStats |
| struct | AppOptions |
| class | Asset |
| Loadable resource wrapper supporting textures, containers (GLB), and fonts. More... | |
| struct | AssetData |
| class | AssetRegistry |
| class | AssimpParser |
| struct | AssimpParserConfig |
| Configuration options for Assimp-based model loading. More... | |
| class | Batch |
| struct | BatchGroup |
| class | BatchManager |
| class | BindBaseFormat |
| class | BindGroupFormat |
| class | BlendState |
| class | BoundingBox |
| Axis-Aligned Bounding Box defined by center and half-extents. More... | |
| class | BoundingSphere |
| Bounding sphere defined by center and radius for intersection and containment tests. More... | |
| class | BundleRegistry |
| class | ButtonComponent |
| struct | ButtonComponentData |
| class | ButtonComponentSystem |
| struct | CacheEntry |
| class | Camera |
| Perspective or orthographic camera with projection matrix, jitter (TAA), and render target binding. More... | |
| class | CameraComponent |
| struct | CameraComponentData |
| class | CameraComponentSystem |
| struct | CameraFrameOptions |
| struct | ClusterConfig |
| struct | ClusterLightData |
| struct | CoCPassParams |
| class | CollisionComponent |
| struct | CollisionComponentData |
| class | CollisionComponentSystem |
| struct | Color |
| RGBA color with floating-point components in [0, 1]. More... | |
| class | ColorAttachment |
| class | ColorAttachmentOps |
| class | Component |
| Base class for ECS components that attach functionality to entities. More... | |
| class | ComponentSystem |
| class | ComponentSystemRegistry |
| struct | ComposePassParams |
| class | Compute |
| class | ComputePipelineBase |
| class | ContainerResource |
| class | ContainerResourceHandler |
| class | Controller |
| class | Curve |
| class | CurveEvaluator |
| class | CurveSet |
| class | DefaultAnimBinder |
| class | DepthAttachment |
| struct | DepthAwareBlurPassParams |
| class | DepthState |
| class | DepthStencilAttachmentOps |
| class | DeviceCache |
| struct | DeviceVRAM |
| struct | DofBlurPassParams |
| struct | DofSettings |
| struct | DrawCallStats |
| struct | DynamicBatchVertex |
| class | DynamicBuffers |
| class | ElementComponent |
| struct | ElementComponentData |
| class | ElementComponentSystem |
| class | ElementInput |
| class | Engine |
| Central application orchestrator managing scenes, rendering, input, and resource loading. More... | |
| class | Entity |
| ECS entity — a GraphNode that hosts components defining its behavior. More... | |
| class | EnvLighting |
| class | EventHandle |
| class | EventHandler |
| struct | FogParams |
| struct | FontGlyph |
| struct | FontResource |
| class | FontResourceHandler |
| class | ForwardRenderer |
| Forward PBR renderer that builds a FrameGraph from the scene's layer composition. More... | |
| class | FrameGraph |
| struct | FrameStats |
| struct | Frustum |
| class | GamePads |
| struct | GeometryData |
| class | GlbContainerResource |
| struct | GlbMeshPayload |
| struct | GlbNodePayload |
| class | GlbParser |
| struct | GpuClusteredLight |
| struct | GpuLightData |
| Per-light GPU data uploaded to the lighting uniform buffer. More... | |
| class | GpuProfiler |
| class | GraphicsDevice |
| Abstract GPU interface for resource creation, state management, and draw submission. More... | |
| struct | GraphicsDeviceOptions |
| class | GraphNode |
| Hierarchical scene graph node with local/world transforms and parent-child relationships. More... | |
| class | GSplatDirector |
| class | GUID |
| class | I18n |
| class | IComponentSystem |
| class | ImGuiOverlay |
| class | Immediate |
| class | IndexBuffer |
| class | Input |
| class | InputConsumer |
| class | InputController |
| struct | InstanceCullParams |
| class | InterpolatedKey |
| class | Keyboard |
| struct | Label3D |
| class | Layer |
| class | LayerComposition |
| class | Light |
| Directional, point, spot, or area light with shadow mapping and cookie projection. More... | |
| class | LightCamera |
| class | LightComponent |
| struct | LightComponentData |
| class | LightComponentSystem |
| struct | LightingParams |
| class | Lightmapper |
| class | LightRenderData |
| Per-face shadow rendering data: shadow camera, viewport, and scissor. More... | |
| class | LightTextureAtlas |
| struct | LoadedData |
| class | Material |
| Base class for GPU materials — owns uniform data, texture bindings, blend/depth state, and shader compilation. More... | |
| struct | MaterialUniforms |
| struct | Matrix4 |
| 4x4 column-major transformation matrix with SIMD acceleration. More... | |
| struct | MCBatchResult |
| Result of a multi-isovalue batch extraction. More... | |
| struct | MCComputeParams |
| struct | MCExtractResult |
| class | Mesh |
| GPU-resident geometry defined by vertex/index buffers and one or more Primitives. More... | |
| class | MeshInstance |
| Renderable instance of a Mesh with its own material, transform node, and optional GPU instancing. More... | |
| class | MetalBackBufferRenderTarget |
| Backbuffer sentinel target — preserves JS renderTarget/backBuffer identity semantics. More... | |
| class | MetalBindGroupFormat |
| struct | MetalBlendState |
| class | MetalCoCPass |
| class | MetalComposePass |
| class | MetalComputePipeline |
| class | MetalDepthAwareBlurPass |
| class | MetalDofBlurPass |
| class | MetalGraphicsDevice |
| class | MetalIndexBuffer |
| class | MetalInstanceCullPass |
| class | MetalLICPass |
| class | MetalMarchingCubesPass |
| class | MetalPaletteRingBuffer |
| class | MetalParticleComputePass |
| class | MetalPipeline |
| class | MetalRenderPipeline |
| class | MetalRenderTarget |
| class | MetalShader |
| class | MetalSsaoPass |
| class | MetalTaaPass |
| class | MetalTextureBinder |
| class | MetalTextureStream |
| class | MetalUniformBinder |
| class | MetalUniformRingBuffer |
| class | MetalVertexBuffer |
| class | MetalVertexBufferLayout |
| struct | MiscStats |
| class | Mouse |
| class | ObjectPool |
| class | ObjParser |
| struct | ObjParserConfig |
| Configuration options for OBJ loading. More... | |
| class | OrientedBox |
| struct | PackedVertex |
| struct | ParticleComputeUniforms |
| Uniform data uploaded to the compute kernel each frame. More... | |
| struct | ParticleStats |
| class | Path |
| class | Picker |
| struct | PixelFormatInfo |
| class | Plane |
| class | Pose |
| struct | PreparedGlbData |
| class | Preprocessor |
| struct | PreprocessorOptions |
| struct | Primitive |
| Describes how vertex and index data should be interpreted for a draw call. More... | |
| class | ProgramLibrary |
| class | QuadRender |
| struct | Quaternion |
| Unit quaternion for rotation representation with SIMD-accelerated slerp and multiply. More... | |
| class | Random |
| class | Ray |
| Infinite ray defined by origin and direction for raycasting and picking. More... | |
| struct | RaycastResult |
| class | ReadStream |
| class | RefCountedObject |
| struct | ReflectionBlurParams |
| struct | RenderAction |
| class | RenderComponent |
| struct | RenderComponentData |
| class | RenderComponentSystem |
| class | Renderer |
| struct | RenderingSettings |
| class | RenderPass |
| class | RenderPassBloom |
| class | RenderPassCameraFrame |
| class | RenderPassCoC |
| class | RenderPassColorGrab |
| class | RenderPassCompose |
| class | RenderPassCookieRenderer |
| class | RenderPassDepthAwareBlur |
| class | RenderPassDepthGrab |
| class | RenderPassDof |
| class | RenderPassDofBlur |
| class | RenderPassDownsample |
| class | RenderPassForward |
| struct | RenderPassOptions |
| class | RenderPassPostprocessing |
| class | RenderPassPrepass |
| class | RenderPassShaderQuad |
| class | RenderPassShadowDirectional |
| class | RenderPassShadowLocalClustered |
| class | RenderPassShadowLocalNonClustered |
| class | RenderPassSsao |
| class | RenderPassTAA |
| class | RenderPassUpdateClustered |
| class | RenderPassUpsample |
| class | RenderPipelineBase |
| class | RenderTarget |
| struct | RenderTargetOptions |
| class | ResourceHandler |
| class | ResourceLoader |
| Async resource loader with background I/O thread, pixel decoding, and main-thread callbacks. More... | |
| class | RigidBodyComponent |
| struct | RigidBodyComponentData |
| class | RigidBodyComponentSystem |
| class | Scene |
| Container for the scene graph, lighting environment, fog, skybox, and layer composition. More... | |
| class | SceneRegistry |
| class | ScreenComponent |
| struct | ScreenComponentData |
| class | ScreenComponentSystem |
| class | Script |
| class | ScriptComponent |
| struct | ScriptComponentData |
| class | ScriptComponentSystem |
| struct | ScriptCreateOptions |
| class | ScriptFactories |
| class | ScriptRegistry |
| class | Shader |
| struct | ShaderDefinition |
| class | ShaderMaterial |
| Custom material with user-defined Metal vertex and fragment shader entry points. More... | |
| class | ShadowCatcher |
| class | ShadowMap |
| struct | ShadowParams |
| class | ShadowRenderer |
| class | ShadowRendererDirectional |
| class | ShadowRendererLocal |
| struct | ShadowTypeInfo |
| class | Skeleton |
| class | SkinBatchInstance |
| class | SkinInstance |
| class | Sky |
| class | SkyMesh |
| class | SortedLoopArray |
| struct | SortedLoopArrayOptions |
| struct | Sphere |
| struct | SsaoPassParams |
| struct | SsaoSettings |
| class | StandardMaterial |
| Full PBR material with metalness/roughness workflow and advanced surface features. More... | |
| class | StencilParameters |
| class | StlParser |
| struct | StlParserConfig |
| Configuration options for STL loading. More... | |
| class | StringIds |
| struct | TaaSettings |
| class | Tags |
| class | Texture |
| GPU texture resource supporting 2D, cubemap, volume, and array formats with mipmap management. More... | |
| struct | TextureOptions |
| class | TextureResourceHandler |
| struct | TextureSlot |
| struct | TextureTransform |
| class | TextureUtils |
| class | TouchDevice |
| class | TransformGizmo |
| class | Tri |
| class | UniformBinder |
| class | URI |
| struct | URIOptions |
| struct | Vector2 |
| 2D vector for UV coordinates, screen positions, and 2D math. More... | |
| struct | Vector2T |
| struct | Vector3 |
| 3D vector for positions, directions, and normals with multi-backend SIMD acceleration. More... | |
| struct | Vector3T |
| struct | Vector4 |
| 4D vector for homogeneous coordinates, color values, and SIMD operations. More... | |
| class | VertexBuffer |
| struct | VertexBufferOptions |
| class | VertexFormat |
| class | WorldClusters |
| class | XrManager |
Typedefs | |
| using | BitPacking = std::bitset<32> |
| using | ComponentTypeID = std::size_t |
| using | EventArgs = std::vector<std::any> |
| using | HandleEventCallback = std::function<void(const EventArgs&)> |
| using | LoadErrorCallback = std::function<void(const std::string& error)> |
| using | LoadSuccessCallback = std::function<void(std::unique_ptr<LoadedData>)> |
| using | MakeTickCallback = std::function<void(double, void*)> |
| typedef std::array< float, 3 > | PackedVector3f |
| using | Resource = std::variant<Texture*, ContainerResource*, FontResource*> |
| using | ScriptFactory = std::function<std::unique_ptr<Script>()> |
| typedef Vector2T< int32_t > | Vector2i |
| typedef Vector2T< uint32_t > | Vector2u |
| typedef Vector3T< int > | Vector3i |
| using | XrErrorCallback = std::function<void(const std::string* err)> |
Functions | |
| template<typename T> | |
| ComponentTypeID | componentTypeID () |
| MTL::Texture * | createDepthTexture (MTL::Device *device, const int width, const int height) |
| Create a Depth32Float texture for the back buffer depth attachment. | |
| std::unique_ptr< GraphicsDevice > | createGraphicsDevice (const GraphicsDeviceOptions &options) |
| std::shared_ptr< Shader > | createShader (GraphicsDevice *graphicsDevice, const ShaderDefinition &definition, const std::string &sourceCode) |
| std::string | createURI (const URIOptions &options) |
| std::string | decodeURIComponent (const std::string &input) |
| constexpr float | degToRad (const float degrees) |
| std::string | encodeURIComponent (const std::string &input) |
| std::shared_ptr< Material > | getDefaultMaterial (const std::shared_ptr< GraphicsDevice > &device) |
| std::shared_ptr< ProgramLibrary > | getProgramLibrary (const std::shared_ptr< GraphicsDevice > &device) |
| uint32_t | hash32Fnv1a (const uint32_t *array, size_t length) |
| bool | isCompressedPixelFormat (const PixelFormat format) |
| bool | isIntegerPixelFormat (const PixelFormat format) |
| bool | isVisibleInCameraFrustum (Camera *camera, GraphNode *cameraNode, const BoundingBox &bounds) |
| std::optional< FontResource * > | loadBitmapFontResource (const std::string &jsonPath, const std::shared_ptr< GraphicsDevice > &graphicsDevice) |
| MakeTickCallback | makeTick (const std::shared_ptr< Engine > &app) |
| ComponentTypeID | nextComponentTypeID () |
| bool | runLightingValidationSelfTest () |
| void | setDefaultMaterial (const std::shared_ptr< GraphicsDevice > &device, const std::shared_ptr< Material > &material) |
| void | setProgramLibrary (const std::shared_ptr< GraphicsDevice > &device, const std::shared_ptr< ProgramLibrary > &library) |
| bool | shouldRenderShadowMeshInstance (MeshInstance *meshInstance, Camera *shadowCamera) |
| bool | shouldRenderShadowRenderComponent (const RenderComponent *renderComponent, const Camera *camera) |
| MTL::CullMode | toMetalCullMode (const CullMode cullMode) |
| Map engine CullMode to Metal CullMode. | |
| MTL::PrimitiveType | toMetalPrimitiveType (const PrimitiveType primitiveType) |
| Map engine PrimitiveType to Metal PrimitiveType. | |
| simd::float4x4 | toSimdMatrix (const Matrix4 &matrix) |
| Convert a column-major Matrix4 to a SIMD float4x4. | |
Variables | |
| constexpr uint32_t | alphaDstFactorShift = 18 |
| constexpr uint32_t | alphaOpShift = 11 |
| constexpr uint32_t | alphaSrcFactorShift = 14 |
| constexpr uint32_t | alphaWriteShift = 25 |
| constexpr int | BLENDEQUATION_ADD = 0 |
| constexpr int | BLENDEQUATION_MAX = 4 |
| constexpr int | BLENDEQUATION_MIN = 3 |
| constexpr int | BLENDEQUATION_REVERSE_SUBTRACT = 2 |
| constexpr int | BLENDEQUATION_SUBTRACT = 1 |
| constexpr int | BLENDMODE_CONSTANT = 11 |
| constexpr int | BLENDMODE_DST_ALPHA = 9 |
| constexpr int | BLENDMODE_DST_COLOR = 4 |
| constexpr int | BLENDMODE_ONE = 1 |
| constexpr int | BLENDMODE_ONE_MINUS_CONSTANT = 12 |
| constexpr int | BLENDMODE_ONE_MINUS_DST_ALPHA = 10 |
| constexpr int | BLENDMODE_ONE_MINUS_DST_COLOR = 5 |
| constexpr int | BLENDMODE_ONE_MINUS_SRC_ALPHA = 8 |
| constexpr int | BLENDMODE_ONE_MINUS_SRC_COLOR = 3 |
| constexpr int | BLENDMODE_SRC_ALPHA = 6 |
| constexpr int | BLENDMODE_SRC_ALPHA_SATURATE = 7 |
| constexpr int | BLENDMODE_SRC_COLOR = 2 |
| constexpr int | BLENDMODE_ZERO = 0 |
| constexpr uint32_t | blendShift = 26 |
| constexpr uint32_t | blueWriteShift = 24 |
| constexpr uint32_t | colorDstFactorShift = 7 |
| constexpr uint32_t | colorOpShift = 0 |
| constexpr uint32_t | colorSrcFactorShift = 3 |
| DeviceCache | defaultMaterialDeviceCache |
| std::unordered_map< GraphicsDevice *, std::shared_ptr< Material > > | defaultMaterials |
| constexpr float | DEG_TO_RAD = PI / 180.0f |
| const uint32_t | factorMask = 0b1111 |
| constexpr uint32_t | greenWriteShift = 23 |
| constexpr int | INDIRECT_ENTRY_BYTE_SIZE = 5 * 4 |
| constexpr int | LAYERID_DEPTH = 2 |
| constexpr int | LAYERID_IMMEDIATE = 5 |
| constexpr int | LAYERID_SKYBOX = 3 |
| constexpr int | LAYERID_UI = 4 |
| constexpr int | LAYERID_WORLD = 1 |
| constexpr uint32_t | MASK_AFFECT_DYNAMIC = 1u |
| constexpr uint32_t | MASK_AFFECT_LIGHTMAPPED = 2u |
| constexpr uint32_t | MASK_BAKE = 4u |
| constexpr uint32_t | MASK_NONE = 0u |
| const uint32_t | opMask = 0b111 |
| constexpr float | PI = std::numbers::pi |
| constexpr float | RAD_TO_DEG = 180.0f / PI |
| constexpr uint32_t | redWriteShift = 22 |
| const std::unordered_map< ShadowType, ShadowTypeInfo > | shadowTypeInfo |
| constexpr uint32_t | SPECOCC_AO = 1u |
| constexpr uint32_t | SPECOCC_GLOSSDEPENDENT = 2u |
| constexpr uint32_t | SPECOCC_NONE = 0u |
| constexpr std::string_view | SSAOTYPE_COMBINE = "combine" |
| constexpr std::string_view | SSAOTYPE_LIGHTING = "lighting" |
| constexpr std::string_view | SSAOTYPE_NONE = "none" |
| constexpr float | TAU = std::numbers::pi * 2 |
| using visutwin::canvas::BitPacking = std::bitset<32> |
| using visutwin::canvas::ComponentTypeID = std::size_t |
Definition at line 17 of file component.h.
| using visutwin::canvas::EventArgs = std::vector<std::any> |
Definition at line 20 of file eventHandler.h.
| using visutwin::canvas::HandleEventCallback = std::function<void(const EventArgs&)> |
Definition at line 21 of file eventHandler.h.
| using visutwin::canvas::LoadErrorCallback = std::function<void(const std::string& error)> |
Definition at line 73 of file resourceLoader.h.
| using visutwin::canvas::LoadSuccessCallback = std::function<void(std::unique_ptr<LoadedData>)> |
Definition at line 72 of file resourceLoader.h.
| using visutwin::canvas::MakeTickCallback = std::function<void(double, void*)> |
Definition at line 14 of file xrManager.h.
| typedef std::array<float, 3> visutwin::canvas::PackedVector3f |
| using visutwin::canvas::Resource = std::variant<Texture*, ContainerResource*, FontResource*> |
| using visutwin::canvas::ScriptFactory = std::function<std::unique_ptr<Script>()> |
Definition at line 37 of file scriptRegistry.h.
| typedef Vector2T<int32_t> visutwin::canvas::Vector2i |
| typedef Vector2T<uint32_t> visutwin::canvas::Vector2u |
| typedef Vector3T<int> visutwin::canvas::Vector3i |
| using visutwin::canvas::XrErrorCallback = std::function<void(const std::string* err)> |
Definition at line 12 of file xrManager.h.
| Enumerator | |
|---|---|
| ADDRESS_REPEAT | |
| ADDRESS_CLAMP_TO_EDGE | |
| ADDRESS_MIRRORED_REPEAT | |
Definition at line 62 of file constants.h.
|
strong |
| Enumerator | |
|---|---|
| OPAQUE | |
| MASK | |
| BLEND | |
Definition at line 50 of file material.h.
|
strong |
| Enumerator | |
|---|---|
| STEP | |
| LINEAR | |
| CUBIC | |
Definition at line 36 of file animTrack.h.
|
strong |
| Enumerator | |
|---|---|
| ASPECT_AUTO | |
| ASPECT_MANUAL | |
Definition at line 90 of file constants.h.
|
strong |
| Enumerator | |
|---|---|
| Metal | |
| Vulkan | |
| WebGPU | |
Definition at line 15 of file graphicsDeviceCreate.h.
| Enumerator | |
|---|---|
| BUFFER_STATIC | |
| BUFFER_DYNAMIC | |
| BUFFER_STREAM | |
Definition at line 12 of file constants.h.
|
strong |
| Enumerator | |
|---|---|
| CULLFACE_NONE | |
| CULLFACE_BACK | |
| CULLFACE_FRONT | |
| CULLFACE_FRONTANDBACK | |
Definition at line 53 of file constants.h.
| enum visutwin::canvas::CurveType : uint8_t |
|
strong |
| Enumerator | |
|---|---|
| Left | |
| Center | |
| Right | |
Definition at line 23 of file elementComponent.h.
|
strong |
| Enumerator | |
|---|---|
| Image | |
| Text | |
Definition at line 17 of file elementComponent.h.
|
strong |
| Enumerator | |
|---|---|
| FILLMODE_NONE | |
| FILLMODE_FILL_WINDOW | |
| FILLMODE_KEEP_ASPECT | |
Definition at line 10 of file constants.h.
|
strong |
| Enumerator | |
|---|---|
| FILTER_NEAREST | |
| FILTER_LINEAR | |
| FILTER_NEAREST_MIPMAP_NEAREST | |
| FILTER_NEAREST_MIPMAP_LINEAR | |
| FILTER_LINEAR_MIPMAP_NEAREST | |
| FILTER_LINEAR_MIPMAP_LINEAR | |
Definition at line 18 of file constants.h.
|
strong |
| Enumerator | |
|---|---|
| Directional | |
| Point | |
| Spot | |
| AreaRect | |
Definition at line 39 of file graphicsDevice.h.
| Enumerator | |
|---|---|
| INDEXFORMAT_UINT8 | |
| INDEXFORMAT_UINT16 | |
| INDEXFORMAT_UINT32 | |
Definition at line 13 of file indexBuffer.h.
|
strong |
|
strong |
| Enumerator | |
|---|---|
| LIGHTFALLOFF_LINEAR | |
| LIGHTFALLOFF_INVERSESQUARED | |
Definition at line 57 of file constants.h.
|
strong |
| Enumerator | |
|---|---|
| LIGHTTYPE_DIRECTIONAL | |
| LIGHTTYPE_OMNI | |
| LIGHTTYPE_POINT | |
| LIGHTTYPE_SPOT | |
| LIGHTTYPE_AREA_RECT | |
Definition at line 48 of file constants.h.
|
strong |
| Enumerator | |
|---|---|
| MASK_NONE | |
| MASK_AFFECT_DYNAMIC | |
| MASK_AFFECT_LIGHTMAPPED | |
| MASK_BAKE | |
Definition at line 63 of file constants.h.
|
strong |
|
strong |
| Enumerator | |
|---|---|
| PIXELFORMAT_RGB8 | |
| PIXELFORMAT_RGBA8 | |
| PIXELFORMAT_RGBA16F | |
| PIXELFORMAT_RGBA32F | |
| PIXELFORMAT_R32F | |
| PIXELFORMAT_DEPTHSTENCIL | |
| PIXELFORMAT_DEPTH | |
| PIXELFORMAT_R8 | |
| PIXELFORMAT_RG8 | |
| PIXELFORMAT_DEPTH16 | |
Definition at line 32 of file constants.h.
|
strong |
|
strong |
| Enumerator | |
|---|---|
| RESOLUTION_AUTO | |
| RESOLUTION_FIXED | |
Definition at line 17 of file constants.h.
|
strong |
| Enumerator | |
|---|---|
| Static | |
| Dynamic | |
| Kinematic | |
Definition at line 15 of file rigidBodyComponent.h.
| Enumerator | |
|---|---|
| SHADOW_PCF3_32F | A shadow sampling technique using 32bit shadow map that averages depth comparisons from a 3x3 grid of texels for softened shadow edges. |
| SHADOW_VSM_16F | A shadow sampling technique using a 16-bit exponential variance shadow map that leverages variance to approximate shadow boundaries, enabling soft shadows. Only supported when |
| SHADOW_PCF1_32F | A shadow sampling technique using a 32-bit shadow map that performs a single depth comparison for sharp shadow edges. |
Definition at line 96 of file constants.h.
|
strong |
| Enumerator | |
|---|---|
| SHADOWUPDATE_NONE | |
| SHADOWUPDATE_THISFRAME | |
| SHADOWUPDATE_REALTIME | |
Definition at line 71 of file constants.h.
| Enumerator | |
|---|---|
| SKYTYPE_INFINITE | |
| SKYTYPE_BOX | |
| SKYTYPE_DOME | |
| SKYTYPE_ATMOSPHERE | |
Definition at line 40 of file constants.h.
|
strong |
| Enumerator | |
|---|---|
| TEXHINT_NONE | |
| TEXHINT_SHADOWMAP | |
| TEXHINT_ASSET | |
| TEXHINT_LIGHTMAP | |
Definition at line 45 of file constants.h.
|
strong |
|
strong |
| Enumerator | |
|---|---|
| TEXTUREPROJECTION_NONE | |
| TEXTUREPROJECTION_CUBE | |
Definition at line 27 of file constants.h.
Definition at line 71 of file constants.h.
| Enumerator | |
|---|---|
| TONEMAP_LINEAR | |
| TONEMAP_FILMIC | |
| TONEMAP_HEJL | |
| TONEMAP_ACES | |
| TONEMAP_ACES2 | |
| TONEMAP_NEUTRAL | |
| TONEMAP_NONE | |
Definition at line 79 of file constants.h.
|
strong |
| Enumerator | |
|---|---|
| TYPE_INT8 | |
| TYPE_UINT8 | |
| TYPE_INT16 | |
| TYPE_UINT16 | |
| TYPE_INT32 | |
| TYPE_UINT32 | |
| TYPE_FLOAT32 | |
| TYPE_FLOAT16 | |
Definition at line 49 of file vertexFormat.h.
|
strong |
Definition at line 14 of file vertexFormat.h.
| ComponentTypeID visutwin::canvas::componentTypeID | ( | ) |
Definition at line 25 of file component.h.
References nextComponentTypeID().
Referenced by visutwin::canvas::Entity::addComponent(), visutwin::canvas::Entity::addComponentInstance(), visutwin::canvas::Entity::clone(), visutwin::canvas::Entity::findComponent(), visutwin::canvas::Entity::findComponents(), and visutwin::canvas::GlbContainerResource::instantiateRenderEntity().
|
inline |
Create a Depth32Float texture for the back buffer depth attachment.
Definition at line 67 of file metalUtils.h.
Referenced by visutwin::canvas::MetalGraphicsDevice::startRenderPass().
| std::unique_ptr< GraphicsDevice > visutwin::canvas::createGraphicsDevice | ( | const GraphicsDeviceOptions & | options | ) |
Definition at line 20 of file graphicsDeviceCreate.cpp.
References visutwin::canvas::GraphicsDeviceOptions::backend, Metal, and Vulkan.
| std::shared_ptr< Shader > visutwin::canvas::createShader | ( | GraphicsDevice * | graphicsDevice, |
| const ShaderDefinition & | definition, | ||
| const std::string & | sourceCode ) |
Definition at line 39 of file shader.cpp.
References visutwin::canvas::GraphicsDevice::createShader().
Referenced by visutwin::canvas::MetalComposePass::ensureResources(), visutwin::canvas::RenderPassDownsample::RenderPassDownsample(), visutwin::canvas::RenderPassUpsample::RenderPassUpsample(), and visutwin::canvas::ShaderMaterial::ShaderMaterial().
|
inline |
Definition at line 65 of file uri.h.
References visutwin::canvas::URIOptions::authority, visutwin::canvas::URIOptions::fragment, visutwin::canvas::URIOptions::host, visutwin::canvas::URIOptions::hostpath, visutwin::canvas::URIOptions::path, visutwin::canvas::URIOptions::query, and visutwin::canvas::URIOptions::scheme.
|
inline |
Definition at line 33 of file uri.h.
Referenced by visutwin::canvas::URI::getQuery().
|
constexpr |
Definition at line 51 of file defines.h.
References DEG_TO_RAD.
|
inline |
Definition at line 16 of file uri.h.
Referenced by visutwin::canvas::URI::setQuery().
| std::shared_ptr< Material > visutwin::canvas::getDefaultMaterial | ( | const std::shared_ptr< GraphicsDevice > & | device | ) |
Definition at line 382 of file material.cpp.
References defaultMaterials.
Referenced by visutwin::canvas::Renderer::renderForwardLayer().
| std::shared_ptr< ProgramLibrary > visutwin::canvas::getProgramLibrary | ( | const std::shared_ptr< GraphicsDevice > & | device | ) |
Definition at line 238 of file programLibrary.cpp.
Referenced by visutwin::canvas::RenderPassShadowDirectional::execute(), visutwin::canvas::RenderPassShadowLocalNonClustered::execute(), and visutwin::canvas::Renderer::renderForwardLayer().
| uint32_t visutwin::canvas::hash32Fnv1a | ( | const uint32_t * | array, |
| size_t | length ) |
Calculates a simple 32bit hash value of an array of 32bit integer numbers. Designed for performance but provides good distribution with a small number of collisions. Based on FNV-1a non-cryptographic hash function.
Definition at line 10 of file utils.cpp.
Referenced by visutwin::canvas::MetalRenderPipeline::get(), and visutwin::canvas::MetalUniformBinder::submitPerDrawUniforms().
| bool visutwin::canvas::isCompressedPixelFormat | ( | const PixelFormat | format | ) |
Definition at line 33 of file constants.cpp.
Referenced by visutwin::canvas::Texture::Texture().
| bool visutwin::canvas::isIntegerPixelFormat | ( | const PixelFormat | format | ) |
Definition at line 38 of file constants.cpp.
Referenced by visutwin::canvas::RenderPass::allocateAttachments(), and visutwin::canvas::Texture::Texture().
| bool visutwin::canvas::isVisibleInCameraFrustum | ( | Camera * | camera, |
| GraphNode * | cameraNode, | ||
| const BoundingBox & | bounds ) |
Definition at line 16 of file frustumUtils.cpp.
References visutwin::canvas::BoundingBox::center(), visutwin::canvas::Frustum::create(), visutwin::canvas::Vector4::getX(), visutwin::canvas::BoundingBox::halfExtents(), visutwin::canvas::Matrix4::inverse(), visutwin::canvas::Vector3::length(), visutwin::canvas::Frustum::planes, visutwin::canvas::Camera::projectionMatrix(), and visutwin::canvas::GraphNode::worldTransform().
Referenced by visutwin::canvas::Renderer::renderForwardLayer(), and shouldRenderShadowMeshInstance().
| std::optional< FontResource * > visutwin::canvas::loadBitmapFontResource | ( | const std::string & | jsonPath, |
| const std::shared_ptr< GraphicsDevice > & | graphicsDevice ) |
Definition at line 144 of file fontResource.cpp.
References Default, FILTER_NEAREST, visutwin::canvas::TextureOptions::format, visutwin::canvas::FontGlyph::height, visutwin::canvas::TextureOptions::height, visutwin::canvas::FontGlyph::id, visutwin::canvas::TextureOptions::magFilter, visutwin::canvas::TextureOptions::minFilter, visutwin::canvas::TextureOptions::mipmaps, visutwin::canvas::TextureOptions::name, visutwin::canvas::TextureOptions::numLevels, PIXELFORMAT_RGBA8, visutwin::canvas::FontGlyph::width, visutwin::canvas::TextureOptions::width, visutwin::canvas::FontGlyph::x, visutwin::canvas::FontGlyph::xadvance, visutwin::canvas::FontGlyph::xoffset, visutwin::canvas::FontGlyph::y, and visutwin::canvas::FontGlyph::yoffset.
Referenced by visutwin::canvas::Asset::loadAsync(), and visutwin::canvas::Asset::resource().
| MakeTickCallback visutwin::canvas::makeTick | ( | const std::shared_ptr< Engine > & | app | ) |
Definition at line 24 of file engine.cpp.
|
inline |
Definition at line 19 of file component.h.
Referenced by componentTypeID().
| bool visutwin::canvas::runLightingValidationSelfTest | ( | ) |
Definition at line 100 of file lightingValidation.cpp.
Referenced by visutwin::canvas::Renderer::Renderer().
| void visutwin::canvas::setDefaultMaterial | ( | const std::shared_ptr< GraphicsDevice > & | device, |
| const std::shared_ptr< Material > & | material ) |
Definition at line 372 of file material.cpp.
References defaultMaterialDeviceCache, and defaultMaterials.
| void visutwin::canvas::setProgramLibrary | ( | const std::shared_ptr< GraphicsDevice > & | device, |
| const std::shared_ptr< ProgramLibrary > & | library ) |
Definition at line 229 of file programLibrary.cpp.
| bool visutwin::canvas::shouldRenderShadowMeshInstance | ( | MeshInstance * | meshInstance, |
| Camera * | shadowCamera ) |
Definition at line 66 of file shadowCasterFiltering.cpp.
References visutwin::canvas::MeshInstance::aabb(), visutwin::canvas::Material::alphaMode(), visutwin::canvas::MeshInstance::castShadow(), visutwin::canvas::MeshInstance::cull(), visutwin::canvas::GraphNode::enabled(), visutwin::canvas::Mesh::getVertexBuffer(), isVisibleInCameraFrustum(), MASK, visutwin::canvas::MeshInstance::material(), visutwin::canvas::MeshInstance::mesh(), visutwin::canvas::Camera::node(), visutwin::canvas::MeshInstance::node(), and visutwin::canvas::Material::transparent().
Referenced by visutwin::canvas::RenderPassShadowDirectional::execute(), and visutwin::canvas::RenderPassShadowLocalNonClustered::execute().
| bool visutwin::canvas::shouldRenderShadowRenderComponent | ( | const RenderComponent * | renderComponent, |
| const Camera * | camera ) |
Definition at line 56 of file shadowCasterFiltering.cpp.
References visutwin::canvas::Component::enabled(), visutwin::canvas::GraphNode::enabled(), and visutwin::canvas::Component::entity().
Referenced by visutwin::canvas::RenderPassShadowDirectional::execute(), and visutwin::canvas::RenderPassShadowLocalNonClustered::execute().
|
inline |
Map engine CullMode to Metal CullMode.
Definition at line 52 of file metalUtils.h.
Referenced by visutwin::canvas::MetalGraphicsDevice::draw().
|
inline |
Map engine PrimitiveType to Metal PrimitiveType.
Definition at line 32 of file metalUtils.h.
Referenced by visutwin::canvas::MetalGraphicsDevice::draw().
|
inline |
Convert a column-major Matrix4 to a SIMD float4x4.
Definition at line 20 of file metalUtils.h.
Referenced by visutwin::canvas::MetalUniformBinder::setTransformUniforms().
|
constexpr |
Definition at line 20 of file blendState.cpp.
Referenced by visutwin::canvas::BlendState::alphaDstFactor(), and visutwin::canvas::BlendState::setAlphaDstFactor().
|
constexpr |
Definition at line 18 of file blendState.cpp.
Referenced by visutwin::canvas::BlendState::alphaOp(), and visutwin::canvas::BlendState::setAlphaOp().
|
constexpr |
Definition at line 19 of file blendState.cpp.
Referenced by visutwin::canvas::BlendState::alphaSrcFactor(), and visutwin::canvas::BlendState::setAlphaSrcFactor().
|
constexpr |
Definition at line 24 of file blendState.cpp.
Referenced by visutwin::canvas::BlendState::alphaWrite(), visutwin::canvas::BlendState::BlendState(), and visutwin::canvas::BlendState::setAlphaWrite().
|
constexpr |
Definition at line 28 of file blendState.h.
Referenced by visutwin::canvas::BlendState::additiveBlend(), visutwin::canvas::BlendState::alphaBlend(), and visutwin::canvas::BlendState::multiplicativeBlend().
|
constexpr |
Definition at line 32 of file blendState.h.
|
constexpr |
Definition at line 31 of file blendState.h.
|
constexpr |
Definition at line 30 of file blendState.h.
|
constexpr |
Definition at line 29 of file blendState.h.
|
constexpr |
Definition at line 24 of file blendState.h.
|
constexpr |
Definition at line 22 of file blendState.h.
|
constexpr |
Definition at line 17 of file blendState.h.
Referenced by visutwin::canvas::BlendState::multiplicativeBlend().
|
constexpr |
Definition at line 14 of file blendState.h.
Referenced by visutwin::canvas::BlendState::additiveBlend(), visutwin::canvas::BlendState::alphaBlend(), and visutwin::canvas::BlendState::multiplicativeBlend().
|
constexpr |
Definition at line 25 of file blendState.h.
|
constexpr |
Definition at line 23 of file blendState.h.
|
constexpr |
Definition at line 18 of file blendState.h.
|
constexpr |
Definition at line 21 of file blendState.h.
Referenced by visutwin::canvas::BlendState::alphaBlend().
|
constexpr |
Definition at line 16 of file blendState.h.
|
constexpr |
Definition at line 19 of file blendState.h.
Referenced by visutwin::canvas::BlendState::additiveBlend(), and visutwin::canvas::BlendState::alphaBlend().
|
constexpr |
Definition at line 20 of file blendState.h.
|
constexpr |
Definition at line 15 of file blendState.h.
|
constexpr |
Definition at line 13 of file blendState.h.
Referenced by visutwin::canvas::BlendState::multiplicativeBlend().
|
constexpr |
Definition at line 25 of file blendState.cpp.
Referenced by visutwin::canvas::BlendState::enabled(), and visutwin::canvas::BlendState::setEnabled().
|
constexpr |
Definition at line 23 of file blendState.cpp.
Referenced by visutwin::canvas::BlendState::BlendState(), visutwin::canvas::BlendState::blueWrite(), and visutwin::canvas::BlendState::setBlueWrite().
|
constexpr |
Definition at line 17 of file blendState.cpp.
Referenced by visutwin::canvas::BlendState::colorDstFactor(), and visutwin::canvas::BlendState::setColorDstFactor().
|
constexpr |
Definition at line 15 of file blendState.cpp.
Referenced by visutwin::canvas::BlendState::colorOp(), and visutwin::canvas::BlendState::setColorOp().
|
constexpr |
Definition at line 16 of file blendState.cpp.
Referenced by visutwin::canvas::BlendState::colorSrcFactor(), and visutwin::canvas::BlendState::setColorSrcFactor().
| DeviceCache visutwin::canvas::defaultMaterialDeviceCache |
Definition at line 20 of file material.cpp.
Referenced by setDefaultMaterial().
| std::unordered_map<GraphicsDevice*, std::shared_ptr<Material> > visutwin::canvas::defaultMaterials |
Definition at line 21 of file material.cpp.
Referenced by getDefaultMaterial(), and setDefaultMaterial().
|
constexpr |
Definition at line 49 of file defines.h.
Referenced by degToRad(), and visutwin::canvas::RenderPassSsao::execute().
| const uint32_t visutwin::canvas::factorMask = 0b1111 |
Definition at line 12 of file blendState.cpp.
Referenced by visutwin::canvas::BlendState::alphaDstFactor(), visutwin::canvas::BlendState::alphaSrcFactor(), visutwin::canvas::BlendState::colorDstFactor(), visutwin::canvas::BlendState::colorSrcFactor(), visutwin::canvas::BlendState::setAlphaDstFactor(), visutwin::canvas::BlendState::setAlphaSrcFactor(), visutwin::canvas::BlendState::setColorDstFactor(), and visutwin::canvas::BlendState::setColorSrcFactor().
|
constexpr |
Definition at line 22 of file blendState.cpp.
Referenced by visutwin::canvas::BlendState::BlendState(), visutwin::canvas::BlendState::greenWrite(), and visutwin::canvas::BlendState::setGreenWrite().
|
constexpr |
Definition at line 56 of file metalGraphicsDevice.cpp.
Referenced by visutwin::canvas::MetalGraphicsDevice::draw().
|
constexpr |
Definition at line 18 of file constants.h.
Referenced by visutwin::canvas::ForwardRenderer::buildFrameGraph().
|
constexpr |
Definition at line 27 of file constants.h.
|
constexpr |
Definition at line 21 of file constants.h.
Referenced by visutwin::canvas::SkyMesh::SkyMesh(), and visutwin::canvas::SkyMesh::~SkyMesh().
|
constexpr |
Definition at line 24 of file constants.h.
Referenced by visutwin::canvas::ElementInput::syncTextElements().
|
constexpr |
Definition at line 15 of file constants.h.
|
constexpr |
Definition at line 31 of file constants.h.
|
constexpr |
Definition at line 32 of file constants.h.
|
constexpr |
Definition at line 33 of file constants.h.
|
constexpr |
Definition at line 30 of file constants.h.
| const uint32_t visutwin::canvas::opMask = 0b111 |
Definition at line 11 of file blendState.cpp.
Referenced by visutwin::canvas::BlendState::alphaOp(), visutwin::canvas::BlendState::colorOp(), visutwin::canvas::BlendState::setAlphaOp(), and visutwin::canvas::BlendState::setColorOp().
|
constexpr |
Definition at line 43 of file defines.h.
Referenced by visutwin::canvas::RenderPassSsao::execute().
|
constexpr |
Definition at line 48 of file defines.h.
Referenced by visutwin::canvas::Pose::look().
|
constexpr |
Definition at line 21 of file blendState.cpp.
Referenced by visutwin::canvas::BlendState::BlendState(), visutwin::canvas::BlendState::redWrite(), and visutwin::canvas::BlendState::setRedWrite().
| const std::unordered_map< ShadowType, ShadowTypeInfo > visutwin::canvas::shadowTypeInfo |
Definition at line 10 of file constants.cpp.
Referenced by visutwin::canvas::ShadowMap::create(), and visutwin::canvas::ShadowRenderer::createShadowCamera().
|
constexpr |
Definition at line 37 of file constants.h.
Referenced by visutwin::canvas::StandardMaterial::reset().
|
constexpr |
Definition at line 38 of file constants.h.
Referenced by visutwin::canvas::Material::updateUniforms().
|
constexpr |
Definition at line 36 of file constants.h.
Referenced by visutwin::canvas::Material::updateUniforms().
|
inlineconstexpr |
Definition at line 13 of file renderPassConstants.h.
Referenced by visutwin::canvas::RenderPassCameraFrame::RenderPassCameraFrame(), and visutwin::canvas::RenderPassCameraFrame::updateSourceActions().
|
inlineconstexpr |
Definition at line 12 of file renderPassConstants.h.
Referenced by visutwin::canvas::RenderPassCameraFrame::frameUpdate(), visutwin::canvas::RenderPassCameraFrame::RenderPassCameraFrame(), and visutwin::canvas::RenderPassCameraFrame::updateSourceActions().
|
inlineconstexpr |
Definition at line 11 of file renderPassConstants.h.
Referenced by visutwin::canvas::RenderPassCameraFrame::RenderPassCameraFrame(), visutwin::canvas::RenderPassCameraFrame::sanitizeOptions(), and visutwin::canvas::RenderPassCameraFrame::updateSourceActions().