黑不溜秋的
GPU全栈博主
展开
-
渲染引擎实践 - UnrealEngine引擎中RHI实现分析
RHI(Rendering Hardware Interface)是 Unreal Engine 中的一个重要组件,负责处理与底层图形API(如 DirectX、Vulkan、OpenGL 等)的交互。它提供了一个抽象层,使得引擎能够在不同的平台和图形API上运行,而不需要为每种API单独编写渲染代码。抽象化图形API:提供统一的接口来调用底层图形API,从而简化了跨平台开发。资源管理:处理图形资源的创建、更新和销毁,比如纹理、缓冲区和着色器等。原创 2024-10-19 14:11:34 · 314 阅读 · 0 评论 -
渲染引擎实践 - UnrealEngine引擎中启用 Vulkan 和使用 Renderdoc 抓帧
1. 到 .\Engine\UE_5.2\Engine\Binaries\Win64 目录下(以Windows平台为例),找到UnrealEditor, 并创建桌面快捷方式。1. 先打开RenderDoc, 在RenderDoc中配置 Launch Application。2. 右键快捷方式,配置运行参数: -vulkan -AttachRenderDoc。原创 2024-08-30 06:53:39 · 686 阅读 · 0 评论 -
渲染引擎实践 - UnrealEngine引擎 GLContext 创建过程
本文分析下 UnrealEngine 启动过程中创建多少个 OpenGL Context,以及每个 Context 的作用。原创 2024-08-09 20:09:36 · 298 阅读 · 0 评论 -
渲染引擎实践 - UnrealEngine引擎打开项目过程分析
本文分析一下 UnrealEngine 打开项目(Open Project)的过程。原创 2024-08-09 16:26:24 · 313 阅读 · 0 评论 -
渲染引擎实践 - UnrealEngine引擎启动过程分析
本文分析下 UnrealEngine 引擎启动过程。原创 2024-08-08 20:21:50 · 639 阅读 · 0 评论 -
渲染引擎实践 - UnrealEngine从源码编译UE4的步骤(Linux)
【代码】渲染引擎实践 - UnrealEngine从源码编译UE4的步骤(Linux)原创 2024-07-12 09:29:50 · 397 阅读 · 0 评论 -
三维引擎实践 - UnrealEngine从源码编译UE5的步骤
Install .原创 2024-06-27 01:56:24 · 1026 阅读 · 0 评论 -
渲染引擎实践 - OSG引擎渲染一帧的过程
经过前面两节的介绍,我们已经创建了窗口和启动了渲染线程。当应用程序加载好模型数据以后,就开始正式的渲染了,那么本节分析下渲染一帧的过程,本文尽量做到简单,清晰,明了。本文不照搬其他参考资料上的内容。原创 2024-07-12 17:12:39 · 410 阅读 · 0 评论 -
三维引擎实践 - OSG渲染线程创建过程
经过前面一节的介绍 ,已经了解OSG的窗口创建过程。当一个图形窗口建立之后,就可以使用该窗口的OpenGL上下文,进行渲染相关工作了,本节分析下OSG源码中渲染线程的建立过程。原创 2024-07-10 20:37:29 · 375 阅读 · 0 评论 -
三维引擎实践 - OSG引擎窗口创建过程
以GraphicsWindowX11为例,在Linux上用这个窗口类,Windows上用GraphicsWindows32类。一个3D应用程序,要想显示渲染结果,首先要创建一个窗口,本节就分析下OSG源码中窗口创建的过程。二: OSG中的窗口类介绍。三:OSG窗口建立过程。原创 2024-07-09 09:49:02 · 1012 阅读 · 0 评论 -
三维引擎实践 - ubuntu20.04 编译osg, osgearth
osgearth, osg, openscenegraph build on ubuntu20.04原创 2024-01-29 19:28:36 · 1805 阅读 · 2 评论 -
三维引擎实践 - Ogre中SampleBrowser显示光标
当进入Ogre的SampleBrowser的窗口后,默认是光标局限的窗口内,不能移动出去,这就给调试带来不便,因为当启动某一个Sample,进入到调试窗口后发现系统光标不见了。有一个方法可以使得系统光标可见。以上基于Ogre v13.4.3 代码修改,其他版本可参考对应位置修改。原创 2023-04-24 18:22:44 · 296 阅读 · 0 评论 -
三维引擎实践 - ubuntu20.04 编译ogre
ogre build on ubuntu20.04原创 2024-01-29 19:34:49 · 596 阅读 · 0 评论 -
三维引擎实践 - 在Windows上用CMake, VS2022编译Ogre, Ogre-Next
编译Ogre-next , Ogre原创 2023-04-09 08:21:11 · 1407 阅读 · 0 评论 -
三维引擎实践 - 配置Cesium 开发调试环境
在VSCode中配置Cesium 开发调试环境原创 2023-04-09 07:53:29 · 1669 阅读 · 0 评论 -
小型三维引擎设计实现-渲染层的设计总结
1 设计目标: 1.1: 易于开发,对渲染API做抽象,向上层提供更容易使用的接口, 另外还可以扩充渲染API功能,比如增加自定义GLSL常量, GLSL结构体,GLSL公用函数,自定义GLSL uniforms, 并在每帧渲染时自动拼凑成完整的GLSL代码,并自动为GLSL uniforms赋值, 对上层开发提供了便利性。 1.2: 可移植性,一方面呢可以支持Linux上的Op...原创 2019-03-16 12:40:19 · 1486 阅读 · 1 评论 -
小型三维引擎设计实现-大气散射特效效果
在做GIS时, 地球周围会有一个大气圈, 大气散射, 这个方面的算法是计算机图形学界不断深入研究的领域, 不过目前有几个成熟的散射算法. 我借鉴了<<GPU精粹2.高性能图形芯片和通用计算机编程技巧>>第16章的算法,实现了一个大气散射. 效果如图.图中蓝色的天空,就是散射的效果, 具体算法请自行查看书上的算法吧.步骤: 1: 创建一个椭...原创 2015-01-15 17:50:32 · 2213 阅读 · 1 评论 -
小型三维引擎设计实现-高程影像渲染效果
三维引擎主体开发工作已经结束, 支持高程,影像渲染, 支持多种数据源。 下一步大场景,大规模三维建筑渲染。...原创 2015-01-28 15:07:53 · 1846 阅读 · 1 评论 -
小型三维引擎设计实现-高程影像渲染总结
1:思路 第0级瓦片渲染思路走通->多级瓦片渲染2:主要技术点的实现:2.1:Screen-Space Error 的概念 Screen-Space Error(屏幕空间误差),它就是类似于比例尺的概念, 就形象的叫比例尺好了, 由于地图分为好多层,当我们在渲染地图的时候,怎么确定当期细节程度不够了,还要继续请求细节程度更高的一层呢?就是由这个值...原创 2019-03-14 17:01:19 · 1384 阅读 · 0 评论 -
小型三维引擎设计实现-球的渲染方法
球的渲染方法:渲染地球其中的重中之重是椭球体的曲面细分算法和着色算法。流行的有三种细分算法,用于产生近似地球表面的三角形:1 基于单位球的简单的表面细分算法,这种方法经常会在计算机图形学课程看到。2 基于立方体的椭球的曲面细分算法。3 基于大地测量网格(经纬度)的曲面细分算法(Geographic-Grid Tessellation)。我们的着色算法起始于简单的片段着色和用低分辨率的卫星...原创 2017-08-10 23:38:09 · 2443 阅读 · 0 评论 -
小型三维引擎设计实现-怎样通过减少对驱动程序的调用来提高性能
本文先翻译> 的 25章Improving Performance by Reducing Calls to the Driver, 然后介绍一下"小擎" 在OpenGL状态的管理, 批次渲染的设计和实现。 水平实在有限, 有些地方翻译的不像人话。25通过减少对驱动程序的调用来提高性能25.1 介绍渲染场景可能涉及到几个渲染过程,如阴影贴图构造,光贡献累积和帧缓冲后处理翻译 2017-07-29 01:22:56 · 844 阅读 · 0 评论 -
小型三维引擎设计实现-app层如何跨平台2
之前提到在Android平台下, 有以下两个问题需要解决: 一: 在Android上如何读写文件? 三维程序需要载入模型, 纹理, 着色器脚本等数据, 如何读写这些文件?二: 如何把第三方库移植到Android平台上, 可以使用CMake? 还是为其编写Android.mk原创 2017-07-18 09:07:00 · 984 阅读 · 0 评论 -
小型三维引擎设计实现-app层如何跨平台1
”小擎“可以作为一个第三方库或者独立可执行程序来运行, 目前可以在windows, linux, android 上运行。 app层可以说是应用程序抽象层, 来屏蔽不同平台的接口细节。一: 首先考虑一个问题: 一个应用程序如何做到跨平台? 1: C/C++ 标准库是跨平台的, 所以稍加注意的话用C/C++写的应用程序是跨平台的。 2: OpenGL 是跨平台的原创 2017-07-11 16:20:50 · 1489 阅读 · 0 评论 -
驱动开发系列16 - Linux Graphics 图形驱动概述(一)
图形加速是一门复杂的艺术,常常受到不公正的“巫术”声誉的困扰。本书旨在介绍Linux下图形驱动程序的内部工作原理和开发。整本书都需要具备C语言编程知识,并对图形处理器有一定的了解。尽管其主要读者是图形驱动开发者,但本文详细介绍了完整的Linux图形栈的内部结构,因此对希望增强对Linux图形世界理解的应用程序开发者也很有帮助:人们可以通过更好地理解Linux图形栈来提高应用程序的性能。在当今这个3D图形和GPU计算普及的时代,深入理解图形是必不可少的。本文以相关硬件概念的介绍开始(第2节)。原创 2024-08-22 23:25:32 · 618 阅读 · 0 评论 -
驱动开发系列23 - Linux Graphics DRM代码分析 - 整体介绍
Linux 的框架是一个管理图形硬件的子系统,主要用于在 Linux 内核中处理图形设备的显式渲染。DRM 允许用户空间应用程序直接与显卡交互,并在 GPU 上进行图形渲染,避免了传统的图形用户界面(GUI)库(如 X11 或 Wayland)对显卡的控制。原创 2024-10-10 22:09:05 · 725 阅读 · 0 评论