slot 0.0.1
A real time UI render framework
载入中...
搜索中...
未找到
命名空间 | | 类型定义 | 枚举 | 函数
z8 命名空间参考

世界矩阵 描述坐标系,左手坐标系 使用 DirectX12 坐标系的描述 更多...

命名空间

namespace  builtin
 
namespace  ui
 

class  Application
 
class  BaseCamera
 
struct  BaseCollider
 
class  BaseLight
 
struct  BaseMaterial
 材质 基于 Cook‑Torrance BRDF 更多...
 
class  BaseMesh
 
struct  BaseShader
 一次图形绘制使用的完整 Shader 与固定管线状态描述。 更多...
 
struct  BaseShaderComponent
 Shader 派生类共享的后端无关编译描述。 更多...
 
class  BaseTexture
 与图形后端无关的 RGBA8 纹理资源。 更多...
 
struct  BoxCollider
 
class  Color
 
struct  CubeMesh
 
struct  CubeObject
 
class  DemoApplication
 
class  DX12Buffer
 
class  DX12Command
 
class  DX12Common
 
class  DX12ConstBuffer
 常量缓冲区 更多...
 
class  DX12DefaultBuffer
 
class  DX12DepthStencil
 
class  DX12Device
 
class  DX12FloatingWindowManager
 
struct  DX12GlobalConst
 CPU 侧全局常量 更多...
 
struct  DX12Light
 
struct  DX12Material
 
class  DX12MaterialManager
 
class  DX12MeshManager
 
class  DX12Msaa
 
class  DX12PipelineState
 
class  DX12Render
 
class  DX12RenderBatch
 
class  DX12RenderObject
 描述渲染物体所需的数据 更多...
 
class  DX12RenderTarget
 
class  DX12RootSignature
 
class  DX12SceneTarget
 
class  DX12Shader
 
class  DX12ShaderLibrary
 单个 DX12Render 拥有的 Shader GPU 缓存。 更多...
 
struct  DX12SubMesh
 
class  DX12SwapChain
 
class  DX12TextRenderer
 
class  DX12TextureManager
 
class  DX12UploadBuffer
 
class  DX12WindowSurface
 
class  DXException
 
class  Error
 
class  EventTarget
 
class  FbxImporter
 将 ASCII FBX 7.x 的 Geometry 数据转换为渲染网格。 更多...
 
struct  FbxImportOptions
 
struct  FbxMeshImportResult
 
class  FirstPersonCamera
 
class  GameObject
 有形状的渲染物体,一般包括: 更多...
 
class  GameObjectImpl
 包含常量缓冲区的物体 更多...
 
struct  GameObjectPixelShader
 
struct  GameObjectShader
 
struct  GameObjectVertexShader
 
struct  GrassBlockMaterial
 
class  GrassBlockTexture
 演示场景使用的草方块 RGBA8 纹理。 更多...
 
struct  GridMesh
 
struct  GridObject
 
struct  KeyArgs
 
class  Math
 
class  MeshGenerator
 
struct  MeshImporter
 
struct  MetalMaterial
 
struct  MissingPixelShader
 
struct  MissingShader
 
struct  MissingVertexShader
 
struct  MountainMesh
 
struct  MountainObject
 
struct  MouseMovArgs
 
struct  MouseWheelArgs
 
class  Object
 
struct  ObjectTransformConst
 普通和 UI 顶点着色器共享的对象变换 ABI。 更多...
 
class  ObjImporter
 
class  Owner
 
class  OwnerArray
 
class  ParallelLight
 
struct  PixelShaderComponent
 
struct  PoolResource
 
struct  RectMesh
 
struct  RectObject
 
struct  RectUIObject
 
class  Render
 
struct  RenderableComponent
 场景对象可渲染部分的持久化资源绑定。 更多...
 
class  Resource
 
class  ResourceManager
 应用级资源所有者和类型安全查询入口。 Manager 本身不是单例:Application 显式拥有它 更多...
 
class  ResourcePool
 ResourceManager 内部使用的分类型所有权容器。 更多...
 
class  ResourceRef
 资源的强类型引用,同时覆盖持久化 ID 与运行时索引两种边界。 更多...
 
struct  ResourceRefHash
 
struct  RotateCube
 
class  Scene
 一个可独立装载和销毁的场景,统一拥有相机、多光源和场景对象。 更多...
 
class  SceneObjectDetailsBinding
 
class  ScenePicker
 编辑器 CPU 射线拾取器。 更多...
 
struct  ScenePickRect
 
struct  SimpleGameObject
 
struct  SkullMesh
 
struct  SkullObject
 
struct  SphereMesh
 
struct  SphereObject
 
class  Timer
 
struct  Transform
 
struct  TriangleMesh
 
struct  UIMaterial
 
class  UIObject
 屏幕 UI 层的物体 更多...
 
struct  UIObjectConst
 
struct  UIObjectPixelShader
 
struct  UIObjectShader
 
struct  UIObjectVertexShader
 
class  Vertex
 对应顶点着色器的输入结构体 更多...
 
struct  VertexShaderComponent
 
class  Win32WindowHost
 
class  Window
 

类型定义

template<typename T >
using StoredResourceTy
 
template<typename T >
using ComPtr = Microsoft::WRL::ComPtr<T>
 

枚举

enum class  EventReply { Ignored , Handled , Capture }
 
enum class  MouseButton {
  None , Left , Middle , Right ,
  X1 , X2
}
 
enum class  MouseCursor {
  Arrow , SizeHorizontal , SizeVertical , SizeDiagonalNorthwestSoutheast ,
  SizeDiagonalNortheastSouthwest
}
 
enum class  NormalTy { Generate , Preserve }
 
enum class  ResourceTy {
  None , Mesh , Material , ShaderComponent ,
  Shader , Texture , Audio
}
 
enum class  ShaderTy {
  None , Vertex , Fragment , Compute ,
  Pixel
}
 
enum  RenderType { DirectX12 = 0 , DirectX11 = 1 , Vulkan = 2 }
 

函数

std::ostream & operator<< (std::ostream &o, const DirectX::XMFLOAT3 &F)
 
std::ostream & operator<< (std::ostream &o, const Transform &transform)
 
constexpr DirectX::XMFLOAT4 ColorFromBytes (unsigned red, unsigned green, unsigned blue, unsigned alpha=255)
 
bool ParseUIColor (const std::string &text, DirectX::XMFLOAT4 &color)
 
 TEST (FbxImporterTest, ImportsRenderableAsciiMesh)
 
 TEST (MeshTest, BuiltinMeshesHaveValidRenderableTopology)
 
 TEST (BaseCameraTest, UsesModeratePerspectiveWithoutDepthStretching)
 
 TEST (FirstPersonCameraTest, IgnoresMouseMotionByDefault)
 
 TEST (SimpleGameObjectTest, KeepsNormalOrthogonalAfterNonUniformScale)
 
 TEST (ResourceRefTest, DistinguishesAssetIdAndIndexedStates)
 
 TEST (ResourcePoolTest, ReturnsStableIndexedReferences)
 
template<typename ConcreteTy , typename BaseTy >
bool IsBuiltinType (ResourceManager &resources, std::string_view id)
 
 TEST (ResourceManagerTest, ResolvesTypedBuiltinReferences)
 
 TEST (ResourceManagerTest, AddsDerivedResourceUsingItsOwnDescription)
 
 TEST (ResourceManagerTest, RegistersConcreteBuiltinShadersAndPrograms)
 
 TEST (SceneTest, OwnsDefaultContextAndGameObjects)
 
 TEST (DX12ShaderTest, CompilesRegisteredShaders)
 

详细描述

世界矩阵 描述坐标系,左手坐标系 使用 DirectX12 坐标系的描述

  1. +X: 右,+Y: 上, +Z: 屏幕里
  2. 由于UI相对于地面xz是立起来的,所以UI是xy平面

类型定义说明

◆ ComPtr

template<typename T >
using z8::ComPtr = Microsoft::WRL::ComPtr<T>

◆ StoredResourceTy

初始值:
std::conditional_t<
std::is_base_of_v<BaseMesh, T>, BaseMesh,
std::conditional_t<
std::is_base_of_v<BaseMaterial, T>, BaseMaterial,
std::conditional_t<
std::is_base_of_v<BaseShaderComponent, T>, BaseShaderComponent,
std::conditional_t<
std::is_base_of_v<BaseShader, T>, BaseShader,
std::conditional_t<std::is_base_of_v<BaseTexture, T>,
BaseTexture, void>>>>>

把具体内建派生类归一到 ResourceManager 实际存储的资源基类。

枚举类型说明

◆ EventReply

事件目标对一次输入的处理结果。

Capture 除了阻止继续路由,还要求后续拖动与抬起回到同一目标;把该语义放在 Core 层后,场景 Object、UI 节点与可组合 Behavior 可以共享同一事件契约。

枚举值
Ignored 
Handled 
Capture 

◆ MouseButton

鼠标按键;None 用于不由单一按键触发的移动事件。

枚举值
None 
Left 
Middle 
Right 
X1 
X2 

◆ MouseCursor

平台无关的 UI 指针形状,由窗口适配层映射为系统光标资源。

枚举值
Arrow 
SizeHorizontal 
SizeVertical 
SizeDiagonalNorthwestSoutheast 
SizeDiagonalNortheastSouthwest 

◆ NormalTy

枚举值
Generate 
Preserve 

◆ RenderType

枚举值
DirectX12 
DirectX11 
Vulkan 

◆ ResourceTy

枚举值
None 
Mesh 
Material 
ShaderComponent 
Shader 
Texture 
Audio 

◆ ShaderTy

枚举值
None 
Vertex 
Fragment 
Compute 
Pixel 

函数说明

◆ ColorFromBytes()

constexpr DirectX::XMFLOAT4 z8::ColorFromBytes ( unsigned red,
unsigned green,
unsigned blue,
unsigned alpha = 255 )
constexpr

在编译期把 8 位通道转换为框架使用的浮点颜色。

◆ IsBuiltinType()

bool z8::IsBuiltinType ( ResourceManager & resources,
std::string_view id )

验证内建 ID 解析后仍保留具体类型,防止注册器退化为临时基类描述。

◆ operator<<() [1/2]

std::ostream & z8::operator<< ( std::ostream & o,
const DirectX::XMFLOAT3 & F )

◆ operator<<() [2/2]

std::ostream & z8::operator<< ( std::ostream & o,
const Transform & transform )

◆ ParseUIColor()

bool z8::ParseUIColor ( const std::string & text,
DirectX::XMFLOAT4 & color )

解析 #RRGGBB、#RRGGBBAA 或 r,g,b[,a],数值通道范围为 0..1

这是这个函数的调用关系图:

◆ TEST() [1/12]

◆ TEST() [2/12]

◆ TEST() [3/12]

函数调用图:

◆ TEST() [4/12]

◆ TEST() [5/12]

◆ TEST() [6/12]

模拟扩展阶段类型,确认派生类仍会归一到 Shader 池。

函数调用图:

◆ TEST() [7/12]

◆ TEST() [8/12]

函数调用图:

◆ TEST() [9/12]

函数调用图:

◆ TEST() [10/12]

函数调用图:

◆ TEST() [11/12]

◆ TEST() [12/12]