首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Creator星球游戏开发社区

    CreatorPrimer|Creator 2.x渲染初探

    1. 1.x2.x渲染区别 ---- Cocos Creator 1.x 是在cocos2d-js基础上增加了组件化与可视化编辑器,随着引擎不断迭代与进化,之前cocos2d-js的渲染设计制约了引擎的发展 ,因此Cocos Creatro2.x 丢下了原有的包袱,重新设计了底层渲染渲染树对比 通过下面的一些图我们对比一下1.x2.x渲染上的区别: ? 从上图可以看到,引擎中维护了一颗场景逻辑树(左边),需要时刻与渲染树(右边)进行数据同步。 在2.x使用了全新的设计,引擎内部只有一颗逻辑树,场景下包含节点,节点下挂载有渲染组件,简单清晰。因此在2.x中节点与组件对象中,不再有_sgNode这个变量了,使用时需要注意。 渲染流程 ---- 我们通过节点的transform为例对比1.x2.x渲染流程,请看下图: ?

    1.4K20发布于 2019-09-11
  • 来自专栏林德熙的博客

    通过日志判断 Uno Platform 是否在 X11 使用 OpenGL 渲染加速的方法

    本文告诉大家如何在 UNO 里面,如何通过日志信息判断是否在 Linux 的 X11 平台上使用 OpenGL 渲染加速 本文的方法适用于 UNO 的 5.2.175 版本,其他版本还请大家自行测试 需要先开启 Uno.UI.Adapter.Microsoft.Extensions.Logging.LoggingAdapter.Initialize(); #endif } 可在 Program.cs 里添加测试代码,如下面代码,如果有命令行参数,则不开启 OpenGL 渲染加速 在开启 OpenGL 渲染加速时,可在控制台看到如下输出代码 trce: Uno.WinUI.Runtime.Skia.X11.X11OpenGLRenderer[0] Render 0 trce : Uno.WinUI.Runtime.Skia.X11.X11OpenGLRenderer[0] Render 1 trce: Uno.WinUI.Runtime.Skia.X11.X11OpenGLRenderer [0] Render 2 trce: Uno.WinUI.Runtime.Skia.X11.X11OpenGLRenderer[0] Render 3 通过阅读 UNO 的源代码

    60910编辑于 2024-07-24
  • 来自专栏丑胖侠

    SpringBoot2.x系列教程(三十三)Thymeleaf手动渲染实例讲解

    在前面章节中我们讲解了Thymeleaf作为前端页面展示时的基本使用。之前我们也提到,Thymeleaf除了可以用于Web前端,也可以用于基于模板其他场景。

    70620发布于 2020-02-13
  • 来自专栏安装教程

    3D创作必备!Blender 3.6永久免费版下载+避坑指南(附中文界面配置技巧)

    ​一、软件定位与特性Blender 是开源免费的3D创作套件,支持建模、动画、渲染、视频剪辑等全流程创作。 3.6 LTS 版本作为长期支持版,新增几何节点资产库、Cycles X 渲染加速等核心功能,适合影视特效、游戏开发、工业设计等领域。二、安装环境准备1. .zip步骤2:启动安装程序解压压缩包,双击 blender-3.6.0-windows-x64.msi 文件,点击 Next:步骤3:自定义安装组件(没有这个步骤的跳过)勾选关键组件(建议保留默认全选 渲染引擎配置在 Render Properties 面板选择 Cycles 渲染器,开启GPU加速:import bpy bpy.context.preferences.addons['cycles'] Shift+A > Mesh > Cube进入编辑模式:Tab键使用环切工具:Ctrl+R测试2:材质渲染创建原理化BSDF材质添加HDRI环境贴图调整光照角度六、常见问题解答Q1:启动时提示"Failed

    5.1K10编辑于 2025-03-03
  • 来自专栏深度学习|机器学习|歌声合成|语音合成

    MikuMikuDance:渲染扩展《2

    文章目录 扩展1:mmd-for-unity 动作保存 扩展2:ray-mmd 物理渲染 额外扩展 扩展1:mmd-for-unity github MikuMikuDance可以处理3

    76410发布于 2021-01-14
  • 来自专栏LET

    渲染方程(2):VRE

    因此,从线性代数上,如上的积分存在这样的线性关系: 这里,揭示了光路贡献的来源:红色的自发光(从光源直接打到相机,光路长度1),绿色是直接光照(光源打到物体表面然后直接打到相机,光路长度2),橙色则是间接光照 (经过2+反弹后打到相机,光路长度3+)。 通常,rasterization渲染管线能够高效且简单的考虑前两部分的贡献,而光线追踪可以做到考虑所有光路的贡献:global illumination = direct illumination + 这里,我们记Transmittance: 令 , , , 表示 之间的变化距离,等式1两边乘以 : 已知: (2)式代入(3)式: 对于红色部分,我们可得: 这样,红色和蓝色部分抵消后 : 至此,我们推导出了渲染方程的一般解,基于这个公式,我们就可以获取任意场景下物理正确的渲染解。

    1.3K20发布于 2021-10-18
  • 来自专栏进击的多媒体开发

    Flutter 2 渲染原理和如何实现视频渲染

    声网Agora跨平台开发工程师卢旭辉带来了《Flutter2 渲染原理和如何实现视频渲染》的主题分享,本文是对演讲内容的整理。 本次分享主要包括 3 个部分: Flutter2 概览。 Flutter2 视频渲染插件的实践。 Flutter2 渲染原理(源码)。 下面我们一起看下 Flutter2 的整体架构: Flutter2 的 Web 部分包括 Framework 层和 Browser 层,其中 Framework 层涵盖渲染、绘制、手势处理等,Browser 2. 另一种则是基于 CanvasKit 的渲染模式,它会下载 2MB 的 wasm 文件以调用 Skia 渲染引擎,Widget 渲染都是通过该引擎来绘制的。

    2.5K20发布于 2021-11-09
  • 来自专栏大史住在大前端

    高性能Web动画和渲染原理系列(2)——渲染管线和CPU渲染

    旧软件渲染 现代浏览器多采用软硬件混合渲染的方式来处理,软件渲染的方式通常也被成为“旧软件渲染”(与之相对应的是硬件加速渲染),“旧”只是出现时间比较早,并不表示它已经被硬件渲染所取代。 本节我们先忘掉GPU的加速能力,来看看软件中需要如何处理页面渲染。下面以WebKit内核为例来说明一下渲染的基本处理过程以及创建合成层的条件。 生成后端类),你可以把后端类简单地理解为结果缓存,CPU会将各个RenderLayer的结果最终渲染为到一张位图里,然后交给GPU展示,合成的过程也可以在GPU中进行,也就是硬件加速渲染,这里不再展开, 从canvas体会分层优势 Webkit底层的2D渲染使用Skia库,它是类似于Canvas API的二维图形绘制库,为了方便理解软件渲染的优势,下面通过Canvas API来看看分层到底带来了哪些变化 不分层的情况 在canvas中,使用context.getImageData(x, y, width, height)方法取得画布上对应矩形区域的像素数据,在不分层的情况下,假设第一次渲染后,使用这个方法将画布中的像素数据取出来存储在

    1.9K30发布于 2019-10-21
  • 来自专栏数据人生

    加速MapReduce2

    案例1:对Map的输出进行排序时的CPU缓存本地性加速 此案例中,我们发现WordCount上性能的降低:某个作业在MR1上只需运行375秒,在MR2集群上需要运行475秒,这比MR1上多运行了25% 更小的块可能更加适合CPU缓存,也就是说,当排序的时候,所有的内存加速都非常快,因此排序过程也非常快。更大的块可能不适合CPU缓存加速,这意味内存加速会在更高级别的缓存中进行,或者直接在内存中进行。 以前的版本中,为了加速map输出记录,我发现首先会存储第n个记录在meta数组中的索引,接着存放记录key的位置,接着存放value在原始数据的位置。 而缓存外内存加速的代价大于缓存内额外的内存移动的代价,因此这种方法值得一试。        为什么会加速呢?这是因为排序时,我们将可以操作一段连续的内存空间,而操作其中一块时,可以进行CPU缓存加速。 以前方法在进行寻址或者移动时,因为缓存区的元数据区段比较大,可能没法利用CPU缓存加速。 这个小的改变就像魔术一样。

    53110编辑于 2022-09-23
  • 来自专栏Android源码框架分析

    Android硬件加速(二)-RenderThread与OpenGL GPU渲染

    Android4.0之后,系统默认开启硬件加速渲染视图,之前,理解Android硬件加速的小白文简单的讲述了硬件加速的简单模型,不过主要针对前半阶段,并没怎么说是如何使用OpenGL、GPU处理数据的 对于Android APP而言,基于GPU的硬件加速绘制可以分为如下几个阶段: 第一阶段:APP在UI线程构建OpenGL渲染需要的命令及数据 第二阶段:CPU将数据上传(共享或者拷贝)给GPU,PC上一般有显存一说 Android OpenGL GPU 渲染 之前分析理解Android硬件加速的小白文的时候,已经分析过,ViewRootImpl的draw是入口,会调用HardwareRender的draw,先构建DrawOp 简单说就是先申请内存坑位,如果该坑位的内存需要重新分配,则再申请分配匿名共享内存,这里分配的内存才是EglSurface(Surface)绘制所需内存(硬件加速),接下来就可以通知OpenGL渲染绘制了 count &= ~0x1; <!

    11.5K52发布于 2018-08-16
  • 来自专栏CODING DevOps

    X加速计划 | 聚焦机器人& AI 领域的产业加速营!

    海归创业学院在第一期人工智能主题班成功经验基础上,今年强势联合科沃斯共同主办X 加速计划。         X加速计划 深圳第一期 上海第二期 同步开始招募 加速计划内容 PROJECT COURSE 加速计划流程 PROJECT SCHEDULE 备注:深圳、上海两地课程时间基本一致。 加速计划导师 MENTORS & EXPERTS (排名不分先后) 报名须知 NOTICES OF REGISTRATION 项目招募方向 1. 机器人:感知、运动控制等技术、核心部件、本体 2. 报名方式 若你想报名参加X加速计划,可通过以下方式报名: 点击左下角的“阅读原文”,在活动行的入口“我要报名”进行报名。 项目报名截止时间6月12日24:00,请知悉; 2. X加速计划仅针对创始人,创始人,创始人,重要的事情说三遍; 3. 加速计划不收取课程费用,活动期间餐费、住宿费、交通费、学杂费自理; 4.

    38710编辑于 2023-05-17
  • 来自专栏林德熙的博客

    Avalonia 笔迹渲染太慢了 用 WPF 做加速

    既然 Avalonia 优化不动,那就用 WPF 做加速层 由于 Avalonia 的渲染延迟非常高,我尝试优化了几波都改不动,我的伙伴们关于减少渲染延迟的提交也没有被合入到主干,因此我决定采用 WPF 作为加速层用来绘制笔迹 我发现 Avalonia 的合成渲染整个模块的逻辑复杂度很高,啃不动,且越来越认为这个渲染延迟是符合 Avalonia 设计的。 在 Linux 上,使用 X11 直接绘制笔迹的性能也比 Avalonia 绘制的渲染实时性高很多,但如果 Avalonia 肯上 SHM 和开启DirtyRects优化,还是能接近裸 X11 实时渲染的 我用不准确的测量,能够看到 Avalonia 比 WPF 落后 1-2 帧,有时候最多能落后 5 帧。这里说的落后几帧,不代表 Avalonia 掉帧,而是说对实时响应反馈到界面上的渲染实时性。 , R = 0x56, G = 0x56, B = 0x56 }); Background = Brushes.Transparent

    21110编辑于 2026-02-07
  • 来自专栏小白实例

    【玩转GPU】GPU云服务器的功能与用途详解

    AMD Radeon Instinct MI25:AMD推出的云计算显卡,拥有225W TDP功耗和HBM2内存。 , output_size) def forward(self, x): x = torch.relu(self.fc1(x)) x = self.fc2 2.3.2 代码示例 python # 使用Blender Python API进行GPU渲染 import bpy # 切换Cycles渲染引擎 bpy.context.scene.render.engine bpy.context.scene.cycles.device = 'GPU' bpy.data.scenes['Scene'].render.tile_x = 512 bpy.data.scenes ,可实现GPU加速的3D模型渲染

    5.9K10编辑于 2023-07-18
  • 来自专栏代码编写世界

    《实时渲染》第2章-图形渲染管线-2.5像素处理

    实时渲染 2. 图形渲染管线 2.5 像素处理 这个阶段是所有先前阶段组合的结果,并且已经找到了在三角形或其他图元内被考虑的所有像素。像素处理阶段分为像素着色和合并,如图2.8右侧所示。 这意味着当一个图元被渲染到某个像素时,该图元在该像素上的z值被计算并与同一像素的z缓冲区的内容进行比较。 透明图元必须在所有不透明基元之后渲染,并以从后到前的顺序呈现,或使用单独的与顺序无关的算法(第5.5节)。透明度是基本z缓冲区算法的主要弱点之一。 模板缓冲区是一个离屏缓冲区,用于记录渲染图元的位置。它通常包含每像素 8 位。可以使用各种函数将图元渲染到模板缓冲区中,然后可以使用缓冲区的内容来控制渲染到颜色缓冲区和z缓冲区中。 这意味着场景的渲染发生在屏幕外的后台缓冲区中。在后台缓冲区中渲染场景后,后台缓冲区的内容将与之前显示在屏幕上的前台缓冲区的内容交换。交换通常发生在垂直重描期间,这是安全的时候。

    8910编辑于 2026-03-10
  • 来自专栏代码编写世界

    《实时渲染》第2章-图形渲染管线-2.4光栅化

    实时渲染 2. 图形渲染管线 2.4 光栅化 顶点及其关联的着色数据(全部来自几何处理阶段)在进行变换和投影后,下一阶段的目标是找到所有像素(图片元素的缩写),这些像素位于要渲染的图元内部,例如三角形。

    9510编辑于 2026-03-10
  • 来自专栏代码编写世界

    《实时渲染》第2章-图形渲染管线-2.6管线综述

    实时渲染 2. 图形渲染管线 2.6 管线综述 点、线和三角形是构建模型或对象的渲染图元。假设该应用程序是一个交互式计算机辅助设计 (CAD) 应用程序,并且用户正在检查华夫饼制造商的设计。 在这里,我们将在整个图形渲染管线中遵循这个模型,包括四个主要阶段:应用程序、几何、光栅化和像素处理。场景以透视图渲染到屏幕上的窗口中。 2.6.5 总结 这条管线源于数十年针对实时渲染应用程序的API和图形硬件演变。需要注意的是,这并不是唯一可能的渲染管道;离线渲染管道经历了不同的进化路径。 这是一个很好的资源,可以了解实现渲染管道的一些微妙之处,解释关键算法,例如剪辑和透视插值。 我们这本书的网站realtimerendering.com提供了指向各种管线图、渲染引擎实现等的链接。

    11010编辑于 2026-03-10
  • 来自专栏GiantPandaCV

    《PytorchConference2023 翻译系列》9,在PyTorch 2.X中使用TensorRT加速推理

    9- Accelerated Inference in PyTorch 2.X with Torch tensorrt 大纲 Torch TensorRT介绍 JIT编译与AOT编译方法 两种方法的异同点 Torch TensorRT介绍 Torch TensorRT是一个优化PyTorch模型推理性能的工具 它结合了PyTorch和NVIDIA的TensorRT 2. 今天我们在这里讨论使用Torch TensorRT加速PyTorch推断。首先,我们会给大家简短介绍一下Torch TensorRT是什么,然后乔治将深入介绍我们优化PyTorch模型的用户工作流程。 第二级是运算符级别上分区,在TensorRT中可以进一步加速的运算符以及可以在Torch中加速的其他运算符。

    88811编辑于 2024-01-11
  • 来自专栏采云轩

    如何让 x == 1 && x == 2 && x == 3 等式成立

    如何让 x == 1 && x == 2 && x == 3 等式成立 https://www.zoo.team/article/comparison-operation 某次面试,面试官突然问道: “如何让 x 等于 1 且让 x 等于 2 且让 x 等于 3 的等式成立?” 由此可见,上文提到的等于指的宽松相等 ==,题目变为 “x == 1 && x == 2 && x == 3”。 那多种数据类型之间的相等比较又有哪些呢? x.val }, } 给对象 x设置一个属性 val并赋值为 0,并修改其 valueOf、toString 方法,在 “x == 1 && x == 2 && x == 3”判断执行时,每次等式比较都会触发 valueOf、toString 方法,都会执行 val++ ,同时把最新的 val 值用于等式比较,三次等式判断时 val 值分别为 1、2、3 与等式右侧的 1、2、3 相同,从而使等式成立。

    90540编辑于 2022-12-01
  • 来自专栏代码编写世界

    《实时渲染》第2章-图形渲染管线-2.3几何处理

    实时渲染 2. 图形渲染管线 2.3 几何处理 GPU上的几何处理阶段负责大多数每个三角形和每个顶点的操作。该阶段进一步分为以下功能阶段:顶点着色、投影、裁剪和屏幕映射(如图2.3)。 图2.3. 完全在视图体积之外的基元不会被进一步传递,因为它们没有被渲染。部分位于视图体内部的图元需要裁剪。 每个图元的x和y坐标被转换为屏幕坐标。屏幕坐标与z坐标一起也称为窗口坐标。 假设场景应该被渲染到一个最小位置在 (x_1,y_1) ,最大位置在 (x_2 ,y_2) 处的窗口(其中 x_1 < x_2 和 y_1 < y_2 )。屏幕映射先是平移,然后是缩放操作。 新的x和y坐标称为屏幕坐标。z坐标(OpenGL的 [−1,+1] 和DirectX的 [0,1] )也被映射到 [z_1,z_2] ,其中 z_1=0 和 z_2=1 作为默认值。

    8510编辑于 2026-03-10
  • 来自专栏ops技术分享

    Redis2.x

    2) 去掉虚拟内存相关功能。 3) 放开对客户端连接数的硬编码限制。 4) 键的过期时间支持毫秒。 5) 从节点提供只读功能。 6) 两个新的位图命令:bitcount和bitop。 2) 尝试性地支持IPv6。 3) 可以通过config set命令设置maxclients。 4) 可以用bind命令绑定多个IP地址。

    35620发布于 2021-06-17
领券