首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏LET

    UE(3):延迟渲染管线

    如果你在前方回头 而我亦回头 我们就错过 --- 《艳火》 前两篇分别介绍了UE(1):材质系统和UE(2):材质着色器,主要侧重如何生成材质,本篇的主题是延迟渲染管线(Deferred Shading 延迟渲染管线可以认为是一个Multi-Pass策略,该策略本质就是一个分支:不同Pass之间传递的规范,实现Pass的解耦,这样,每一个Pass只需要完成自己的子任务,按照规范交付结果。 在UE中,延迟渲染管线类似两个for循环,外层循环对应延迟渲染管线的多Pass的逻辑,称为Deferred Shading Pipeline,内层则是每个子任务具体的内容,子任务大同小异,每个子任务对应了一个 DrawCommand2RHICommand FMeshDrawCommand本身是跟平台无关的,最后一步就是针对当前设备的硬件情况完成最终的渲染过程,如上图所示,因为是Windows平台,所以此处是D3D11

    2.6K40编辑于 2022-12-22
  • 来自专栏python3

    3D图形渲染管线

    3D图形渲染管线 什么是渲染(Rendering) 渲染简单的理解可能可以是这样:就是将三维物体或三维场景的描述转化为一幅二维图像,生成的二维图像能很好的反应三维物体或三维场景(如图1): ? 图1:Rendering ---- 什么是渲染管线 渲染管线也称为渲染流水线,是显示芯片内部处理图形信号相互独立的的并行处理单元。一个流水线是一序列可以并行和按照固定顺序进行的阶段。 正如图3所示,有许多种方法来制定几何图元。 ? 图2:图形硬件渲染管线 ? 图3:几何图形的类型 ---- 一.顶点变换(Vertex Transformation): 顶点变换是图形硬件渲染管线种的第一个处理阶段。顶点变换在每个顶点上执行一系列的数学操作。 《OpenGL编程指南》 3. 网络   http://blog.sina.com.cn/s/blog_6ad33d3501014pi1.html

    2.7K20发布于 2020-01-14
  • 来自专栏游戏开发之旅

    (一) 3D图形渲染管线

    (一) 3D图形渲染管线(学习Shader的基础是计算机图形学) 正文 什么是渲染(Rendering) 渲染简单的理解可能可以是这样:就是将三维物体或三维场景的描述转化为一幅二维图像 图1:Rendering 一.顶点变换(Vertex Transformation): 顶点变换是图形硬件渲染管线种的第一个处理阶段。顶点变换在每个顶点上执行一系列的数学操作。 这些操作是OpenGL和Direct3D的一个标准组成部分。在这个阶段,隐藏面通过一个被称为深度测试的过程而消除。其它一些效果,例如混合和基于模板的阴影也发生在这个阶段。 图7:可编程图形流水线 总结: 我们可以把GPU的渲染管线理解为一个流程,就是我们告诉GPU一堆数据,最后得出来一副二维图像,而这些数据就包括了”视点、三维物体、光源、照明模型、纹理”等元素。 在各种图形学的书中,渲染管线主要分为三个阶段:应用程序阶段、几何阶段、光栅阶段。 1,应用程序阶段。

    2.4K30发布于 2019-12-02
  • 来自专栏代码编写世界

    第3章-图形处理单元-3.2-GPU管线概览

    3.2 GPU管线概览 GPU实现了第2章中描述的概念:几何处理、光栅化和像素处理流水线阶段。这些阶段被分为几个具有不同程度的可配置性或可编程性的硬件阶段。 渲染管线的GPU实现。这些阶段根据用户对其操作的控制程度进行颜色标识。绿色阶段是完全可编程的。虚线表示可选阶段。黄色阶段是可配置但不可编程的,例如,可以为合并阶段设置各种混合模式。 正如第18章和第23章所讨论的,这个逻辑管线的实现,即物理模型,取决于硬件供应商。逻辑模型中固定功能的阶段可以通过向相邻的可编程阶段添加命令而在GPU上执行。 随着时间的推移,GPU管线已经从硬编码操作演变为提高灵活性和控制性。可编程着色器阶段的引入是这一演变中最重要的一步。下一节描述了各种可编程级的共同特征。

    78800编辑于 2022-05-07
  • 来自专栏Tecvan

    3D 可视化入门:渲染管线原理与实践

    其中最基础的,就是渲染管线。 「渲染管线」(rendering pipeline),又称图形学管线(graphics pipeline),是计算机将 3D 模型渲染至 2D 屏幕上的一个概念模型。 渲染管线一般仅指 3D 多边形渲染的渲染流程,与 光线追踪(ray tracing) 等不同。 《Real-time Rendering, 4th》的渲染管线 本文组织方式以 「Real-time Rendering, 4th」 提到的渲染管线为主,为了解决具体问题,以 OpenGL、WebGPU 3.1.2 光照,动画与纹理坐标(UV)变换 这一部分作为顶点着色的可选输出,会在渲染管线主流程后讲解。 我们的渲染管线到这里就完成了。 六、总结 等等!怎么就总结了?学了这个渲染流程,好像什么问题都没解答啊!怎么光照,怎么反光,怎么贴图,怎么骨骼动画?好像还是什么也不知道...

    9.1K22编辑于 2021-12-09
  • 8GB 显卡跑 MiniMax H3 视频生成:从 OneClick 包到全自动化管线的完整实录

    本文沉淀完整的自动化管线:启动参数、API 全自动提交脚本、5 条实测方法论、8 个踩坑实录。所有数据来自 20+ 次真实采样,全部在本机完成,模型不出本地。 二、环境与启动参数(8G 卡能跑的关键)整合包:MiniMax H3 OneClick(ComfyUI 便携版)。 (见方法论 3)四、五条实测方法论(每条都有对照组)1. 全部踩坑和方法论已整理成 AI Agent 可直接执行的自动化手册——拿到手册的 AI 在装好 OneClick 包的机器上,python h3_i2v.py 首帧.png "提示词" 6.6 <seed > 960 544 一条命令即可复现整条管线。

    34310编辑于 2026-10-10
  • 来自专栏python3

    Android改包3

    1) 直接从卡刷ROM包提取 如果你的ROM是“卡刷”包,直接提取就好啦,不需要解包。卡刷包是zip格式的压缩文件。用WinRAR或WinZip直接解压ROM文件就得到所有的原文件。 3) 利用91手机助手从手机提取 还有一种不需要对ROM解包就可以提取到文件的途径。如果你是91手机助手的使用者,你一定熟悉它。打开91手机助手的文件管理,想提取那个就提取那个。 3. RFS的解包和打包 先强调一下,我们这一节讲的RFS文件的解包和打包不是为了提取文件之用。我们的目的并不仅仅停留在提取ROM文件上的层面上。 2)在CWM_Update下产生两个子文件夹:META-INF和system    CWM_Update/META-INF    CWM_Update/system 3)再在CWM_Update/ 制作完整刷机包ROM 有了上面如何制作刷机补丁做基础,你也不难制作出一个完整的“卡刷”刷机包ROM。

    2.7K10发布于 2020-01-09
  • 来自专栏R语言&linux

    3-R包

    1.R包的安装图片option是设置图片1.R包安装和使用的逻辑:安装包-加载包-使用包里的函数2.用library()检查是否安装成功——唯一标准3.已经安装的包用::快速调用里面的函数4.常见疑问1 )没有error就忽略2)package not available包名写错;命令写错;R语言版本和包要求版本不同;包过时被剔除图片3)是否更新:建议选n,除非一直报错;不想回答安装命令参数:update =F, ask=F4)加载A包,报错B包不存在:缺啥补啥;当依赖包的版本不够高,更新包:重新安装或先删除后安装,更新所有包:update.packages()5)网络问题 connection url require(stringr))install.packages("stringr")6.R包如何使用-获取帮助1) 快速查看函数帮助文档? sd 2)找R包介绍页面3)browsevignettes('') 在线教程7.补充常见的R语言符号图片中括号前是数据框或者矩阵两个中括号前是列表library括号里的是包文件名称出现在代码里,必然在实际参数的位置上带引号

    69900编辑于 2023-02-03
  • 来自专栏Layabox

    LayaAir 2.10新特性:可动态修改渲染管线、增加深度渲染管线、增加DirectLightMap全局光照贴图等3D功能

    在今天推出的LayaAir 2.10beta版里,3D渲染效果再次得以提升,增加了DirectLightMap全局光照贴图、增加了深度渲染管线DepthPass,增加了Camera截屏功能,增加了后期处理 可动态修改渲染管线 另外我们还在本次的版本中支持动态切换渲染管线,开发者可以在程序代码中通过RenderContext3D.ConfigPipeLineMode将默认的渲染管线切换为任意的渲染管线。 具体方法是在生成shader的时候增加自定义的shaderPass,然后通过RenderContext3D.ConfigPipeLineMode把自定义的渲染管线设置为引擎的渲染管线。 ? 例如,开发者想将物体的法线渲染成图片,可以在shader生成的地方增加一个自定义的渲染管线NormalPass,写好配套的shader,再把RenderContext3D.configPipeLineMode 3、新增支持了GLTF模型和GLTF动画的加载使用,使用方式与LayaAir插件从Unity中导出的模型(.lm)是一样的。 END

    1.2K10发布于 2021-01-12
  • 来自专栏Unity3d程序开发

    unity3d:渲染管线,一个cube输出到屏幕过程

    :经过裁剪检测,Alpha检测,模板检测,深度检测,混合 Q:哪些可配置,可编程,不可控制 1、图元组装和光栅化几个阶段是由硬件自己完成的 2、顶点着色器、几何着色器和片段着色器是可编程的阶段 3、

    56720编辑于 2023-08-24
  • 来自专栏机器人小农

    机器人视觉3

    随着技术的发展,3D相机的使用越来越频繁,当然如果价格亲民点、再亲民点,那将得到更多的使用。 今天我们就来说说3D相机和机器人之间那些思维。 往往3D相机是标定工具的,因此相机给出的位置信息对于机器人来说相当于绝对坐标值,就是说相机给了这个产品的位置信息,机器人拿到就直接执行这个位置就可以了。 首先我们来了解一下3D相机的原理: 3D相机是通过“激光”扫描得到镜头下物体轮廓的点云,并且计算出预先设置好的特征,并且计算出机器人tcp的位置 由此看来相机需要知道机器人的base坐标系位置,tcp 把这个位置信息发送给机器人。 当机器人收到后只需要执行这个位置就可以实现抓取了。 真的吗!!! 回头看看我们前面说过相机给我们的数据是:机器人的base坐标系下,tcp位置,tcp抓取姿态。

    81110编辑于 2022-06-29
  • 来自专栏python3

    python3 闭包

    闭包 1. number_in print(ret(200)) 运行结果: in test_in 函数, number_in is 100 120 in test_in 函数, number_in is 200 220 3. 闭包再理解 内部函数对外部函数作用域里变量的引用(非全局变量),则称内部函数为闭包。 c1()) 7 >>>c2=closeure.counter(100) >>>print(c2()) 101 >>>print(c2()) 102 nonlocal访问外部函数的局部变量(python3) 闭包思考: 1.闭包似优化了变量,原来需要类对象完成的工作,闭包也可以完成 2.由于闭包引用了外部函数的局部变量,则外部函数的局部变量没有及时释放,消耗内存

    68820发布于 2020-01-13
  • 来自专栏机器人小农

    机器人该做哪些备件呢?(本体部分)

    书接上回,上回我们说到机器人控制系统部分的备件,这次我们来说说本体部分。如果你没看到上一期可以点击这个链接 机器人该做哪些备件呢?(控制部分) 相对于控制柜来说本体的备件要少很多。 备货等级按照:1必备,2中等,3消耗品,4不常备 备件名称:工艺管线包 备货等级:1,3 说明:管线包实际上属于消耗品,其特点是种类烦多、零件难找、生产必备、易损坏等,所以管线包是必备的同时也是消耗品 备件名称:内部管线包 备货等级:2 说明:内部管线包是机器人驱动和马达之间的重要链接部分。原厂安装长度还是比较合理的,一般不会因为运动导致拉扯。 备件名称:皮带 备货等级:1 说明:部分型号的机器人会有皮带传动(例如KR360),这类皮带传动的机器人需要定期更换皮带并且经常检查皮带张紧力和磨损程度的。一般在两年内建议更换一次。 备件名称:机械限位 备货等级:4 说明: 备件名称:润滑油脂,齿轮油 备货等级:3 说明:这些本不属于备件,但是这又是机器人运维必不可少的消耗品。

    1.1K10编辑于 2022-06-29
  • 来自专栏祥的专栏

    自定义包及3种包导入方式

    3种方法 3.扩展 Python自定义包及3种包导入方式 1.自定义包 包就是一个至少包含__init__.py文件的文件夹,这个文件是必须存在的,否则,Python就把这个目录当成普通目录(文件夹), 以下自定义了一个包,包所在的目录为D:\Code_Sources\Python\Test\,即就是这个目录下有个叫parent的包。 ? __all__ = ["mod2_1", "mod2_2", "mod2_3"] if __name__ == '__main__': print('Pack2作为主程序运行') else: 3种方法 我在桌面C:\Users\Administrator\Desktop\新建了一个main.py文件**(和自定义的包不在一个目录)**,自定义包的目录:D:\Code_Sources\Python : ['mod2_1', 'mod2_2', 'mod2_3'] 请按任意键继续. . .

    3.6K20发布于 2020-03-10
  • 来自专栏sktj

    python3 模块和包

    多个文件组成一个包 init.py ? 导入所有包内成员 ? 调用 ? file 查看模块的源路径

    42810发布于 2019-12-12
  • 来自专栏ThingJS 3D开发

    融入ThingJS 3D可视化方案,让城市管线更加智能、高效

    物联网数字化转型的目的之一就是为了积累数据,对设备进行智能化管理,管线深埋在地下,是非常难以管理的一种设备,引入3D可视化方案会有多大帮助呢? 111.png ThingJS-面向物联网的3D可视化开发平台 管线.js /** * 说明:管线应用 */ var app = new THING.App({}); // 随机管线连接点 function i < 50; i++) { var old = points[points.length - 1]; var type = Math.floor(Math.random() * 100) % 3; while (oldType == type) { type = Math.floor(Math.random() * 100) % 3; } oldType = type; var offset 让城市管理更科学、更高效才是目标,ThingJS 3D管线可视化是核心助力,让你的智慧城市可视化开发更加省心。

    91800发布于 2020-07-29
  • 来自专栏小明的数据分析笔记本

    R语言circlize包实例3

    在 https://www.promptcloud.com/blog/data-visualization-text-mining-taylor-swift-song-lyrics/ 这篇文章里找到了答案

    98020发布于 2020-03-03
  • 来自专栏code人生

    web3.js:utils包

    原文在这里[1] 介绍 在这个指南中,你将学习到web3 utils包的不同函数,它包含了如何以不同格式生成随机字节,如何在Hex值和数字之间进行转换,哈希函数,地址,打包填充的方法,最后你将看到如何比较区块号 安装 只安装web3工具包: $ npm i web3-utils 或者你也可以安装web3库,然后访问web3.utils: $ npm i web3 导入 有三种不同的方式来导入utils包。 导入完整的web库 // import web3 module import { Web3 } from "web3"; // no need to initialize a provider Web3 .utils.toHex("web3"); //=> 0x77656233 // initializing a provider const web3 = new Web3("https:// eth.llamarpc.com [1] 这里: https://docs.web3js.org/guides/web3_utils_module/mastering_web3-utils [2] 署名-非商业性使用-相同方式共享 4.0

    76010编辑于 2024-05-17
  • 来自专栏python3

    Python3之模块、包

    二、包 包就是将多个模块放在文件夹中,这个文件夹就是包;当然,这个文件夹与日常文件夹有点不同 不同之处在于,该文件夹下除其他文件外,还有一个__init__.py文件,如图所示。 当有这个文件时,就可以在包和需要导入包的程序处于同一目录的情况下,调用包中的模块了。 包内文件 __init__.py在导入(import)包时,会自动执行。 ; version为版本号 description为对库的介绍 author为开发人员名字 还有其他的参数,比如邮箱等,详情可以到官网https://docs.python.org/3/distutils /index.html查看 ''' 然后,在windows命令行中,切换到mymodule文件夹中,执行python setup.py build,注意:我只装了python3,这样生成的库只能python3

    80320发布于 2020-01-13
  • 来自专栏Golang开发

    golang-101-hacks(3)——包

    注:本文是对golang-101-hacks中文翻译,原文地址 在“Go”中,包分为两种类型: (1) main包:用于生成可执行的二进制文件,main函数是程序的入口点。 库文件包:用来生成可以被其他人重用的目标文件。 } b)另外的包主要是特殊用途的,比如测试。 当程序需要引用“Go”标准包(“ ? "lib/math" // 当使用点号时math包时可以省略包名 如果执行go install命令找不到指定的包,它会报告如下错误消息 If the go install command can't 尽管不是强制要求,通常良好的编程习惯是包名称使用包路径地址最后的结尾项名称。

    60120发布于 2019-05-29
领券