opengl 入门浅学(一)
因为要做图形学的实验,又是要以OPENGL为基础,所以就稍微在网上查了一些资料。
我是带着目的去学习的,所以就没有打基础之类的学很深,浅尝。
今天试着搭简单框架,画出一个图形。大神请出门左转。
#include<gl/glut.h>
#include<stdlib.h> void mydisplay(void)
{
glClear(GL_COLOR_BUFFER_BIT); //清楚各种缓冲(颜色,深度,模式等等),先不用管
glBegin(GL_TRIANGLES);
glVertex3f(1.0,0.0,0.0);
glVertex3f(0.0,0.0,0.0);
glVertex3f(0.0,1.0,0.0);
glEnd();
glFlush(); //强制刷新缓冲
} void main(int argc,char**argv)
{
glutInit(&argc ,argv); //初始化
glutInitWindowPosition( 200 , 100); //设置初始OPENGL窗口位置
glutInitWindowSize( 500,500); //设置初始窗口宽高
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE); //设置窗口显示模式
/*
1:GLUT_RGBA或者GLUT_RGB。指定一个RGBA窗口,这是一个默认的颜色模式。 2:GLUT_INDEX。指定颜色索引模式。 这个显示模式还允许你选择单缓冲区或双缓冲区窗口。 1:GLUT_SINGLE.单缓冲区窗口。 2:GLUT_DOUBLE.双缓冲区窗口,这是产生流畅动画必须选的。 还可以指定更多,如果你想指定一组特殊的缓冲的话,用下面的变量: 1:GLUT_ACCUM.累积缓冲区。 2:GLUT_STENCIL.模板缓冲区。 3:GLUT_DEPTH.深度缓冲区。
*/ glutCreateWindow("第一个OPENGL窗口"); //设置窗口名称
glutDisplayFunc(mydisplay); //调用显示窗口函数
glutMainLoop(); //让程序一直运行下去的循环函数 }
opengl 入门浅学(一)的更多相关文章
- opengl入门学习
OpenGL入门学习 说起编程作图,大概还有很多人想起TC的#include <graphics.h>吧? 但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜的640 ...
- OpenGL入门学习(转)
OpenGL入门学习 http://www.cppblog.com/doing5552/archive/2009/01/08/71532.html 说起编程作图,大概还有很多人想起TC的#includ ...
- OpenGL入门学习(转载)
说起编程作图,大概还有很多人想起TC的#include <graphics.h>吧? 但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜的640*480分辨率.16色 ...
- OpenGl入门——视口及物体移动函数
大学的时候有个选修课,要用OpenGl,很初级的内容,同样入门的学弟学妹适用 推荐个学习的资料NeHe的OpenGl教程,很完整而且有示例,讲的很明白.比某些破书好. 可以配合那本所谓的“红宝书”看看 ...
- SCARA——OpenGL入门学习五六(三维变换、动画)
OpenGL入门学习(五) 此课为三维变换的内容,比较枯燥.主要是因为很多函数在单独使用时都不好描述其效果, 在前面绘制几何图形的时候,大家是否觉得我们绘图的范围太狭隘了呢?坐标只能从-1到1,还只能 ...
- SCARA——OpenGL入门学习四(颜色)
OpenGL入门学习[四] 本次学习的是颜色的选择.终于要走出黑白的世界了~~ OpenGL支持两种颜色模式:一种是RGBA,一种是颜色索引模式. 无论哪种颜色模式,计算机都必须为每一个像素保存一些数 ...
- MFC下OpenGL入门(可以用)
MFC下OpenGL入门 源文件 1, 建一工程文件,我这里命名为first,现在first工程里面我们没有添加任何东西,所有的东西都是MFC自动帮我们创建的. 2, 添加链接库.这一步很关键.打开菜 ...
- junit浅学笔记
JUnit是一个回归测试框架(regression testing framework).Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(Wh ...
- [转]opengl入门例题(读取bmp图片,并显示)
#include<gl/glut.h> #define FileName "bliss.bmp" static GLint imagewidth; static GLi ...
随机推荐
- 03 事务,连接池DBCP,C3P0,DBUtils
事务 Transaction 其实指的一组操作,里面包含许多个单一的逻辑.只要有一个逻辑没有执行成功,那么都算失败. 所有的数据都回归到最初的状态(回滚) 事务的作用:为了确保逻辑的成功. 例子: ...
- c# 敏捷2 ForEach ToDictionary ToLookup Except比较
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; ...
- 【NOI2005】 聪聪可可
树分治劲啊 原题: 聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰棍而两人都想吃.两个人都想玩儿电脑(可是他们家只有一台电脑)……遇到这种问题,一般情况下石头剪刀布就好了, ...
- LG4213 【【模板】杜教筛(Sum)】
sum\(\mu\)求法 设 \[S(n)=\sum_{i=1}^n \mu(i)\] 回顾公式 \[\sum_{d|n}\mu(d)=[n=1]\] 对\(n\)求和 \[\sum_{i=1}^n\ ...
- Mybatis一(基础)
mybatis架构 1.mybatis配置 SqlMapConfig.xml,此文件作为mybatis的全局配置文件,配置了mybatis的运行环境等信息. mapper.xml文件即sql映射文件, ...
- 每天进步一点点-一切皆对象/一次编写,到处运行/bean工厂
只要这个配置文件一写,其他所有的java类都可以用 用法1.直接在类中getBeans,然后调用beans的方法 用法2.将这些bean进行注入,基于xml的注入<property name=& ...
- Linux内核Inotify机制学习笔记
一.Inotify简介: Inotify是一种文件变化通知机制,Linux内核从2.6.13开始引入.它是一个内核用于通知用户空间程序文件系统变化的机制.开源社区提出用户态需要内核提供一些机制,以便用 ...
- Monitor Minio server with Prometheus
转自:https://blog.minio.io/monitor-minio-server-with-prometheus-4ed537abcb74 Prometheus is an open sou ...
- gevent原理
未看 http://blog.csdn.net/yueguanghaidao/article/details/24281751
- CSS vertical-algin的使用
一.什么vertical-algin vertical的意思就是垂直,algin是对齐的意思,连起来就是“垂直对齐方式”,接下来看看vertical-algin有哪些属性,打开浏览器一看 vertic ...