程序员从零开始制作流畅的3D图形引擎 并在DIY的GPU上运行

程序员从零开始制作流畅的3D图形引擎并在DIY的GPU上运行这并不是Fish首次涉足自制图形。他最初用WebGL开发了用于网络浏览器的"Pescado"引擎,然后将其移植到用于PC显卡的OpenGL上。不过,在低功耗微控制器上实现流畅的3D渲染是一次重大飞跃。Fish的引擎被命名为"ESPescado",用于ESP32移植,完全使用C++和OpenGL手工制作。他从零开始创建了向量、矩阵和渲染数学库。正如Fish解释的那样,"物理和几何处理发生在3D中,但在2D显示器上显示图像时,只能绘制2D点"。ESPescado使用透视投影技术将3D物体平面化为屏幕上的2D物体。此外,它的响应速度也相当快。得益于ESP32的双核设计,Fish的代码可以在一个内核上以每秒700帧的速度处理物理和输入处理,而另一个内核则专注于以每秒40帧的速度流畅地渲染线框。制作硬件本身就是黑客的梦想:一个小巧的1.9英寸320x160像素显示屏,周围环绕着ESP32大脑,配上可实现全3D控制的外置操纵杆。其中一个操纵杆甚至可以连接到手指上,带来身临其境的体验。加速计提供运动输入,用于调整游戏中的摄像头。在引擎盖下,ESPescado使用网格、顶点和矩阵等标准3D工具包。网格由三角形的点和线构成,是视频游戏中的基本物体和地形。然后,引擎可以应用缩放、旋转和定位等变换,将这些网格放置在虚拟3D世界中。YouTube上的一个演示展示了ESPescado的运行情况,Fish在黑色背景中操纵一个简单的绿色三角形物体。它让人们对该引擎的功能有了一个基本的了解,表明即使是最基本的三维图形也可以根据第一原理进行开发。对于工匠和三维数学专业的学生来说,Fish的项目让他们对三维引擎背后的核心概念有了迷人的一瞥。ESP32"ESPescado"版本和原始OpenGL"Pescado"版本都已发布在GitHub上,供所有人研究和构建。...PC版:https://www.cnbeta.com.tw/articles/soft/1426230.htm手机版:https://m.cnbeta.com.tw/view/1426230.htm

相关推荐

封面图片

Windows NT 3.5程序员讲述微软标志性“3D管道”屏幕保护程序的起源故事

WindowsNT3.5程序员讲述微软标志性“3D管道”屏幕保护程序的起源故事程序员RaymondChen的故事要从他的朋友说起,90年代中期,他在微软公司的OpenGL图形编程接口团队工作,当时他的同事还未透露姓名。他们为即将发布的WindowsNT3.5成功实现了硬件加速OpenGL,但却没有办法向最终用户展示先进的3D渲染功能。随着操作系统发货日期的临近,该团队需要一个"华而不实"的OpenGL演示,而且进度要快。他的同事提议在Windows团队内部举办屏保设计大赛。屏幕保护程序是一个完美的低风险工具,因为出现任何问题都不会影响大局。比赛规则很简单:每个小组制作最炫目的3D屏幕保护程序,由全公司投票决定优胜者。获胜的屏幕保护程序将成为WindowsNT的最终产品。OpenGL小组全力以赴,制作出了3D文字、3D迷宫和3D飞行物体等3D动画。但他们的杰作是令人费解的3DPipes。在收集了所有参赛作品后,团队向他们的WindowsNT同事发送了安装说明和投票链接。正当评委们准备统计票数时,市场部的一位同事大吃一惊,宣布他们的所有作品都值得在WindowsNT中使用。幸运的是,看到这些新屏保的人中有一位是营销团队的成员,他在纽约与一家大型计算机行业杂志进行预定访问的前一晚试用了这些屏保。他非常喜欢这些屏保,并回信说:"你们可以取消投票了。我们会把它们全部添加到产品中。"就这样,通过一封电子邮件,3D管道屏保和其他参赛作品一夜之间从地下实验变成了成千上万计算机的桌面。在CRT显示器时代,这些屏幕保护程序除了是一种初级3D渲染演示外,还能防止屏幕烧毁。现在人们不再担心这个问题了,所以屏保也不再流行。不过,如果你怀旧,想在工作间隙喝杯咖啡放松一下,互联网档案馆里有这些屏保。这些古老的文件仍可在现代系统上运行。只需从InternetArchive的"WindowsXP和98Screensavers"页面下载压缩文件,并将内容解压缩到System32文件夹中。你可以在屏保设置中找到它们。...PC版:https://www.cnbeta.com.tw/articles/soft/1434511.htm手机版:https://m.cnbeta.com.tw/view/1434511.htm

封面图片

WebGPU是新的WebGL,是绘制3D图形的新方法,并有望成为绘制2D图形的标准。| blog

WebGPU是新的WebGL,是绘制3D图形的新方法,并有望成为绘制2D图形的标准。WebGPU可以取代Vulkan和普通OpenGL,成为任意编程语言中任意软件绘制图形的标准。Chrome113已经支持WebGPU,到年底WebGPU将在所有浏览器中普及。WebGPU的推出对非程序员的影响可能不大,但它有望使浏览器中运行网页游戏成为常态,浏览器里运行类似ChatGPT的大型LLM模型应用也很值得期待。对程序员而言,WebGPU注定是一个重大的进步。

封面图片

兆芯x86 CPU搭配统信UOS 成功运行国内三维图形引擎

兆芯x86CPU搭配统信UOS成功运行国内三维图形引擎Q-MAP三维地理信息及图形软件主要面向智慧城市、消防、交通、能源、港口、水利等行业应用,此次在信创环境下成功运行,为我国掌握软硬件工业标准的话语权提供了技术支撑,可为多种行业的管理决策提供更有力的数据保障。三维GIS(地理信息系统)地图引擎首先需要强大的数据处理能力,能处理大规模的三维地理空间数据,包括地形、地貌、建筑物等各种类型的地理信息。其次,要有足够的易用性和可扩展性,方便定制和二次开发,比如叠加车船、气象数据,生成地形剖面等。最后,由于内含各类地理、建筑空间数据,信息安全是国内三维GIS地图引擎的核心价值,能够自主掌控的软件才能确保地理数据的安全性和完整性。迅图Q-MAP自研的三维引擎产品是一款高速实时轻量化数字孪生引擎,具备完整适应国内独立计算机产业环境的能力。它基于操作系统底层图形API接口(OpenGL/DirectX/Vulkan),自主设计开发原生三维地图渲染引擎,并采用自主设计的安全互联网数据格式、自主设计的高速实时数据通道及处理机制,具有完全自主的知识产权。它集成了城市地理信息、建筑信息、机电设备信息、传感器采集信息、管理流程信息等数字化模型、运行历史数据,集成乐多部门、多专业、多尺度的仿真应用,可以在虚拟空间中完成宏观到微观的统一映射,具备超大规模数据实时处理及可视图形交互能力,支持游戏级次世代渲染效果,能够为智慧城市的仿真调度、精细化管理、统一应急指挥等工作提供有力的技术支持。兆芯开先KX-7000系列处理器兼容x86指令集,最高工作频率3.7GHz,最大缓存32MB,支持最高128GBDDR5/DDR4内存,内置24通道PCIe4.0,支持USB4/USB3、SATA3等主流IO,支持处理器和IO虚拟化技术,同时集成高性能显卡,支持DX12、OpenCL1.2、OpenGL4.6,支持双路4K硬解码,计算性能和图形性能分别达到兆芯上一代产品的2倍和4倍,并支持兆芯自研的SM2、SM3、SM4国密算法加速指令。...PC版:https://www.cnbeta.com.tw/articles/soft/1435640.htm手机版:https://m.cnbeta.com.tw/view/1435640.htm

封面图片

多人游戏引擎,基于WebAssembly、Rust和WebGPU运行时,用于构建高性能的和3D应用

多人游戏引擎,基于WebAssembly、Rust和WebGPU运行时,用于构建高性能的多人游戏和3D应用1.无缝联网。Ambient既是你的服务器又是你的客户端。你所需要做的就是建立你的服务器和/或客户端逻辑:运行时为你处理数据的同步。2.隔离性。你为Ambient构建的项目通过WebAssembly的力量在隔离状态下执行--因此,如果有什么东西崩溃了,它不会使你的整个程序崩溃。这也意味着你可以安全地运行不受信任的代码。3.面向数据的设计。Ambient的核心数据模型是一个实体组件系统,每个WASM模块都可以操作。4.多语言:你将能够用任何能够编译成WebAssembly的语言来构建Ambient模块。目前,Rust是唯一支持的语言,但我们正在努力扩展到其他语言。5.单一可执行文件。Ambient是一个单一的可执行文件,可以在Windows、Mac和Linux上运行。它可以作为一个服务器或客户端。6.互操作性。Ambient允许你定义自定义组件和"概念"(组件的集合)。只要你的Ambient项目使用相同的组件和概念,它们就能共享数据和互操作,即使它们彼此不认识。7.资产管道和流。Ambient有一个资产管道,能够编译多种资产格式,包括.glb和.fbx。这些资产总是通过网络进行流式传输,因此你的客户在加入时将会收到他们需要的一切。8.强大的渲染器。环境渲染器是由GPU驱动的,删减和细节级别的切换都完全由GPU处理。默认情况下,它使用PBR。它还支持级联阴影贴图和实例化所有可以被实例化的东西。

封面图片

英特尔Xe Linux内核图形驱动程序将取代"i915"以用于未来的GPU

英特尔XeLinux内核图形驱动程序将取代"i915"以用于未来的GPUi915图形驱动最初是在915G北桥芯片组推出期间生成的。现在,开发人员正在研究用基于Xe的内核图形驱动程序来更新i915图形内核,这将有助于支持集成和独立的英特尔显卡,预计最快将于明年推出。这个新的DRM(直接渲染管理器)驱动程序将开始支持Xe图形和第12代图形芯片,新管理器到位后将继续向后支持i915驱动程序。而官方希望最新的图形驱动程序能够为当前一代图形和不久的将来提供更多的效率和精简,而不需要再更换若干代。开发人员正在关注基于Xe的新驱动,用于TigerLake和更高版本的iGPU以及已经上市的dGPU。新驱动程序将允许改进对TTM内存、AMDGPU的DRM调度器和其他小领域的管理。此外,新驱动程序将与英特尔的IrisGallium3D和ANVVulkan驱动程序协同工作,未来还可能支持Mesa3D。新的OpenCL的NEO计算堆栈和oneAPILevelZero将和其他提到的一起被支持。英特尔今天发布了一个RFC补丁系列,"功能足以运行GNOME、浏览器、OpenGL游戏、Vulkan游戏[...]"。不过据报道,这个新的MR也有问题正在被调查中,所以我们应该很快就能看到修复。MichaelLarabel提到,新的围绕英特尔Xe开发的图形驱动将有利于当前和即将到来的公司的处理器,因为对代码的优化已经包括了几个英特尔CPU架构,包括Arm和x86_64芯片组,允许架构之间更好的沟通。有可能再过几代之后,一旦更多世代的图形卡采用新的Xe图形驱动,i915驱动就会退出使用。...PC版:https://www.cnbeta.com.tw/articles/soft/1336227.htm手机版:https://m.cnbeta.com.tw/view/1336227.htm

封面图片

【苹果、英伟达和皮克斯等巨头成立联盟,制定元宇宙3D图形标准】

【苹果、英伟达和皮克斯等巨头成立联盟,制定元宇宙3D图形标准】2023年08月02日09点59分老不正经报道,苹果、英伟达、皮克斯、Adobe和Autodesk联合成立了OpenUSD联盟(AOUSD)。几家公司在发布会上并没有具体谈论“元宇宙”,但他们正在推广开放元宇宙的关键特征之一——3D工具和数据之间的互操作性。OpenUSD是皮克斯动画工作室开发的一种开放数据格式,允许团队能够在大规模3D工作流程上协同工作,并共享可在AR(增强现实)和VR(虚拟现实)项目中使用的3D对象和环境的信息。OpenUSD联盟将制定详细说明OpenUSD特征的书面规范。(澎湃)

🔍 发送关键词来寻找群组、频道或视频。

启动SOSO机器人