图形渲染
作者: 刘鹏整理
日期: 2011-12-13

缩放图片长和宽控制图片文件尺寸

本文详细研究了如何通过缩放图片来控制图片文件大小。

flag(waving texture)特效的实现

本文详细介绍了如何实现3D的旗帜(waving texture)特效。

倒影(reflection)特效的实现

本文详细介绍了如何实现 reflection 特效。

翻页(folding)特效的实现

本文详细介绍了如何实现翻页(folding)特效。

Quake 2's models: MD2 file format

MD2 动画模型格式是由 id 公司设计,该模型基于关键帧动画,简单易懂,初学者往往首先从这种模型格式入手。本文详细介绍了 MD2 文件格式,并介绍了 读取数据的方法和源代码,是一个重磅推荐的 MD2 教程。

Princeton 大学计算机系 Computer Graphics 课程

全面讲解图形学,包括简介、图像处理、光线跟踪、变换(transformaiton)、渲染、曲面、动画等,教授讲课的 ppt 可以下载。另外,还给出了图形学方面常用的链接,如论文与资料、图形学研究实验室、其它知名大学的图形学课程网站等。

低端嵌入式设备3D图形库的设计

针对低端嵌入式设备运算速度较低,存储空间较小且不支持通用3D图形库的局限 性,通过分析常规3D渲染管线和算法,对次要功能实施裁减,设计出一个简化的 3D图形库。经在低性能手机上测试,此方案渲染效果良好,切实可行。

图形学系列 -- 粒子系统概述及实现

本文介绍了计算机图形学中的粒子系统,包括粒子系统的基本思想、粒子的典型属性、粒子系统更新循环过程以及系统性能问题。

图形学系列 -- 图形学基本概念汇编

本文整理和总结了图形学中的基本概念。

图形学系列 -- 3D 图形学基础

本文介绍了三维图形在计算机二维屏幕上的显示原理。

图形学系列 -- 关于计算机图形学的学习

本文根据 szlongman 的博文 "关于计算机图形学的学习" 整理、扩充而来,描述,主要介绍了计算机图形学的学习,以及一些参考书目、研究组织、牛人和网络资源。本文不涉及对概念的定义,以免陷入学术讨论之中。

Graphics 文化系列 -- Loren Carpenter与分形山脉

Loren Carpenter是一个图形学大师,本文描述了他七十年代末颇具传奇色彩的 一段往事。本文转自太傻的 BLOG。

Graphics 文化系列 -- John Carmark 与 id software

他被称作有史以来最伟大的程序员。他是比尔·盖茨心中为数不多的天才。他在很久以前开创了一种新的游戏类型FPS。他是图形编程领域的教父。他又是地球上最勤奋的程序员。他的业余爱好是研制私人火箭,因此他又被誉为火箭科学家。他又是id software公司的创始人。他用编程赚来的钱收藏法拉利跑车。他就是——约翰·卡马克。

图像处理系列 -- 旋转

本文介绍了图像旋转的原理和公式,并给出了公式的推导过程。

图像处理系列 -- 扭曲

文本介绍实现图像扭曲的基本思想。

图像处理系列 -- 彩色图像转换为灰度图像

文本介绍了将彩色图像转换为灰度图像的算法,并给出了代码样例。

图像处理系列 -- 常见颜色深度 bitmap 之间的相互转换

本文介绍了常见色深的格式转换原理和算法,包括 16 位色转成 24 位色、4 位色转成 8 位色、2 位色转成 8 位色、1 位色转成 8 位色。

图像处理系列 -- Working with 16-bit RGB

介绍了"565"、"555"两种16位 RGB 格式,给出了求颜色分量和与8位色之间的相 互转换的方法。

图像处理系列 -- Image Processing with gluas

gluas 是一个 Gimp 插件,它为测试图像处理算法提供了一个实验环境,该环境 包含一个简单的编辑器,用于输入算法。gluas 使用 lua 解释器。gluas 由 Øyvind Kolås 开发,他也是 gimp, cairo, clutter 等众多开源项目的参与者。 本文是他编写的 gluas 教程,介绍了 gluas 的安装和常用的图像处理算法。

图像处理系列 -- 基本概念和思想

本文介绍了数字图像处理的基本概念和思想,建立图像处理的基本思路。

Memory management for graphics processors

本文介绍了图形处理器 (GPU) 的内存管理。

Android 图形系统剖析

本文试图讲述Android图形系统的底层实现。Android图形系统底层实现非常复杂,文档较少,没有使用比较流行的图形组建如X window, Cairo等。

淺談 Google Skia 圖形處理引擎

本文转自Jserv的博客,该文章介绍了 Google Skia 图形引擎的的历史背景、应 用层面,并探讨其程序设计模型。

如何判断是否启用了硬件加速

随着 GPU、显卡等图形设备的增强,图形硬件加速得到广泛的运用,那么如何判 断是否启用了硬件加速呢?本文针对不同的系统做了详细的介绍。

PXA300平台2D图形加速器性能测试与分析

本文介绍了 MarvellPXA 处理器内部的 2D 图形加速器,对其进行了性能测试 和分析,并详细介绍了测试方法和结果,对于理解图形加速器是篇不错的文章, 记下来做个备忘。

Pure GPU Computing Platform : NVIDIA CUDA Tutorial

本文介绍了 NVIDIA 的 CUDA,包括产生背景、主要特征、编程概念等,并给出了一个例子 SimpleCUBLAS。

3D 图形渲染引擎 OGRE 体系结构

OGRE 是一个开源图形渲染引擎,本文给出了它的总体类图和绘制一帧图形的序列图,读者从中可以体会 OpenGL 等底层图形库是怎么封装的,以及如何设计一个图形渲染引擎。

Linux 驱动系列:一个嵌入式 Linux 键盘驱动的实现

本文给出了 Linux 键盘驱动开发的总体思路,并以 S3C2410 开发板为硬件平台, 介绍详细介绍了其键盘驱动程序的设计。

Linux 驱动系列:怎样写 Linux LCD 驱动程序

本文分析了frame buffer 设备驱动的主要数据结构,在此基础上介绍了LCD驱动程序的开发。

Linux 驱动系列:Linux 设备驱动开发要点综述

本文对 Linux 设备驱动开发涉及的知识点做了一一梳理,通过阅读这个提纲读 者可以很快了解 Linux 设备驱动程序的整体结构及其关键技术。

Framebuffer 编程系列:画一个点

本文介绍了一个通过 framebuffer 在屏幕上绘制一个点的程序。通过该程序,读者 可以看到操作 framebuffer 在屏幕上绘制的基本流程和方法。本程序使用的屏幕是 32 位色。

Framebuffer 编程系列:屏幕属性的获取

本文介绍了一个简单的操作 framebuffer 的程序,它打开 /dev/fb 文件,读取 并打印屏幕分辨率等信息。

Framebuffer 编程系列:framebuffer 简介

frameBuffer 是出现在 2.2.xx 内核当中的一种驱动程序接口,Linux 抽象出 frameBuffer 这个设备来供用户态进程实现直接写屏。framebuffer 机制模仿显 卡的功能,将显卡硬件结构抽象掉,可以通过 framebuffer 的读写直接对显存 进行操作。

访问 Linux 下操作鼠标设备

通过访问 /dev/input/mice 设备获取鼠标信息

自由桌面的下一代渲染技术

本文是两年前 (2006) 的一篇文章,作者展望了自由桌面的下一代渲染技术。现 在来看,有些已经实现了,有些没有实现。现在回头审视当时的文章还是挺有意 思的。