OpenGL 完全教程(写给Delphi的开发者) 前言
前言
在开发了许多2D图形程序之后,许多人开始对3D图形编程产生了兴趣。学习一套3D API,是进行3D图形编程的基础。在有趣的3D图形编程中,3D API只不过充当着一种低级的工具而已。因此,在这里我要提醒想学习3D API的朋友,无论你将要使用DirectX,或者跟我一样使用OpenGL,都不要把它们看得过于神圣。事实上它们只是一套API,学习它,你只须一定的Windows编程基础即可。它们不需要你有多么高深的数学功底,也不需要什么灵活的头脑——如果你只是想用OpenGL渲染3D图形的话,就不需要什么特别的知识。因为无论是DirectX还是OpenGL,都只是在帮你画画而已。
我的这套教程,写给所有希望学习OpenGL的朋友,尤其是Delphi的开发者。因为在3D图形编程方面的资料,几乎全部都是基于VC++的,这给使用其他语言的刚入门的开发者带来一些不便,造成这些不便的原因有以下几条:
有些初学者看不懂C语言,或者无法理解C++里面的那一大堆复杂的操作符;
这些用C写的范例代码和程序中,使用了一些附加库,比如GLUT等等,而这些附加库就根本找不到Delphi版的头文件。
无论是Delphi的开发人员还是C的开发人员,都可以畅通无阻地使用此教程:我写此教程的目的就是为了方便Delphi的开发人员,让他们不要把太多的精力浪费在寻找头文件或翻译.H文件上,对于使用C的开发人员,他们往往很容易理解Pascal语言而且Pascal语言可以很容易的100%的翻译成C语言。
在本教程中,我们将学习OpenGL的以下这些功能:
初始化OpenGL
OpenGL的工作机制
创建视觉变换投影
使用OpenGL绘制基本图元
矩阵变换
颜色和光照
纹理贴图
在OpenGL中显示文字
使用3D模型
混色和雾化效果
缓冲区的使用
上面列举的,并不一定是本教程的全部内容。在今后的时间里,我可能会增加更多的章节,但这些是OpenGL最本分、最常用的部分。学会了上面的内容,就基本掌握了OpenGL。
OpenGL 完全教程(写给Delphi的开发者) 前言的更多相关文章
- OpenGL完全教程 第一章 初始化OpenGL
第一章 初始化OpenGL 无论是什么东西,要使用它,就必须对它进行初始化.如果你之前使用过GDI,你应该也多多少少了解到GDI在绘制图形之前要为之创建渲染环境.OpenGL也一样.本章给出的代码,大 ...
- OpenGL官方教程——着色器语言概述
OpenGL官方教程——着色器语言概述 OpenGL官方教程——着色器语言概述 可编程图形硬件管线(流水线) 可编程顶点处理器 可编程几何处理器 可编程片元处理器 语言 可编程图形硬件管线(流水线) ...
- [翻译]opengl扩展教程2
[翻译]opengl扩展教程2 原文地址https://www.opengl.org/sdk/docs/tutorials/ClockworkCoders/extensions_part2.php [ ...
- [翻译]opengl扩展教程1
[翻译]opengl扩展教程1 原文地址https://www.opengl.org/sdk/docs/tutorials/ClockworkCoders/extensions.php [翻译]ope ...
- QT OpenGL中文教程在QT4版本后的错误代码更改(一)
由于教程中说的已经够可以了,这里就不对代码进行分析了,有兴趣可以自己去看看.这个教程来源于原来的NeHeOpenGL中文教程 (http://www.yakergong.net/nehe/) ,但其有 ...
- OpenGL ES教程系列(经典合集)
为了搞透播放器的开发,花了些时间收集这些资料,虽然我已经搞定opengles渲染视频的内容,但是想玩玩opengles,往深里玩,图像处理这块是个好的方向,所以opengles是值得好好学的. O ...
- XCode教程之 如何在苹果开发者平台添加设备UDID
XCode教程之 如何在苹果开发者平台添加设备UDID.在Xcode开发中,如何在苹果开发者平台添加新的手机设备UDID,进行测试,具体如下 工具/原料 Apple Developer 方法/步骤 1 ...
- 再次写给VC++ Windows开发者
距离我的上一篇文章--写给VC++ Windows开发的初学者已经4年多时间过去了,感慨于时光如梭之余,更感慨于这么多年来(从1998年我初学VC 算起吧)到如今其实我仍然还只是个初学者而已.看看之前 ...
- IOS 中openGL使用教程2(openGL ES 入门篇 | 绘制一个多边形)
在上一篇我们学习了如何搭建IOS下openGL的开发环境,接下来我们来学习如何绘制一个多边形. 在2.0之前,es的渲染采用的是固定管线,何为固定管线,就是一套固定的模板流程,局部坐标变换 -> ...
随机推荐
- CodeForces 505B Mr. Kitayuta's Colorful Graph
Mr. Kitayuta's Colorful Graph Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d ...
- node基础 --工具
npm //Node.js Package Manager 查询版本号:npm --version/npm version 查询模块:npm search <name> 查看模块相关信息 ...
- js:语言精髓笔记1--标识符与基本类型
标识符: 命名: 语法以及类型----语法关键字 //逻辑 值(的存储位置)----变量和常量 ...
- DFS(剪枝) POJ 1011 Sticks
题目传送门 /* 题意:若干小木棍,是由多条相同长度的长木棍分割而成,问最小的原来长木棍的长度: DFS剪枝:剪枝搜索的好题!TLE好几次,终于剪枝完全! 剪枝主要在4和5:4 相同长度的木棍不再搜索 ...
- java 文件md5+字符串md5 实现
import org.apache.commons.codec.binary.Hex; import org.apache.commons.codec.digest.DigestUtils; impo ...
- POJ 1155 (树形DP+背包+优化)
题目链接: http://poj.org/problem?id=1155 题目大意:电视台转播节目.对于每个根,其子结点可能是用户,也可能是中转站.但是用户肯定是叶子结点.传到中转站或是用户都要花钱, ...
- android 常用第三方包的代码混淆
首先在:project.properties 文件下,启动代码混淆 proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:pro ...
- 更新Android SDK之后Eclipse提示ADT版本过低的一个简易解决办法
首先说明一下发表这一篇博文的“历史原因”吧,因为在更新SDK之后,进入Eclipse设置Android SDK目录的时候,会突然说我的版本低什么的,尝试自己解决但失败之后,我在搜索引擎上找了很多中文的 ...
- 【POJ】1062 昂贵的聘礼(spfa)
http://poj.org/problem?id=1062 此题一开始果断想到暴力.. 但是n<=100果断不行. 一看题解,噗!最短路... 构图很巧妙. 每一个物品对应的所需物品相当于一个 ...
- Maya 学习资料
罗其胜3d角色强化 CGwhat-Maya变形金刚擎天柱建模教程 Pixar in the box - khan academy Siggraph历届优秀动画 CG软件发展史:MAYA动画十年历程 m ...