OPENGL学习笔记1

原创 2004年03月11日 10:04:00

     OPENGL就是有很多图形API的函数库,专业一点就叫“图形接口”,所以了解这些API是以后使用OPENGL的基础。为了达到使用这些API的目的,还需要至少掌握一门语言,建议C语言。现在流行的编程方式是win32 console和win32 application,哪种方式不重要,主要掌握它API的用法就好了。
     OPENGL坐标变换很有特点,为了简单描述先定义2个坐标系,世界坐标系,当前绘图坐标系,无论如何变换,世界坐标系都不动,以屏幕中心为原点(0, 0, 0),你面对屏幕,你的右边是x正轴,上面是y正轴,屏幕指向你的为z正轴。当前绘图坐标系是绘制物体时的坐标系。程序刚初始化时,世界坐标系和当前绘图坐标系是重合的,当用glTranslatef()等变换函数做移动和旋转时,都是改变的当前绘图坐标系,改变的位置都是当前绘图坐标系相对自己的x,y,z轴所做的改变,改变以后,再用glVertex3f()等绘图函数绘图时,都是在当前绘图坐标系进行绘图,所有的函数参数也都是相对当前绘图坐标系来讲的。

glLoadIdentity():另当前绘图坐标系从新回到世界坐标系的位置,另他们重合。
glTranslatef(x,y,z):使绘图坐标系相对世界坐标系沿x,y,z轴移动x,y,z个单位。
glVertex3f(x,y,z):在当前绘图坐标系绘制一个点

glColor3f(r,g,b):设置以后绘图函数的绘图颜色,如果没有再次碰到glColor3f(),以后任何绘图函数绘制出的图形颜色都是这个颜色。r,g,b的范围从0.0-1.0。r-蓝色,g-绿色,b-蓝色,色彩是这三种颜色分量的混合,比如glColor3f(1.0,1.0,0.0)是黄色,glColor3f(1.0,0.0,0.0)是红色。

glRotatef(angle,x,y,z):和glTranslatef()属于一类函数,glTranslatef()是平移,glRotatef是旋转,就是使当前绘图坐标系绕世界坐标系的x,y,z旋转angle个角度,x,y,z的值非0既1,比如glRotatef(30,1.0f,0.0f,0.0f)就是绕x轴旋转30度,glRotatef(30,1.0f,1.0f,0.0f)就是绕x,y的夹角线旋转30度。

OPENGL学习笔记(六)

如何使用OPENGL分配顶点缓存对象,并绘制一个白色的三角形 添加Mesh类: class Vertex {   public:      Vertex(const glm::vec3& p...
  • u012181898
  • u012181898
  • 2016年11月06日 06:54
  • 512

OpenGL学习笔记(二)

1、OpenGL实用工具包(GLUT)OpenGL包含渲染函数,但被涉及成独立于任何窗口系统和操作系统。因此,OpenGL并没用用于打开窗口以及检测键盘或鼠标事件的函数。GLUT库被用来简化这些相关任...
  • digu
  • digu
  • 2008年03月18日 22:32
  • 2379

opengl学习笔记1:vs2013 nehe教程第一课 创建窗口

近来需要想学习一下opengl,但是小白没有任何基础,也非计算机专业出身,只能一步一步学习nehe的程序来学习了。这里实现了在WIN10 vs2013 opengl2.0 环境下跑通nehe教程第一课...
  • caimagic
  • caimagic
  • 2016年01月29日 15:11
  • 1027

OPENGL学习笔记

Hello World OpenGLVAO、VBO介绍       随着OpenGL状态和固定管线模式的移除,我们不在用任何glEnable函数调用,而且也不会有glVertex、glColor等函数...
  • yingtan
  • yingtan
  • 2016年07月15日 00:46
  • 276

【OpenGL】nehe教程第一课学习笔记

nehe教程的第一课主要讲了OpenGL程序的创建。 它引用了最基本的gl.h、glu.h、glaux.h三个头文件。 包含了五个函数,分别是InitGL、ResizeGLScene、DrawGLSc...
  • lzh1590
  • lzh1590
  • 2017年03月22日 16:22
  • 241

OpenGL ES3.0 《学习笔记 九》 Texturing

本章介绍内容包括:  textures: • Texturing basics • Loading textures and mipmapping • Texture filtering an...
  • fangchuawei
  • fangchuawei
  • 2014年09月07日 15:32
  • 1214

初识openGL---openGL学习笔记(一)

openGL: openGL是用C语言实现的,而我们作为安卓开发者,严格来讲,我们使用的是es,也就是openGL es,原因无非就像数据库一样,安卓上使用的数据库永远不可能是Mysql之类的,因为终...
  • a358333644
  • a358333644
  • 2016年02月24日 17:04
  • 498

OpenGL学习笔记(七)

我们在前六个部分已经尝试了nehe教程中1-8可得所有内容,接下来第七部分将实现一个简单的实验,这个实验将涵盖前面所有的内容,以作为一个前期总结。前期准备在实验之前,我们需要知道一个OpenGL中的基...
  • Michael753951
  • Michael753951
  • 2017年05月09日 20:59
  • 232

OpenGL学习笔记(八)

前言本部分单独讲Lesson10的内容,本次讲述重点将不再是作者在代码中各种方法如何如何调用,比如如何实现旋转,如何绘制图像,如何实现透明,如何实现步进等等,这个在我前面7篇笔记中已经有详细的说明了,...
  • Michael753951
  • Michael753951
  • 2017年05月12日 03:28
  • 201

OpenGL ES 学习难点日志

OpenGL ES学习日志
  • wu_th0818
  • wu_th0818
  • 2017年03月19日 09:45
  • 178
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OPENGL学习笔记1
举报原因:
原因补充:

(最多只允许输入30个字)