![](https://img-blog.csdnimg.cn/20210510110103829.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
3D 引擎
文章平均质量分 92
3D 引擎 包括虚幻或者U3D web的3D引擎等等
微小的鱼
这个作者很懒,什么都没留下…
展开
-
移动端布料的模拟 -基于DynamicBone的实现
基于动态骨骼实现移动端的布料模拟摆动,穿模是不可避免的!原创 2022-10-31 23:59:34 · 2682 阅读 · 3 评论 -
粒子系统实现与原理
先简单讲述粒子的基本概念,包括分类等等,结合本人做过,在公司实现的粒子系统的思路、总结等等,包括未来也是比较新的粒子系统实现方式,根据需求制作一个粒子系统。原创 2022-09-30 23:59:32 · 4136 阅读 · 0 评论 -
图形学的三种拾取实现与比较
计算机图形学的几种拾取原理、实现及其比较。原创 2022-04-26 23:06:10 · 2527 阅读 · 0 评论 -
精度丢失导致扭曲与抖动
数据的问题准确说是 精度问题导致的,最好用相对坐标系别用绝对的,相对相机或者项目初始配置一个左下角点,然后所有的顶点减去这个左下角点,最好是用相对相机的,这样不用管顶点多大,最后都是小坐标 (工程人员干图形都是糙快猛,啥都不懂 数据用double,不知道GPU是float 精度损失常事了)相机对数深度缓冲:(解决Z-fight)(首先猜测是否是Z-fight) 这个有点类式于这吧顶点位置的数值太大,gpu运算的精度不够,会导致顶点位置错乱 相机有个对数 就是根据相机的近截面显示的详细一些,远截.原创 2022-02-25 01:40:43 · 1638 阅读 · 5 评论 -
透明的渲染
透明分为两种:透明测试(Alpha Test),透明混合(Alpha blending),其中透明度测试只是根据Alpha通道 阈值把对应的像素discard丢弃,得到的并不是真正的透明!Alpha blending是得到真正的透明.原创 2022-01-27 18:36:10 · 5558 阅读 · 0 评论 -
曲面细分(subdivision)&曲面细分着色器&GPU的LOD
曲面细分是指将一个模型的面合理的分成更多小的面,从而提升模型精度,提高渲染效果 曲面简化是指将一个模型的面合理的合成更少的面,从而降低模型精度,为特定情形下提供使用(如LOD技术) 。这一过程是可以在CPU中完成的,但组织多个点的动态添加和删除,并且更新同步到着色器所需的vb中,这一过程比较消耗性能,并且实现起来也不能算是特别容易的事情。一个比较理想的做法应该是在GPU硬件中完成相关的操作(曲面细分做色器),并且给用户提供一些可编程的接口。曲面细分着色器(GPU):带着这一目的,DirectX 11引入原创 2021-12-07 00:15:09 · 3196 阅读 · 0 评论 -
合批/批量渲染 (Batch)、实例化Instancing
可以简单的理解为:批量渲染是通过减少CPU向GPU发送渲染命令(DrawCall)的次数,以及减少GPU切换渲染状态的次数,尽量让GPU一次多做一些事情,来提升逻辑线和渲染线的整体效率。但这是建立在GPU相对空闲,而CPU把更多的时间都耗费在渲染命令的提交上时,才有意义。合批最重要的前提:材质必须相同!!!合批是节省了CPU的相关准备工作的工作量。合批后,经过VS,PS,尝试测试,模板测试后,此时已没有了纹理,顶点,索引的概念,只剩下一个个孤立的像素,各像素间没有任何关系了。像素送到GPU后进行批原创 2021-11-15 19:32:27 · 7591 阅读 · 0 评论 -
空间数据结构
前言:空间分割、引擎场景图、场景管理,CSG、光追加速等等都需要用到空间数据结构,它是一些通用的算法抽象,主要用于空间2D 、3D等等所以才称为空间数据结构,我这次是做了PPT、研究讨论最后演讲也分享部分出来~原创 2021-10-25 14:47:36 · 3210 阅读 · 0 评论 -
Web图形从flash到webgl次世代Webgpu
我刚刚大学毕业的时候第一份工作就是要脱flash,搞成webgl+wasm+C+++自研引擎,也算有缘分最后能碰到了第一代flash,然后是现在webgl1.0 ,下一代的也出来了兴奋,耳闻webgpu是移动端web的救星!!!WebGPU 是用于加速图形和计算的未来 Web 标准和 JavaScript API 的工作名称,旨在提供“现代 3D 图形和计算能力”。 它由 W3C GPU 为 Web 社区组开发,工程师来自 Apple、Mozilla、Microsoft、Google 等。与 WebGL原创 2021-10-01 16:30:50 · 1601 阅读 · 0 评论 -
HLSL & CG 与glsl着色器编译及其原理
Shader简介:Shader Language的发展方向是设计出在便携性方面可以和C++、Java等相比的高级语言,“赋予程序员灵活而方便的编程方式”,并“尽可能的控制渲染过程”同时“利用图形硬件的并行性,提高算法效率”。Shader Language目前主要有3种语言:基于 OpenGL 的 OpenGL Shading Language,简称 GLSL;基于 DirectX 的 High Level Shading Language, 简称 HLSL;还有 NVIDIA 公司的 CG原创 2021-09-09 23:44:18 · 4051 阅读 · 0 评论 -
GPU的架构(一)
gpu的驱动框架:1、窗口标准的实现是与操作系统强相关的,它为图形渲染提供目标内存。一般来说,只要支持的标准不变,操作系统更换/升级,对驱动的代码影响就只限在窗口这一块。2、编译器用于编译shader或kernel,编译kernel需要用llvm预编译,编译器会大一些。低端GPU的编译器特别容易出现各种语法不支持,让写shader的人痛苦万分。3、通用计算的实现就是把kernel编译后转成任务扔给内核去跑,相对简单。4、图形渲染的实现则需要考虑到一帧中可能有重复渲染/过度绘制的情况,为了这方面做优原创 2021-09-05 06:13:54 · 11996 阅读 · 0 评论 -
渲染性能优化之Culling 剔除
几种剔除:背面裁剪(Backface Culling)视锥裁剪(View Frustum Culling)遮挡剔除(Occlusion Culling)层次视锥裁剪(Hierarchical View Frustum Culling)入口裁剪(Portal Culling)细节裁剪(Detail Culling)像素剔除(Pixel Culling)在计算机图形学中,相对应的就是裁剪技术(Culling Techniques)所要做的工作——“从大量游戏事物中进行删除”。所谓的“大量事物”就原创 2021-06-18 20:04:29 · 2554 阅读 · 0 评论 -
渲染性能优化之几种LOD层次细节总结
LOD细节层次(Level of Detail,LOD)的基本思想是当物体对渲染出图像贡献越少,使用越简单的形式来表达该物体。这是一个已经在各种游戏中广泛使用的基本优化技术。一般情况下,完整的LOD算法包含3个主要部分:生成Generation(手动生成可以也可以减面生成)选择Selection切换Switching(切换不同精度的模型)从一个细节层次转换到另一个细节层次,而这个过程便称为LOD切换。LOD的切换 | LODSwitching当从一个LOD切换到另一个LOD的时原创 2021-06-02 01:08:57 · 9841 阅读 · 0 评论 -
纹理优化一、纹理压缩
通常无人机拍摄生成的地形模型文件较大(倾斜摄影),要将三维模型显示到网页上,先要压缩模型(可以减面删除重复点、重复的面),前面这些已经实现了再来就是进行的纹理压缩!像我们做CIM,智慧城市场景主要是室外当然也有部分室内的功能与展示那一部分是BIM只有在高精度模型才能使用 BIM 的功能,平时比如漫游或者在城市模型比如广州这种特大城市场景里面非常多的模型建筑数据消耗内存还有卡顿问题资源的管理与优化是非常重要的以及使用LOD,来回切换高精度与低精度的模型,但是单单这里还远远不够比如给的模型一个房子就非常多的纹理原创 2020-12-07 19:13:19 · 3184 阅读 · 2 评论 -
网格简化 二 、QEM算法
简化算法的误差测度(度量质量和误差)误差测度用于度量模型简化的质量和误差,因此它对模型的简化过程和最后的简化结果都具有重要的影响。大多数简化算法采用对象空间(Object-space)的一种或综合几种形式的几何误差(Geometric errors)作为误差测度,一些视点相关算法通常将对象空间的误差转换为屏幕空间(Screen-space)的误差值为误差测度,有些算法也考虑模型的颜色、法向量和纹理坐标等属性误差(Attribute errors)。几何误差几何误差测度一般采用欧式空间距离表示。通常有顶点原创 2020-10-16 01:52:46 · 10561 阅读 · 0 评论 -
网格简化 一、 常见减面算法简介
公司项目需求所以最近来研究减面,这里主要是大概简单的简述减面的思维等等还有几种常见的算法!原创 2020-10-16 00:30:17 · 6030 阅读 · 0 评论 -
directX 简介
DirectXDirectX(Direct eXtension,简称DX)是由微软公司创建的多媒体编程接口,是一种应用程序接口(API)。DirectX可以让以windows为平台的游戏或多媒体程序获得更高的执行效率,加强3D图形和声音效果,并提供设计人员一个共同的硬件驱动标准,让游戏开发者不必为每一品牌的硬件来写不同的驱动程序,也降低用户安装及设置硬件的复杂度。Microsoft DirectX 是这样一组技术:它们旨在使基于Windows 的计算机成为运行和显示具有丰富多媒体元素(例如全色图形、视频、原创 2020-09-03 19:14:40 · 4183 阅读 · 0 评论 -
openGL、D3D、vulkan区别简介
opengl,Directx,vulkan 基本是bai并列的东西. 区别是背后的du推动力不同, opengl是个zhi开源大企业组dao织弄得(组织叫 Khronos), DX是微软自己搞的. vulkan也是Khronos搞得, 准备取代opengl,但是需要时间. 因为框架是多线程的,据说比GL效率高20%.;(今天主要重点介绍的是D3D与Vulkan)原创 2020-08-27 20:56:20 · 10927 阅读 · 4 评论