社区
游戏开发
帖子详情
会OpenGL编程的请留下地址
portman
2001-07-18 09:10:42
...全文
201
19
打赏
收藏
会OpenGL编程的请留下地址
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
thinhorse
2001-08-22
打赏
举报
回复
用了几个月了,感觉还行
thin_horse@263.net
tinytot
2001-08-22
打赏
举报
回复
这里有大连的朋友嘛?
tinytot@btamail.net.cn
coolaxb
2001-08-15
打赏
举报
回复
初学者,欢迎和你探讨。
axb@21cn.com
liukeqiang
2001-08-15
打赏
举报
回复
能共享你所知道的Email地址吗?
openglinf@hotmail.com
widewave
2001-07-25
打赏
举报
回复
初学者,欢迎和你探讨。
widewave@sohu.com
tangt
2001-07-24
打赏
举报
回复
最近正在用,有什么消息吗?
yr220@sina.com
c_z_y
2001-07-24
打赏
举报
回复
哈哈说错了,有money找我,不是memory,哈哈哈!(最近内存大减价)
c_z_y
2001-07-24
打赏
举报
回复
哈哈!专干这个,干了两年!比较熟悉!d3d也作了不少。
有memory找我,哈哈!
c_z_y@yahoo.com
ascfjvr
2001-07-23
打赏
举报
回复
会一点,与老外的差距还很大,不过我们还在路上,我相信会有那么一天。。。
yjh_999@163.com
AP
2001-07-22
打赏
举报
回复
PengFuZhang@371.net
y_jfu
2001-07-21
打赏
举报
回复
当开始学...
yjfu@netease.com
.................
yspiao
2001-07-21
打赏
举报
回复
yspiao@itp.ac.cn
很感兴趣,在学,望多指点
find4me
2001-07-19
打赏
举报
回复
俺对OpenGL和Direct3D立即模式编程很感兴趣,只是懂一点点,我还是来报一个名吧!
QQ:14310717
http://www.jiezi.net/gui.htm
fudqpi
2001-07-19
打赏
举报
回复
fudqpi@263.net
抬头看路
2001-07-19
打赏
举报
回复
qq:66255203
mail:whyjld@sina.com
jerry2
2001-07-19
打赏
举报
回复
oicq:6103923
mail:je33@163.com
逸少
2001-07-19
打赏
举报
回复
chzy00@263.net
QQ:40675388
http://chzy00.my.stuhome.net
alphapaopao
2001-07-18
打赏
举报
回复
赫赫,算我一个
QQ 43626070
http://alphapaopao.home.chinaren.com/
欢迎大家来讨论:)
tbmac
2001-07-18
打赏
举报
回复
懂一点,dochan@sohu.com
OPenGL
编程
书籍
1.创建一个
OpenGL
窗口: 在这个教程里,我将教你在Windows环境中创建
OpenGL
程序.它将显示一个空的
OpenGL
窗口,可以在窗口和全屏模式下切换,按ESC退出.它是我们以后应用程序的框架. 理解
OpenGL
如何工作非常重要,你可以在教程的末尾下载源程序,但我强烈建议你至少读一遍教程,然后再开始
编程
. 2.你的第一个多边形: 在第一个教程的基础上,我们添加了一个三角形和一个四边形。也许你认为这很简单,但你已经迈出了一大步,要知道任何在
OpenGL
中绘制的模型都
会
被分解为这两种简单的图形。 读完了这一课,你
会
学到如何在空间放置模型,并且
会
知道深度缓存的概念。 3.添加颜色: 作为第二课的扩展,我将叫你如何使用颜色。你将理解两种着色模式,在左图中,三角形用的是光滑着色,四边形用的是平面着色。 注意三角形上的颜色是如何混合的。 颜色为
OpenGl
L 工程增加很多。通过理解平面着色(flat coloring)和平滑着色(smooth coloring),你能显著的改善你的
OpenGL
Demo的样子。 4.旋转: 在这一课里,我将教
会
你如何旋转三角形和四边形。左图中的三角形沿Y轴旋转,四边形沿着X轴旋转。 这一章将引入两个变量, rtri 被用来存储三角形的角度, rquad存储四边形的角度。 和容易创建一个多边形组成的场景。让这些物体动起来是整个场景变得生动起来。在后面的课程钟我将教给你如何绕屏幕上的一个点旋转物体,使得物体绕屏幕而不是它的轴转动。 5.3D形体: 既然我们已经领
会
到多边形,方形,色彩和旋转。现在该建立3D物体了。我将使用多边形和矩形c创建3D物体。这次我们将扩展上一章的教程,并且将三角形转换成一个彩色的棱锥,把正方形变为一个实心正方体。棱锥使用混合色,正方体每个面使用一种颜色。在3D空间创建物体可能很费时间,但是所获得的结果(收获)值得这样做。充分发挥你的想象力吧。 6.纹理映射: 你想要它,它现在就在这里了,那就是 ... 纹理映射!!!在这一章我将教
会
你如何将一幅位图(bitmap)映射到正方体的六个面上去。我们将使用第一章的
OpenGL
代码来创建工程。创建一个空的窗口比修改上一课的代码更容易。 你将
会
发现第一章的代码在对于快速创建工程来说是及其有价值的。第一章的代码为你设置好了一切,你所需要做的只是集中精力为效果
编程
。 7.纹理滤波, 光照和键盘控制: 好的,我希望到现在你已经理解了所有的东西,因为这是一个巨大的教程。我想教给你两个新的方法来过滤(filter)你的纹理,简单的光照,键盘控制并且还可能更多 :) .如果你对到这一课为止你所学的东西并不充满信心,那就回头复习一下。玩一下其它课程的代码,不要操之过急。最好专心把每一课学好,而不是蜻蜓点水,只知道如何把东西做出来。 8.混合 有理由等一下,一个来自很酷的Hypercosm的程序员伙伴问(我)他是否可以写一章关于混合的教程。第八课通常正是讲混合的,所以太巧了。这一章教程扩展了第七章。混合是一项很酷的技术 .. 我希望你们能好好享受这一章教程。这一章的作者是Tom Stanis他在这制作一章上花费了很多精力,所以让他知道你觉得怎么样。混合可不是一个好讲的话题。 9.在3D空间中移动位图: 这一章覆盖了一些你们要求的主题,你想知道如何移动你在3D屏幕空间上创造的物体。你想要知道如何在屏幕上绘制一幅位图,并且位图的黑色部分不
会
覆盖它后面的东西。你想要简单的动画,想要更多的混合的应用,这一章将教
会
你所有这些。You'll notice there's no spinning boxes(yaker:很惭愧这一句我不是很明白)。前面的课程覆盖了
OpenGL
的基础,每一章都基于前面的内容。前面的课程涵盖了基础的
OpenGL
,每一课都是在前一课的基础上创建的。这一课是前面几课知识的综合,当你学习这课时,请确保你已经掌握了前面几课的知识。 10.加载3D世界,并在其中漫游: 你一直期待的教程来了!这一章友一个叫Lionel Brites的伙伴制作。这一课里你讲学到如何导入一个3D世界。代码仍然使用第一章的,但是,课程页面只是解释了新的部分,包括导入3D场景,在3D世界中移动。下载VC++代码并且在你阅读教程的同时阅读代码。按[B]键控制混合,[F]键控制滤波,[L]键控制光照(但光并不随场景移动),还有[Page UP]和[Page Down]键。我希望你能喜欢Lionel对网站的贡献。我有空的时候我
会
让这个教程更容易学习。 11.旗帜效果 (飘动的纹理): 这一章教程由Bosco带给你。他就是那个创造了很酷的小Demo: worthless的家伙。他喜欢每个人对他的Demo的反映,并且决定更进一步,在他的Demo的最后解释他怎么实现这么酷的效果的。这一章教程构建在第六章的代码之上。阅读完这一章之后,你将能弯曲,折叠以及操纵你自己的纹理。这绝对是个很漂亮的效果,并且比纹理固定的旗帜好得多。如果你喜欢这一章,请发邮件给bosco让他知道。 12.显示列表 想知道如何加速你的
OpenGL
程序么?每次为放置一个物体在屏幕上而写很多代码让你厌烦了吧?如果是这样,这一章就是为你准备的。学习如何用
OpenGL
来显示列表。只用一行代码预构建和显示物体。使用预编译物体加速你的程序。不要再一次又一次写重复的代码。让显示列表为你做所有的工作吧!这一章里我们将建造Q-bert金字塔(Q-bert是一款游戏),感谢显示列表,我们只需要用不多的几行代码。 13.位图字体 这一课我们将创建一些基于2D图像的字体,它们可以缩放,但不能旋转,并且总是面向前方,但作为基本的显示来说,我想已经够了。 14.图像字体 在一课我们将教你绘制3D的图形字体,它们可像一般的3D模型一样被变换。 15.图形字体的纹理映射: 这一课,我们将在上一课的基础上创建带有纹理的字体,它真的很简单。 16.看起来很酷的雾 这一课是基于第7课的代码的,你将学
会
三种不同的雾的计算方法,以及怎样设置雾的颜色和雾的范围。 17.2D 图像文字 在这一课中,你将学
会
如何使用四边形纹理贴图把文字显示在屏幕上。你将学
会
如何把256个不同的文字从一个256x256的纹理图像中分别提取出来,并为每一个文字创建一个显示列表,接着创建一个输出函数来创建任意你希望的文字。 18.二次几何体 利用二次几何体,你可以很容易的创建球,圆盘,圆柱和圆锥。 19.粒子系统 你是否希望创建爆炸,喷泉,流星之类的效果。这一课将告诉你如何创建一个简单的例子系统,并用它来创建一种喷射的效果。 20.蒙板 到目前为止你已经学
会
如何使用alpha混合,把一个透明物体渲染到屏幕上了,但有的使用它看起来并不是那么的复合你的心意。使用蒙板技术,将
会
按照你蒙板的位置精确的绘制。 21.线,反走样,计时,正投影和简单的声音 这是我第一个大的教程,它将包括线,反走样,计时,正投影和简单的声音。希望这一课中的东西能让每个人感到高兴。 22.凹凸映射,多重纹理扩展 这是一课高级教程,请确信你对基本知识已经非常了解了。这一课是基于第六课的代码的,它将建立一个非常酷的立体纹理效果。 23.球面映射 这一个将教
会
你如何把环境纹理包裹在你的3D模型上,让它看起来象反射了周围的场景一样。 24.符号,扩展,剪裁和TGA图像文件的加载 在这一课里,你将学
会
如何读取你显卡支持的
OpenGL
的扩展,并在你指定的剪裁区域把它显示出来。 25.变形和从文件中加载3D物体 在这一课中,你将学
会
如何从文件加载3D模型,并且平滑的从一个模型变换为另一个模型。 26.剪裁平面,蒙板缓存和反射 在这一课中你将学
会
如何创建镜面显示效果,它使用剪裁平面,蒙板缓存等
OpenGL
中一些高级的技巧。 27.阴影 这是一个高级的主题,请确信你已经熟练的掌握了基本的
OpenGL
,并熟悉蒙板缓存。当然它
会
给你留下深刻的印象的。 28.贝塞尔曲面 这是一课关于数学运算的,没有别的内容了。来,有信心就看看它吧。 29.Blitter 函数 类似于DirectDraw的blit函数,过时的技术,我们有实现了它。它非常的简单,就是把一块纹理贴到另一块纹理上。 30.碰撞检测 这是一课激动的教程,你也许等待它多时了。你将学
会
碰撞剪裁,物理模拟太多的东西,慢慢期待吧。 31.模型加载 你知道大名鼎鼎的Milkshape3D建模软件么,我们将加载它的模型,当然你可以加载任何你认为不错的模型。 32.拾取, Alpha混合, Alpha测试, 排序 这又是一个小游戏,交给的东西
会
很多,慢慢体
会
吧 33.加载压缩和未压缩的TGA文件 在这一课里,你将学
会
如何加载压缩和为压缩的TGA文件,由于它使用RLE压缩,所以非常的简单,你能很快地熟悉它的。 34.从高度图生成的美丽地形 这一课将教
会
你如何从一个2D的灰度图创建地形 35.在
OpenGL
中播放AVI视频 在
OpenGL
中如何播放AVI呢?利用Windows的API把每一帧作为纹理绑定到
OpenGL
中,虽然很慢,但它的效果不错。你可以试试。 36.放射模糊和渲染到纹理 如何实现放射状的滤镜效果呢,看上去很难,其实很简单。把渲染得图像作为纹理提取出来,在利用
OpenGL
本身自带的纹理过滤,就能实现这种效果,不信,你试试。 37.卡通映射 什么是卡通了,一个轮廓加上少量的几种颜色。使用一维纹理映射,你也可以实现这种效果。 38.从资源文件中载入图像 如何把图像数据保存到*.exe程序中,使用Windows的资源文件吧,它既简单又实用。 39.物理模拟简介 还记得高中的物理吧,直线运动,自由落体运动,弹簧。在这一课里,我们将创造这一切。 40.绳子的模拟 怎样模拟一根绳子呢,把它想象成一个个紧密排列的点,怎么样有了思路了吧,在这一课你你将学
会
怎样建模,简单吧,你能模拟更多。 41.体积雾 把雾坐标绑定到顶点,你可以在雾中漫游,体验一下吧。 42.多重视口 画中画效果,很酷吧。使用视口它变得很简单,但渲染四次可
会
大大降低你的显示速度哦:) 43.在
OpenGL
中使用FreeType库 使用FreeType库可以创建非常好看的反走样的字体,记住暴雪公司就是使用这个库的,就是那个做魔兽世界的。尝试一下吧,我只告诉你了基本的使用方式,你可以走的更远。 44.3D 光晕 当镜头对准太阳的时候就
会
出现这种效果,模拟它非常的简单,一点数学和纹理贴图就够了。好好看看吧。 45.顶点缓存 你想更快地绘制么?直接操作显卡吧,这可是前沿的图形技术,不要犹豫,我带你入门。接下来,你自己向前走吧。 46.全屏反走样 当今显卡的强大功能,你几乎什么都不用做,只需要在创建窗口的时候该一个数据。看看吧,驱动程序为你做完了一切。 47.CG 顶点脚本 nVidio的面向GPU的C语言,如果你相信它就好好学学吧,同样这里也只是个入门。记住,类似的语言还有微软的HLSL,
OpenGL
的GLSL,ATI的shaderMonker。不要选错哦:) 48.轨迹球实现的鼠标旋转
2019Learn
OpenGL
教程(含目录PDF)
在开始这段旅程之前我们先了解一下
OpenGL
到底是什么。一般它被认为是一个应用程序
编程
接口(Application Programming Interface, API),它包含了一系列可以操作图形、图像的方法。然而,
OpenGL
本身并不是一个API,仅仅是一个规范,由Khronos组织制定并维护。
OpenGL
严格规定了每个函数该如何执行,以及它们该如何返回。至于内部具体每个函数是如何实现的,将由
OpenGL
库的开发者自行决定(注:这里开发者是指编写
OpenGL
库的人)。因为
OpenGL
规范并没有规定实现的细节,具体的
OpenGL
库允许使用不同的实现,只要其功能和结果与规范相匹配(亦即,作为用户不
会
感受到功能上的差异)。 实际的
OpenGL
库的开发者通常是显卡的生产商。每个你购买的显卡都
会
支持特定版本的
OpenGL
,通常是为一个系列的显卡专门开发的。当你使用苹果系统的时候,
OpenGL
库是由苹果自身维护的。在Linux下,有显卡生产商提供的
OpenGL
库,也有一些爱好者改编的版本。这也意味着任何时候
OpenGL
库表现的行为与规范规定的不一致时,基本都是库的开发者留下的bug。。。。
OpenGL
进阶OSX版
欢迎来到
OpenGL
系列教程之《
OpenGL
进阶》的OSX版。由于
OpenGL
的发展历史比较久远,因此给萌新们带来了不小的入门门槛,没有理清头绪一头扎进
OpenGL
里面进行学习的萌新们,可能很难理清头绪。不过不用怕,跟着我们的
OpenGL
系列教程一起学习,你将由浅入深的逐步掌握
OpenGL
的精髓,我们为萌新准备的是一套成体系的知识系统,而不是凌乱的知识碎片。你将在我们这里把
OpenGL
学的清清楚楚,明明白白。无论你是小白学生、还是职场员工,都可以跟着我们的教程,一步一个脚印把整个图形学领域的知识学个痛快。在正式进入学习之前,我们需要提醒同学们注意下面这些点。比起一般的教程,我们这里
会
让你掌握整个图形学硬件API的全貌。在学习
OpenGL
进阶课程之前,我们期望你最好是已经掌握了我们的
OpenGL
入门课程,因为在入门课程中我们
会
为你构建足够多的知识框架来帮助你更好的理解
OpenGL
进阶这边的知识点。
OpenGL
是一个直接与GPU接触的API,这种方便硬件操作,而且还是面向图形学
编程
的语言,当之无愧的要选C++。你不必担心的是,我们并不使用花里胡哨的C++语法,我们使用最基本的C With Class的
编程
风格,来保证程序的可移植性和可阅读性。如果你是来自其他行业的程序员,你觉得学起来难,纯粹是因为你的
编程
思路还是单线程的思路,算你厉害,你是个多线程思路那又如何。我们图形学
编程
里的程序是几百几千个线程同时运行的。怕不怕?如果你是完全没什么头绪的程序员,你的最好策略是,先把所有的视频浏览一遍,把随堂代码都拖出来编译运行一次,看看都是些什么东西。然后再第二遍精读课程。图形学
编程
更多的是硬件操作和数学,
编程
语言只是个工具和皮毛。没有高层语言那么多API让你用。如果存在,那么一定是某个个人提供的,
OpenGL
的API是由显卡驱动直接提供,也就是说,是显卡的硬件生产者提供了
OpenGL
的API,如果你的显卡是GTX1060,那么他的
OpenGL
API就是由nVidia提供的。如果你用的是Intel的集成显卡HD4600,那么他的
OpenGL
API就是由Intel提供的。如果是移动端比如Mali的GPU,那么它的
OpenGL
ES的API就是由arm实现的。而硬件厂商提供的都是标准的C语言API,所以高层语言是不存在
OpenGL
的API的。
Nehe的
OpenGL
教程电子书
创建一个
OpenGL
窗口: 在这个教程里,我将教你在Windows环境中创建
OpenGL
程序.它将显示一个空的
OpenGL
窗口,可以在窗口和全屏模式下切换,按ESC退出.它是我们以后应用程序的框架. 理解
OpenGL
如何工作非常重要,你可以在教程的末尾下载源程序,但我强烈建议你至少读一遍教程,然后再开始
编程
. 2.你的第一个多边形: 在第一个教程的基础上,我们添加了一个三角形和一个四边形。也许你认为这很简单,但你已经迈出了一大步,要知道任何在
OpenGL
中绘制的模型都
会
被分解为这两种简单的图形。 读完了这一课,你
会
学到如何在空间放置模型,并且
会
知道深度缓存的概念。 3.添加颜色: 作为第二课的扩展,我将叫你如何使用颜色。你将理解两种着色模式,在左图中,三角形用的是光滑着色,四边形用的是平面着色。 注意三角形上的颜色是如何混合的。 颜色为
OpenGl
L 工程增加很多。通过理解平面着色(flat coloring)和平滑着色(smooth coloring),你能显著的改善你的
OpenGL
Demo的样子。 4.旋转: 在这一课里,我将教
会
你如何旋转三角形和四边形。左图中的三角形沿Y轴旋转,四边形沿着X 轴旋转。 这一章将引入两个变量, rtri 被用来存储三角形的角度, rquad存储四边形的角度。 和容易创建一个多边形组成的场景。让这些物体动起来是整个场景变得生动起来。在后面的课程钟我将教给你如何绕屏幕上的一个点旋转物体,使得物体绕屏幕而不是它的轴转动。 5.3D形体: 既然我们已经领
会
到多边形,方形,色彩和旋转。现在该建立3D物体了。我将使用多边形和矩形c创建3D物体。这次我们将扩展上一章的教程,并且将三角形转换成一个彩色的棱锥,把正方形变为一个实心正方体。棱锥使用混合色,正方体每个面使用一种颜色。在3D空间创建物体可能很费时间,但是所获得的结果(收获)值得这样做。充分发挥你的想象力吧。 6.纹理映射: 你想要它,它现在就在这里了,那就是 ... 纹理映射!!!在这一章我将教
会
你如何将一幅位图(bitmap)映射到正方体的六个面上去。我们将使用第一章的
OpenGL
代码来创建工程。创建一个空的窗口比修改上一课的代码更容易。 你将
会
发现第一章的代码在对于快速创建工程来说是及其有价值的。第一章的代码为你设置好了一切,你所需要做的只是集中精力为效果
编程
。 7.纹理滤波, 光照和键盘控制: 好的,我希望到现在你已经理解了所有的东西,因为这是一个巨大的教程。我想教给你两个新的方法来过滤(filter)你的纹理,简单的光照,键盘控制并且还可能更多 :) .如果你对到这一课为止你所学的东西并不充满信心,那就回头复习一下。玩一下其它课程的代码,不要操之过急。最好专心把每一课学好,而不是蜻蜓点水,只知道如何把东西做出来。 8.混合 有理由等一下,一个来自很酷的Hypercosm的程序员伙伴问(我)他是否可以写一章关于混合的教程。第八课通常正是讲混合的,所以太巧了。这一章教程扩展了第七章。混合是一项很酷的技术 .. 我希望你们能好好享受这一章教程。这一章的作者是Tom Stanis他在这制作一章上花费了很多精力,所以让他知道你觉得怎么样。混合可不是一个好讲的话题。 9.在3D空间中移动位图: 这一章覆盖了一些你们要求的主题,你想知道如何移动你在3D屏幕空间上创造的物体。你想要知道如何在屏幕上绘制一幅位图,并且位图的黑色部分不
会
覆盖它后面的东西。你想要简单的动画,想要更多的混合的应用,这一章将教
会
你所有这些。You'll notice there's no spinning boxes(yaker:很惭愧这一句我不是很明白)。前面的课程覆盖了
OpenGL
的基础,每一章都基于前面的内容。前面的课程涵盖了基础的
OpenGL
,每一课都是在前一课的基础上创建的。这一课是前面几课知识的综合,当你学习这课时,请确保你已经掌握了前面几课的知识。 10.加载3D世界,并在其中漫游: 你一直期待的教程来了!这一章友一个叫Lionel Brites的伙伴制作。这一课里你讲学到如何导入一个3D世界。代码仍然使用第一章的,但是,课程页面只是解释了新的部分,包括导入3D场景,在3D世界中移动。下载VC++代码并且在你阅读教程的同时阅读代码。按[B]键控制混合,[F]键控制滤波,[L]键控制光照(但光并不随场景移动),还有[Page UP]和[Page Down]键。我希望你能喜欢Lionel对网站的贡献。我有空的时候我
会
让这个教程更容易学习。 11.旗帜效果
Learn
Opengl
.pdf
极好的
opengl
学习资料
OpenGL
(Open Graphics Library) 原文
OpenGL
作者 JoeyDeVries 翻译 gjy_1992 校对 Geequlim 在开始这段旅程之前我们先了解一下
OpenGL
到底是什么。一般它被认为是一个应用程序
编程
接口(Application Programming Interface, API),它包含了一系列可以操作图形、图像的方法。然而,
OpenGL
本身并不是一个API,仅仅是一个规范,由Khronos组织制定并维护。
OpenGL
严格规定了每个函数该如何执行,以及它们该如何返回。至于内部具体每个函数是如何实现的,将由
OpenGL
库的开发者自行决定(注:这里开发者是指编写
OpenGL
库的人)。因为
OpenGL
规范并没有规定实现的细节,具体的
OpenGL
库允许使用不同的实现,只要其功能和结果与规范相匹配(亦即,作为用户不
会
感受到功能上的差异)。 实际的
OpenGL
库的开发者通常是显卡的生产商。每个你购买的显卡都
会
支持特定版本的
OpenGL
,通常是为一个系列的显卡专门开发的。当你使用苹果系统的时候,
OpenGL
库是由苹果自身维护的。在Linux下,有显卡生产商提供的
OpenGL
库,也有一些爱好者改编的版本。这也意味着任何时候
OpenGL
库表现的行为与规范规定的不一致时,基本都是库的开发者留下的bug。(快甩锅)
游戏开发
8,305
社区成员
23,682
社区内容
发帖
与我相关
我的任务
游戏开发
游戏开发相关内容讨论专区
复制链接
扫一扫
分享
社区描述
游戏开发相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章