Emscripten是一个将C/C++ 代码编译为WebAssembly(Wasm) 的开源工具链,它允许开发者将高性能的原生代码带到Web平台。该工具链包含多个命令行工具,包括emsdk、emcc、em++、emcmake、emmake 等常用指令。 emsdk emsdk是管理Emscripten SDK版本的命令行管理工具,支持多版本切换、自动更新等 # 安装最新版 emsdk install latest # 激活当前版本 emsdk activate latest # 查看已安装版本 emsdk list…

2026年1月29日 0条评论 41点热度 2人点赞 StackSnow 阅读全文

WebAssembly(简称 WASM) 是一种新的编码方式,可以在现代的Web浏览器中运行,它是一种类汇编语言,具有紧凑的二进制格式,可以接近原生的性能运行,从而突破JavaScript的性能瓶颈,为C/C++ 、Rust等语言提供编译目标,使其可以在可以在 Web 上运行。但WebAssembly不能替代 Javascript,相反,这两种技术是相辅相成的。通过 JavaScript API,将 WebAssembly模块加载到Web页面中,也就是说,可以通过 WebAssembly来充分利用编译代码的性能,同…

2026年1月23日 0条评论 69点热度 2人点赞 StackSnow 阅读全文

MSYS2是一个集成了一系列GNU工具集、工具和库的开源软件包的集合。它提供了一个类似于Unix/Linux的shell环境,可以在Windows系统中编译和运行许多Unix/Linux应用程序和工具。 MSYS2官网地址:https://www.msys2.org 提到MSYS2,就不得不说MinGW(Minimalist GNU for Windows)以及它的前身MSYS(Minimal SYStem)。 MinGW (Minimalist GNU for Windows)是一种用于开发原生 Windows …

2026年1月18日 0条评论 26点热度 4人点赞 StackSnow 阅读全文

RakNet是一个基于UDP网络传输协议、跨平台的开源C++网络引擎,专为游戏开发者设计,由Oculus VR开发并维护,它提供了多种网络通信功能,如对象复制、远程过程调用、数据压缩和加密等。RakNet旨在帮助开发者轻松实现网络功能,而无需深入了解底层的网络编程细节。 可靠的数据传输: RakNet使用了一种名为Reliable UDP的技术,结合了UDP(User Datagram Protocol) 的低延迟和TCP(Transmission Control Protocol) 的可靠性。这意味着它可以在保持…

2026年1月16日 0条评论 32点热度 2人点赞 StackSnow 阅读全文

Mixamo是由Adobe公司推出的在线3D角色动画制作平台,专注于为游戏开发、影视制作、交互式体验和插画设计等领域提供高质量的3D角色、骨骼绑定(Rigging)与动画资源。Mixamo的核心理念是“让创意更自由”,通过自动化技术和庞大的动作捕捉动画库,帮助创作者快速实现角色动画制作,无需深厚的技术背景即可完成复杂的3D角色动画任务。无论是游戏开发、电影制作还是互动体验设计,Mixamo都能提供高质量的3D角色、骨骼绑定和动画资源,让创意项目栩栩如生。 https://www.mixamo.com Mixamo提…

2025年9月2日 1条评论 993点热度 14人点赞 StackSnow 阅读全文

Shadow Mapping和Shadow Ray是目前绝大多数游戏和实时渲染应用使用的阴影技术,Shadow Mapping 的原理在于从光源发出 Ray(通过光栅化方式实现)来记录物体深度,与场景片元的深度比较大小来判定片元是否被遮挡;而 Shadow Ray思路恰好相反,但更直观:从场景片元出发,向光源发射 Ray 来检测片元是否被遮挡。 两种方式各有利弊,前者的主要缺点在于Shadow Map的分辨率是有限,容易出现精度不足的情况;后者的主要缺点在于 Ray Tracing 的开销可能会很大。当然,也存在两…

2025年8月3日 1条评论 1285点热度 18人点赞 StackSnow 阅读全文

Ozz-Animation 是一款基于MIT协议开源的C++ 3D骨骼动画库及工具集,专注于为游戏和实时渲染应用提供高效的3D骨骼动画的播放功能(包括加载、采样和混合等)。通过其数据导向的设计,ozz-animation在性能和内存使用上表现出色,适用于各种游戏引擎和渲染器。其高度可移植性和跨平台特性使得在不同开发环境中使用非常方便。 Ozz-Animation的Github地址是: https://github.com/guillaumeblanc/ozz-animation Ozz-Animation包括run…

2025年6月29日 1条评论 1657点热度 11人点赞 StackSnow 阅读全文

开源许可(Open Source License) 是一种法律协议,用于规定用户如何使用、修改和分发开源软件。它保障了软件的自由可用性,同时明确了开发者和使用者的权利与义务。常见的开源许可包括 MIT、Apache、BSD、Mozilla、GPL等,这些协议都是由Open Source Initiative(OSI)组织批准的,每种协议对代码的使用方式和再分发要求都有不同的限制和规定。 开源 ≠ 免费使用 开源指的是软件的源代码公开,任何人都可以查看、使用、修改或分发,但必须遵守相应的开源许可协议。 免费使用则是指…

2025年2月2日 1条评论 2458点热度 9人点赞 StackSnow 阅读全文

Qt 是一款跨平台的 C++ 应用程序开发框架,具有强大的功能和丰富的工具集。我最早接触Qt的时候还是4.3版本了,如今的Qt已经发展到6.x版本了,Qt 6 也引入了新的图形系统,支持 Vulkan 作为后端,为开发高性能图形应用提供了强大支持。 目前,由于网络限制等原因,在安装下载Qt时,建议使用国内镜像加速下载过程,以提高安装效率,Qt官网也提供了镜像资源列表,鼓励使用镜像下载。 官网镜像列表:https://download.qt.io/static/mirrorlist/mirmon/ 国内常用的镜像推荐…

2025年1月27日 5条评论 6127点热度 12人点赞 StackSnow 阅读全文

GitFlow是一种流行的Git分支管理模型,旨在通过定义清晰的分支策略来简化开发过程。它由Vincent Driessen在2010年提出,特别适用于具有定期发布周期的软件项目。 GitFlow的基本概念和组成部分 GitFlow模型包括以下几个主要分支: Master分支:用于存放生产环境的代码,只有经过测试和稳定的代码才会被合并到这个分支。 Develop分支:开发团队的主要工作分支,所有的新特性和改动都会合并到此分支。开发完成后,会从这个分支生成新的发布版本。 Feature分支:从Develop分支分出,…

2025年1月10日 0条评论 2378点热度 9人点赞 StackSnow 阅读全文

Tone Mapping是Post Processing过程中的一个重要处理阶段,我们知道,LDR的颜色为0-255,也记作0-1。超出1或低于0的颜色,就是HDR颜色。想显示多出去的颜色,就要把HDR压缩为LDR,这种映射关系,即色调映射(Tone Mapping)。 实际上tone mapping自古以来一直都有,不是计算机图形学的专利。早期因为颜料的对比度有限,达芬奇等高手会把需要表达的内容用很有限的颜色画出来,即便色彩不真实。而刚发明电影的时候,胶片能表达的亮度范围有限,所以摄影师会把高亮区域和阴影区域向中…

2025年1月8日 2条评论 5712点热度 18人点赞 StackSnow 阅读全文

PBR是Physical Based Rendering(基于物理的渲染)的简称,是一种基于物理规律模拟真实世界光照行为的渲染技术,它通过数学模型和物理原理来计算光照效果,以实现更加真实和自然的图像渲染,最早用于电影照片级的真实渲染中,近几年随着GPU性能的飞速提高,已经大量运用于PC游戏与主机游戏的实时渲染上。 PBR的由来 在PBR(Physically Based Rendering)的概念出现前,主流的光照模型是Blinn-Phong这类传统的光照模型,然而这种光照模型属于经验模型,若想渲染出一张高质量的图…

2025年1月6日 1条评论 4545点热度 18人点赞 StackSnow 阅读全文

LibGDX简介 LibGDX 是非常优秀的一款跨平台的 2D / 3D 游戏开发框架,开发使用Java 语言,基于 Apache License, Version 2.0 协议,代码托管在 Github 上,对商业使用和非商业使用均免费。 官方网站:https://libgdx.badlogicgames.com/ Github仓库: https://github.com/libgdx/libgdx 官方Wiki: https://github.com/libgdx/libgdx/wiki 官方DocsApi: …

2021年1月27日 1条评论 4849点热度 2人点赞 StackSnow 阅读全文

OpenGL 主要是由Khronos Group(科纳斯组织) 在进行维护。它最早的版本发布于 1992 年,那时候还是 OpenGL 1.0 固定渲染管线的年代,现在已经到了 OpenGL 4.6 版本,早已经是可编程渲染管线了。并且为了能够在嵌入式设备上使用 OpenGL ,还有了一个子集叫做 OpenGL ES ,同样的技术还得弄两个名字就很不好了(文章中把两者统称 OpenGL ,暂不做详细区分)。 后来这个组织在 18年3月 由发布了 Vulkan 1.1 正式版本。另外,不管是在嵌入式设备上还是 PC …

2021年1月23日 0条评论 3859点热度 1人点赞 StackSnow 阅读全文

KlayGE是一个开放源代码、跨平台的游戏引擎。它是用C++开发的,并使用Python作脚本语言。KlayGE在GPL协议下发行。 KlayGE是用于下一代游戏的一个完整的游戏开发框架。它是API无关的插件是结构,提供了很多先进技术,并确有无限的扩展性。 KlayGE的设计目的非常明确,用最先进的技术武装引擎。它所提供框架使游戏的开发、测试、移植得到简化。KlayGE的目标平台是今年发布的最高硬件到上一年发布的最低硬件。 视觉特效 完全支持可编程流水线。 多条渲染流。各种不同的数据可以放在不同的流中渲染,需要跟新数…

2021年1月21日 0条评论 3871点热度 2人点赞 StackSnow 阅读全文
12