Giter Site home page Giter Site logo

studynote's Introduction

  • 资源管理 组件模式,装饰器模式,名字叫法很多,和ue的类似,静态模型组件和蒙皮网格模型组件,这么设计是为了和ue更加贴近,更亲切。 actor需要哪个组件,就生成哪个

  • 命名规则

    f是结构,c是核心 类似u

DX12 vs. Vulkan
DX12 Vulkan
DXGIFactory Instance
MianWindowsHandle SurfaceKHR
Render Target View (RTV) renderpass or Framebuffer or imageView
Depth Stencil View (DSV) renderpass or Framebuffer or DepthImageView
SwapChain buffer **swap chain's Image **
Depth Resource **DepthImage **

DX12封装杂记:Descriptor及DescriptorHeap - 知乎 (zhihu.com)

  • Constant buffer view (CBV) 【用于一般数据提交】
  • Unordered access view (UAV) 【用于CS可写入的纹理】
  • Shader resource view (SRV) 【用于提交给shader的纹理】
  • Samplers 【提交给shader的所使用的纹理采样器】
  • Render Target View (RTV) 【渲染目标纹理】
  • Depth Stencil View (DSV) 【渲染目标深度/模板共享纹理】
  • Index Buffer View (IBV) 【Mesh中的索引数据】
  • Vertex Buffer View (VBV) 【Mesh中的顶点数据】
  • Stream Output View (SOV) 【Stream Output输出数据】

不过这些Resources的Descriptor类型可大概分为两类,其中前四个是Shader Visible的,之后的所有则不属于Shader Visible。在实践中,Shader Visible的descriptor类型要通过绑定在RootSiganture上传递给shader使用,而其他的descriptor不通过该流程指定,往往是通过command list直接指定。

  • 3_10 and 3_11 相当建立image和imageview
  • 3_12 相当于image layout 转换 (记得回去复习vulkan的synchronization)
Implementation
Question
  • 为什么DSV不是两个?

  • Delegate

    Delegates and Lamba Functions in Unreal Engine | Unreal Engine 5.3 Documentation

  • WindowsMessageProcessing.cpp

  • CoreMinimalObject:

    • In it's derived class CFieldObject: what does "Field" refer to in its name?
  • CoreObject::Component derives 3 children : inputCompoent, fogComponet and TransformationComponent.

    • Why does a component have a parent and list of children?
    • Is InputComponent only used for editorEngine?
  • Core 文件下应该是一些General的接口类,但是在这里重度依赖DX12的api,是不是很不科学?

  • CRenderingEngine 按照命名规则属于核心(start with capital C), 目前代码中Fence,CMDlist 都是引擎中的CRenderingEngine 的member,但是如果要把这些Fence,cmdlist 这些每一个单独抽象一个class出来,他们是属于结构(F), 还是核心(C)?

Classes
  • C

  • F

studynote's People

Contributors

alalba221 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.