|
| | VK (GLFWwindow *window) |
| |
| VkShaderModule | CreateShaderModule (Buffer &buf) |
| | 创建shader模块
|
| |
| void | Update () |
| | 一帧逻辑(无需等待上帧完成的操作)
|
| |
| void | Render (GLFWwindow *window) |
| | 绘制一帧
|
| |
| void | RenderEnd () |
| | 帧尾清理工作
|
| |
| void | SetFrameBufferResize () |
| | 设置帧缓冲大小发生变化
|
| |
| void | PopulateDebugMessengerCreateInfo (VkDebugUtilsMessengerCreateInfoEXT &createInfo) |
| | 填充调试信使结构
|
| |
| uint32_t | FindMemoryType (uint32_t typeFilter, VkMemoryPropertyFlags properties) |
| | 查找内存类型
|
| |
| bool | CreateBuffer (VkDeviceSize size, VkBufferUsageFlags usage, VkMemoryPropertyFlags properties, VkBuffer &buffer, VkDeviceMemory &bufferMemory) |
| | 创建缓冲区
|
| |
| void | CopyBuffer (VkBuffer srcBuffer, VkBuffer dstBuffer, VkDeviceSize size) |
| | 复制缓冲区
|
| |
| void | CopyBufferToImage (VkBuffer buffer, VkImage image, uint32_t width, uint32_t height, uint32_t mip_level) |
| | 复制缓冲区 到 图像
|
| |
| void | CopyBufferToImageMulti (const std::array< VkBuffer, NUM_MIPMAP_2D > &vec_buffer, VkImage image, const std::array< Size, NUM_MIPMAP_2D > &vec_size) |
| | 复制缓冲区 到 图像(mipmap)
|
| |
| template<typename T> |
| void | CreateVertexBufferGPU (const std::vector< T > &vertices, VkBuffer &vertexBuffer, VkDeviceMemory &vertexBufferMemory) |
| | 创建顶点缓冲(CPU不可访问,用于模型)
|
| |
| template<typename T> |
| bool | CreateVertexBufferCPU (size_t vertex_num, VkBuffer &vertexBuffer, VkDeviceMemory &vertexBufferMemory, VkDeviceSize &bufferSize) |
| | 创建顶点缓冲(CPU可访问,用于2d管线)
|
| |
| template<typename T> |
| void | CreateIndexBuffer (const std::vector< T > &indices, VkBuffer &indexBuffer, VkDeviceMemory &indexBufferMemory) |
| | 创建索引缓冲(CPU不可访问)
|
| |
| void | CreateImage (uint32_t w, uint32_t h, uint32_t mip_level, VkSampleCountFlagBits numSamples, VkFormat format, VkImageTiling tiling, VkImageUsageFlags usage, VkMemoryPropertyFlags properties, VkImage &image, VkDeviceMemory &imageMemory, uint32_t layers=1) |
| | 创建图像
|
| |
| VkImageView | CreateImageView (VkImage image, VkFormat format, VkImageAspectFlags aspectFlags, uint32_t mip_level) |
| | 创建图像视图
|
| |
| VkCommandBuffer | BeginSingleTimeCommands () |
| | 开始命令记录
|
| |
| void | EndSingleTimeCommands (VkCommandBuffer commandBuffer) |
| | 结束命令记录
|
| |
| void | TransitionImageLayout (VkImage image, VkFormat format, VkImageLayout oldLayout, VkImageLayout newLayout, uint32_t mip_level) |
| | 转换图像布局
|
| |
| VkFormat | FindSupportedFormat (const std::vector< VkFormat > &candidates, VkImageTiling tiling, VkFormatFeatureFlags features) |
| | 查找支持的格式
|
| |
| VkFormat | FindDepthFormat () |
| | 查找支持的深度测试
|
| |
| bool | HasStencilComponent (VkFormat format) |
| | 格式含有模板通道
|
| |
| VkDevice | GetDevice () |
| |
| size_t | CreateMaterial (Material &m) |
| | 创建一个材质(检查重复)
|
| |
| size_t | CreatePrimitive (ModelMaterial &m) |
| | 创建一个图元(材质)
|
| |
| Model * | CreateModel (ModelObject *object) |
| | 创建模型 ModelObject -> Model
|
| |
| void | RenderModel (VkCommandBuffer command_buffer, Model *model, size_t shadow) |
| | 绘制模型
|
| |
| void | DeleteModel (Model *model) |
| | 删除模型
|
| |
| size_t | GetPushConstantNext () |
| | 返回 下一个可用推送常量
|
| |
| PushConstantData * | GetPushConstant (size_t id) |
| | 返回 推送常量
|
| |
| void | UpdateUboBone (size_t id, std::vector< Matrix4 > &trans) |
| | 更新骨骼ubo(实例id)
|
| |
| size_t | GetUboBoneFree () |
| | 返回可用蒙皮id(注意设置不可用)
|
| |
| void | SetUboBoneFree (size_t id) |
| | 设置蒙皮id可用
|
| |
| void | SetUboBoneUse (size_t id) |
| | 设置蒙皮id占用(描述符创建时就已经映射)
|
| |
| void | SetDebugView (DebugView3D type) |
| |
| DebugView3D | GetDebugView () |
| |
| size_t | CreateTextureReal (Image *image, bool srgb, bool delete_image) |
| | 真正的创建一个纹理,失败返回0
|
| |
| size_t | CreateTexture (std::string_view path_name, bool srgb=true) |
| | 创建Texture
|
| |
| void | CreateCanvas (size_t id, Texture tex, std::string_view path_tex_full) |
| | 创建Canvas(2d管线资源)
|
| |
| void | CreateCanvasImage (size_t tex_id, const std::array< Image *, NUM_MIPMAP_2D > &vec_image) |
| |
| void | CreateCanvasImageKtx (size_t tex_id, std::string_view path_name, std::string_view path_tex_full) |
| |
| void | CreateCanvasRenderTarget (size_t rt_id, VKRenderTarget &rt) |
| |
| void | UpdateCanvasRenderTarget (size_t rt_id, VKRenderTarget &rt) |
| |
| void | UpdateCanvasDescriptor (Canvas *canvas) |
| |
| Canvas * | GetCanvas (size_t id) |
| |
| Canvas * | GetCanvasByTexture (size_t tex_id) |
| |
| Canvas * | GetCanvasByRenderTarget (size_t rt_id) |
| |
| size_t | GetCanvasSize () |
| |
| Texture | CreateTexture2D (const std::array< Image *, NUM_MIPMAP_2D > &vec_image) |
| | 真正的创建一个2d管线纹理
|
| |
| void | UpdateTexture2D (Texture tex, const PointU &xy, Image *image, const RectU &rect) |
| | 更新纹理区域(自动生成mipmap)
|
| |
| void | ScreenShot (std::string_view path_name) |
| |
| void | ExportTexture (Texture tex, std::string_view path_name) |
| |
| void | ExportTextureCanvas (std::string_view path) |
| |
| void | GenerateMipmaps (VkImage image, VkFormat imageFormat, int32_t texWidth, int32_t texHeight, uint32_t mipLevels) |
| | 生成mipmap
|
| |
| VkSampleCountFlagBits | GetMaxUsableSampleCount () |
| | 最大msaa采样数
|
| |
| size_t | LoadSkybox (std::string_view path) |
| | 加载天空盒
|
| |
| void | SetSkybox (size_t i) |
| | 设置当前天空盒
|
| |
| bool | CreateRenderTargetReal (size_t i, VKRenderTarget &rt) |
| |
| size_t | CreateRenderTarget () |
| |
| const RenderInfo2D & | GetRenderInfo2D () |
| | 返回绘制信息
|
| |
| const RenderInfo3D & | GetRenderInfo3D () |
| |
| Camera * | GetCamera () |
| | 返回当前相机
|
| |
| void | Release () |
| | 释放操作起始
|
| |
| | ~VK () |
| |
| void | _rebuild_swap_chain (GLFWwindow *window) |
| |
| void | _render_light (const LightDir &l) |
| |
| void | _render_light (const LightDot &l) |
| |
| void | _render_light (const LightSpot &l) |
| |
| uint32_t | GetCurrentFrame () |
| |
| void | GfxPushDot (const VertexGfx &v) |
| |
| void | GfxPushLine (const VertexGfx &v0, const VertexGfx &v1) |
| |
| void | GfxPushTriangle (const VertexGfx &v0, const VertexGfx &v1, const VertexGfx &v2) |
| |
| void | GfxPushDot2D (const VertexGfx &v) |
| |
| void | GfxPushLine2D (const VertexGfx &v0, const VertexGfx &v1) |
| |
| void | GfxPushTriangle2D (const VertexGfx &v0, const VertexGfx &v1, const VertexGfx &v2) |
| |
| Coor * | GetRootCoor (size_t index) |
| |
| size_t | GetMulModelSize () |
| |
| std::vector< Model * > & | GetMulModel (size_t i) |
| |
| void | AddMulModel (std::vector< Model * > &vec) |
| |