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

2025年1月8日 1条评论 1660点热度 11人点赞 StackSnow 阅读全文

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

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

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

2025年2月2日 0条评论 435点热度 6人点赞 StackSnow 阅读全文

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

2025年1月27日 0条评论 639点热度 4人点赞 StackSnow 阅读全文

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

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

1. 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 官方D…

2021年1月27日 0条评论 1928点热度 0人点赞 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条评论 2038点热度 0人点赞 StackSnow 阅读全文

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

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

1. Khronos工业组织标准介绍 Khronos Group团队成立于2000年1月,由包括3Dlabs, ATI, Discreet, Evans & Sutherland, Intel, NVIDIA, SGI 和 Sun Microsystems 在内的多家国际知名多媒体行业领导者创立,致力于发展开放标准的应用程序接口API,以实现在多种平台和终端设备上的媒体创作、加速和回放。 目前该组织包括了所有国际知名的游戏引擎厂商,GPU厂商,PC厂商和移动芯片厂商等等。在3D图形领域,Khronos负责O…

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

自1992年问世以来,OpenGL已经成为了PC游戏迄今为止最常用的图形API之一。作为一种多语言、跨平台的应用程序编程接口,它已经被广泛用于GPU的交互和硬件加速。 使用至今,人们当然也发现了它的缺点。因为源代码是90年代的产物,对于目前在市面上大行其道的多核CPU(GPU)利用效率不佳,往往只能提供有限的单线程负载,所以帧率、能耗都难取得突破。 作为OpenGL官方组织,Khronos已推出了新一代API规范Vulkan(昵称“火山”或者“福尔康”),同样采用跨平台设计,但最重要的贡献是大幅降低绘制命令开销(d…

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