小李也疯狂
码龄8年
求更新 关注
提问 私信
  • 博客:843,402
    843,402
    总访问量
  • 866
    原创
  • 1,972
    排名
  • 5,242
    粉丝
  • 14
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
加入CSDN时间: 2017-11-01

个人简介:80后程序员,开发过页游,手游。游戏类型:SG、RPG、SLG、TPS、PUZ等

博客简介:

分享知识,拥抱变化

查看详细资料
个人成就
  • 获得13,280次点赞
  • 内容获得8次评论
  • 获得11,337次收藏
  • 代码片获得299次分享
  • 原力等级
    原力等级
    6
    原力分
    1,855
    本月获得
    156
创作历程
  • 866篇
    2025年
成就勋章
TA的专栏
  • Vulkan教程
    付费
    21篇
  • Unity要点和难点解析
    付费
    9篇
  • 封装Vulkan
    付费
    15篇
  • #HLSL in Unity
    付费
    15篇
  • Unity性能分析和优化
    20篇
  • Unity中实用API
    3篇
  • ComputeShader
    7篇
  • BatchRendererGroup
    10篇
  • Unity Job System
    4篇
  • Unity 架构解析
    25篇
  • Unity资产工作流
    32篇
  • 快速学会ShaderGraph
    13篇
  • 高质量实时渲染
    3篇
  • 游戏引擎制作教程
    31篇
  • 空间索引结构系列教程
    22篇
  • 下里巴人谈计算机图形学
    9篇
  • CesiumForUnity
    10篇
  • WEBGL Shader 零基础教程
    19篇
  • WEBGL保姆级教程
    14篇
  • AI开发教程
    37篇
  • Python保姆级教程
    12篇
  • C++ 保姆级教程
    16篇
  • 前端技术
    13篇
  • ShaderGraph节点详解-UV篇
    13篇
  • ShaderGraph节点详解-实用工具篇
    28篇
  • 地理空间信息科学与技术
    5篇
  • 其他
    9篇
  • 计算机图形学
    22篇
  • 网络安全
    3篇
  • Python
    5篇
  • Rust
    1篇
  • 国产化
    1篇
  • 游戏开发
    7篇
  • 设计模式
    2篇
  • GIT
    2篇
  • AI
    22篇
  • 人生感悟
    1篇
  • 研发理论
    5篇
  • Unity3d
    39篇
  • ShaderGraph节点详解-程序化篇
    3篇
  • ShaderGraph节点详解-数学篇
  • ShaderGraph节点详解-输入篇
    110篇
  • ShaderGraph节点详解-通道篇
    4篇
  • ShaderGraph节点详解-艺术篇
    18篇
  • Unity Surface Shaders 开发指南
    5篇
  • ShaderLab中的命令
    14篇
  • ShaderGraph概念详解
    11篇
  • 性能分析
    6篇
  • Unity3d面试题目
    6篇
  • 渲染管线:综述
    4篇
  • Shader
    3篇
  • 渲染管线:URP
    12篇
  • 渲染管线:内置渲染管线
    10篇
  • 渲染管线:HDRP
    34篇
  • Shader:GLSL in Unity
    1篇
  • Shader:WriteShader
    26篇
  • Shader:核心概念
    11篇
  • Shader:分支 变体 关键字
    9篇
  • Shader:Built-in shaders
    20篇
  • DrawCall:优化
    8篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 0

TA参与的活动 2

创作活动更多

AI 镜像开发实战征文活动

随着人工智能技术的飞速发展,AI 镜像开发逐渐成为技术领域的热点之一。Stable Diffusion 3.5 FP8 作为强大的文生图模型,为开发者提供了更高效的图像生成解决方案。为了推动 AI 镜像开发技术的交流与创新,我们特此发起本次征文活动,诚邀广大开发者分享在 Stable Diffusion 3.5 FP8 文生图方向的实战经验和创新应用 本次征文活动鼓励开发者围绕 Stable Diffusion 3.5 FP8 文生图方向,分享以下方面的内容: 1. 技术实践与优化 - Stable Diffusion 3.5 FP8 模型架构解析与优化技巧 - 文生图生成效果的提升方法与技巧 - 模型部署与加速策略,例如使用 Hugging Face、Diffusers 等工具 - 针对特定场景(例如二次元、写实风)的模型微调与定制化开发 2. 应用场景探索 - Stable Diffusion 3.5 FP8 在不同领域的应用案例分享,例如游戏设计、广告创意、艺术创作等 - 利用 Stable Diffusion 3.5 FP8 实现图像编辑、图像修复、图像增强等功能的探索 - 结合其他 AI 技术(例如 NLP、语音识别)构建更强大的应用 3. 创新应用与思考 - 基于 Stable Diffusion 3.5 FP8 的创新应用场景设计 - AI 镜像开发的未来发展方向的思考与展望 - 对 AI 镜像开发伦理、安全等问题的探讨

43人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

Vulkan教程(二十一):顶点输入描述:Vulkan 顶点缓冲的数据格式定义

本文介绍了如何在Vulkan中将顶点数据从硬编码迁移到内存缓冲。主要内容包括:1)重构顶点着色器,改为接收外部传入的顶点属性;2)定义与着色器匹配的CPU端顶点结构体,采用属性交错存储方式;3)通过VkVertexInputBindingDescription描述顶点数据的内存布局;4)使用VkVertexInputAttributeDescription定义每个属性的解析规则;5)将顶点绑定和属性描述配置到图形管线中。文章强调CPU与GPU数据结构必须严格对齐,并推荐使用交错存储提升缓存效率。
原创
博文更新于 前天 18:12 ·
6 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Vulkan教程(二十):交换链重建:适配窗口变化的核心机制

本文介绍了Vulkan程序中交换链重建的实现方法。主要内容包括:1) 实现交换链重建函数,分离资源清理逻辑并优化重建过程;2) 检测交换链失效状态,处理图像获取和展示阶段的异常;3) 解决死锁问题,通过延迟重置栅栏避免阻塞;4) 显式处理窗口尺寸调整,添加状态标记和GLFW回调函数。通过这些改进,程序能够正确处理窗口尺寸变化和交换链失效等场景,确保渲染流程的稳定性。
原创
博文更新于 前天 17:37 ·
6 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Vulkan教程(十九):多帧并行:消除CPU与GPU空闲的核心优化

本文提出了一种多帧并行渲染方案,通过资源多实例化改造和帧索引管理实现CPU与GPU的并行工作。核心思路是为每帧分配独立的命令缓冲、信号量和栅栏,通过定义MAX_FRAMES_IN_FLIGHT常量(建议设为2)控制并行度。具体实现包括:批量创建命令缓冲和同步对象、引入帧索引循环复用资源、修改渲染循环绑定对应资源。该方案采用二元信号量同步机制,有效解决了传统渲染循环中CPU等待GPU的问题。后续可扩展使用时间线信号量实现更复杂的多队列同步。这种显式控制的设计体现了Vulkan的高效特性。
原创
博文更新于 前天 17:34 ·
7 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Vulkan教程(十八):命令缓冲:Vulkan 渲染指令的核心载体

Vulkan采用命令缓冲机制批量处理绘制指令,通过命令池管理内存分配。核心流程包括:创建绑定图形队列的命令池,分配主命令缓冲,记录渲染指令(图像布局转换、动态渲染设置、绘制操作),最后提交执行。该设计支持多线程并行记录,提升渲染效率。关键点在于正确处理图像布局转换和使用动态渲染替代传统渲染通道。后续将实现完整渲染循环,包括交换链图像获取、命令执行和结果呈现。
原创
博文更新于 前天 16:31 ·
7 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Vulkan教程(十七):动态渲染:Vulkan 1.3 无帧缓冲/渲染通道的渲染方式

Vulkan 1.3的动态渲染特性简化了渲染流程,不再需要创建渲染通道和帧缓冲对象。该特性通过vk::RenderingAttachmentInfo和vk::RenderingInfo两个核心结构体实现,允许直接指定颜色、深度等附件参数。动态渲染的优势包括代码简化、灵活切换附件以及更好的现代渲染技术兼容性。在命令缓冲记录中,通过beginRendering/endRendering替代传统渲染通道操作,并配合图像布局转换,实现了更高效的渲染流程。这一改进显著减少了初始化代码量,提升了渲染灵活性。
原创
博文更新于 前天 16:25 ·
5 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Vulkan教程(十六):图形管线的最终创建

我们终于可以整合前几章所有的结构体与对象,完成图形管线的创建!先快速回顾一下我们已经准备好的核心组件:着色器阶段:封装了 SPIR-V 字节码的着色器模块,定义了管线可编程阶段的功能逻辑;固定功能状态:一系列配置结构体,涵盖输入装配、光栅化、视口、颜色混合等固定功能阶段的行为规则;管线布局:声明了着色器中可在绘制时动态更新的统一值与推送常量;动态渲染配置:指定了渲染过程中使用的帧缓冲附件格式。
原创
博文更新于 前天 14:14 ·
4 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Vulkan教程(十五):动态渲染:Vulkan 1.3 管线简化新特性

Vulkan 1.3引入的动态渲染特性简化了图形管线创建流程。通过vk::PipelineRenderingCreateInfo结构体直接指定附件格式,无需预先定义渲染通道和帧缓冲对象。在命令缓冲记录时使用beginRendering函数启动渲染,显著减少了初始化代码量和状态管理成本。动态渲染提升了灵活性,支持不同渲染批次间快速切换附件,适用于多场景渲染需求。下一章将整合着色器模块、固定功能参数和动态渲染设置,完成图形管线创建。
原创
博文更新于 2025.12.17 ·
336 阅读 ·
18 点赞 ·
0 评论 ·
0 收藏

Vulkan教程(十四):固定功能阶段:Vulkan 图形管线的底层配置

Vulkan图形管线配置详解:本文系统介绍了Vulkan图形管线固定功能阶段的配置方法。相比传统API默认状态,Vulkan要求开发者显式配置管线状态,包括动态状态、顶点输入、输入装配、视口/裁剪、光栅化、多重采样、深度/模板测试和颜色混合等。重点讲解了动态状态的灵活性优势,视口与裁剪矩形的两种配置方式,光栅化器的核心参数,以及颜色混合的分层配置机制。最后指出管线布局的必要性,即使不使用统一值也需创建空布局。这些精细配置虽繁琐,但能确保开发者完全掌控管线行为。
原创
博文更新于 2025.12.17 ·
7 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Vulkan教程(十三):着色器模块:Vulkan 可编程管线的核心载体

本文介绍了Vulkan中使用SPIR-V着色器字节码实现三角形渲染的方法。主要内容包括:1. SPIR-V的优势:标准化字节码格式可避免不同厂商的GLSL语法差异问题;2. Slang着色器语言基础:类C语法,支持向量/矩阵运算和自动插值;3. 着色器实现:顶点着色器处理NDC坐标转换,片段着色器处理颜色输出;4. 编译流程:将Slang编译为SPIR-V字节码;5. Vulkan集成:加载SPIR-V、创建着色器模块并绑定到图形管线。文中提供了完整的Slang和GLSL着色器代码示例,以及CMake编译脚
原创
博文更新于 2025.12.17 ·
304 阅读 ·
18 点赞 ·
0 评论 ·
0 收藏

Vulkan教程(十二):图形管线,Vulkan 渲染的核心流程

本文介绍了Vulkan图形管线的核心概念和实现步骤。图形管线是Vulkan渲染的核心,包含从顶点输入到像素输出的完整处理流程,分为固定功能阶段(如光栅化)和可编程阶段(如顶点/片段着色器)。Vulkan管线的独特之处在于其不可变性,修改任何参数都需要重建整个管线,这虽然增加了开发复杂度,但能获得更好的性能优化。文章详细解析了管线各阶段的功能,包括输入装配、顶点处理、光栅化和颜色混合等,并提供了创建图形管线的代码框架。后续将重点实现着色器模块,这是让屏幕显示内容的第一步。
原创
博文更新于 2025.12.17 ·
6 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Vulkan教程(十一):图像视图,Vulkan 图像的访问接口

本文介绍了在Vulkan中创建图像视图(VkImageView)的关键步骤。图像视图作为访问图像的接口,定义了如何访问图像及其用途(如颜色附件或纹理)。主要内容包括: 代码框架扩展:添加图像视图成员变量和初始化调用 创建逻辑详解: 配置视图类型、格式和子资源范围 关键参数解析(颜色通道、子资源范围、视图类型) 批量创建交换链图像视图 使用场景说明:通用限制和立体3D应用扩展 总结:图像视图是使用图像的基础接口,下一步将创建帧缓冲实现屏幕渲染 核心要点是图像视图必须匹配图像用途,交换链视图需适配2D渲染,RA
原创
博文更新于 2025.12.17 ·
9 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Vulkan教程(十):交换链,Vulkan图像呈现的核心基础设施

Vulkan渲染系统需要显式创建交换链(SwapChain)来管理待显示图像队列。交换链创建需检查设备支持性并启用VK_KHR_swapchain扩展,然后查询三类关键属性:表面能力、格式和呈现模式。配置时需选择最优表面格式(优先SRGB色彩空间)、呈现模式(推荐MAILBOX模式)和分辨率(适配窗口像素尺寸)。创建交换链需指定图像数量、共享模式等参数,并处理跨队列族共享情况。交换链的核心作用是实现图像呈现与屏幕刷新同步,为后续渲染管线提供目标表面。整个过程体现了Vulkan显式控制的特性,需严格遵循设备兼
原创
博文更新于 2025.12.17 ·
5 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Vulkan教程(九):窗口表面,Vulkan与窗口系统的交互桥梁

本文介绍了Vulkan与窗口系统集成的实现方法,重点讲解了WSI(窗口系统集成)扩展的使用。主要内容包括: 窗口表面创建:通过VK_KHR_surface扩展创建抽象渲染表面,对比演示了Windows原生方式和GLFW跨平台方式。 呈现支持性查询:使用vkGetPhysicalDeviceSurfaceSupportKHR检查设备是否支持呈现功能,并处理可能存在的独立呈现队列情况。 呈现队列创建:修改逻辑设备创建流程,添加呈现队列支持,确保渲染结果能正确显示到窗口表面。 文章强调Vulkan的平台无关性设计
原创
博文更新于 2025.12.17 ·
98 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

Vulkan教程(八):逻辑设备与队列,构建显卡的编程接口

本文介绍了Vulkan逻辑设备的创建流程,包括:1)扩展代码框架添加逻辑设备和图形队列成员变量;2)指定要创建的队列族和队列数量;3)通过结构体链配置多版本设备特性;4)声明必需的设备扩展;5)整合配置创建逻辑设备并获取队列句柄。创建过程需明确队列、特性和扩展需求,逻辑设备作为应用程序与物理显卡交互的核心接口,其生命周期管理也至关重要。
原创
博文更新于 2025.12.17 ·
7 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Vulkan教程(七):物理设备与队列族,选择合适的显卡并理解队列机制

本文详细介绍了Vulkan物理设备的选择流程。首先通过enumeratePhysicalDevices()枚举系统中所有支持Vulkan的显卡,然后基于三个核心条件筛选设备:1) 支持Vulkan 1.3及以上版本;2) 存在支持图形命令的队列族;3) 支持所有必需的设备扩展(包括交换链、SPIR-V 1.4等)。文章还提供了队列族查找方法,并给出了完整的代码实现,包括设备适配性检查、扩展验证和错误处理机制。最终通过find_if算法选择首个满足所有条件的物理设备作为渲染硬件载体。
原创
博文更新于 2025.12.17 ·
5 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Vulkan教程(六):Vulkan开发的调试利器

Vulkan验证层是一种可插拔的调试组件,用于检测API调用错误。由于Vulkan默认不进行错误检查,验证层通过挂钩函数调用实现参数校验、资源泄漏检测等功能。文章详细介绍了如何启用标准验证层:首先定义验证层名称和控制开关,检查系统支持性,然后配置实例创建信息。此外,还讲解了如何通过VK_EXT_debug_utils扩展实现自定义调试消息回调,包括创建调试消息器、配置消息过滤规则等。验证层支持在Debug模式启用、Release模式关闭,既保证调试便利性又不影响运行时性能。文章还提到验证层可通过配置文件进行
原创
博文更新于 2025.12.17 ·
6 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Vulkan教程(五):实例创建,连接应用与驱动的第一步

本文详细介绍了Vulkan实例创建的过程,包括应用信息配置、窗口系统扩展添加和错误处理机制。主要内容包括:1)初始化Vulkan实例所需的函数框架和成员变量;2)填充应用信息结构体并选择Vulkan 1.4版本;3)配置GLFW窗口系统扩展;4)两种错误处理方式(异常捕获和无异常模式);5)针对macOS平台的兼容性解决方案。文章还提供了扩展支持性检查方法,帮助开发者验证系统兼容性。整个实例创建过程遵循Vulkan标准模式,使用RAII机制简化资源管理。
原创
博文更新于 2025.12.15 ·
16 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Vulkan教程(四):程序框架与GLFW窗口集成

本文摘要: 本章从零开始构建Vulkan程序框架,重点介绍了基础代码结构、资源管理机制和窗口系统集成。主要内容包括: 采用HelloTriangleApplication类封装程序逻辑,实现模块化管理 对比传统C API和Vulkan-Hpp RAII两种资源管理方式,推荐使用自动销毁机制 集成GLFW窗口库,完成窗口创建、事件循环和资源清理功能 使用C++20特性优化代码结构,如指定初始化器语法 建立异常处理机制确保程序稳定运行 该框架为后续Vulkan核心对象创建和渲染功能开发奠定了基础。
原创
博文更新于 2025.12.08 ·
27 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Vulkan教程(三):开发环境搭建

本教程详细介绍了Vulkan开发环境的搭建指南,涵盖Windows、Linux和macOS三大平台。主要内容包括:1) 获取教程代码和自动安装依赖库的脚本;2) Vulkan SDK的安装验证与环境变量配置;3) CMake构建工具与Vulkan的集成方法;4) 必备工具库(GLFW/GLM等)的安装说明;5) 分平台的环境配置步骤,包括Windows的vcpkg使用、Linux的SDK配置和macOS的Xcode项目设置。教程特别强调了C++20模块特性的支持,并提供了详细的CMake配置示例,帮助开发者
原创
博文更新于 2025.12.08 ·
80 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Vulkan教程(二):核心概念与三角形绘制

摘要:本文系统介绍了Vulkan图形API的核心概念与开发流程。首先阐述了Vulkan为解决传统图形API痛点而设计的现代架构,包括降低驱动开销、原生多线程支持和SPIR-V标准化。随后详细解析了绘制三角形的完整步骤:从实例创建、设备选择到窗口表面配置、图形管线搭建,再到命令缓冲录制和主循环实现。特别介绍了Vulkan 1.3引入的动态渲染特性对传统流程的优化。最后总结了Vulkan对象创建的统一模式和验证层调试机制,强调其显式设计带来的开发优势。全文为后续深入学习Vulkan编程奠定了概念基础。
原创
博文更新于 2025.12.08 ·
26 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多