OpenGL学习日志:

感谢doing5552 的OpenGL入门学习:http://www.cppblog.com/doing5552/archive/2009/01/08/71532.html

相信有部分人还在使用pascal学习OpenGL(像我一样)说不定也有人经常会遇到莫名其妙的编译错误(即使只是一个模板)

经过十个多小时的研究,我终于找到了OpenGL的使用方法

首先,在百度上(也可以是别的搜索引擎)上找到叫做glutdlls37beta的压缩包,下载解压后全部放入bin->i386-win32下

接下来给出OpenGL框架:

 uses gl,glu,glut;
procedure display;cdecl;
begin
glclear(GL_COLOR_BUFFER_BIT);
//这里写绘图语句
glflush();
end;
begin
glutinit(@argc,argv);
glutinitdisplaymode(glut_rgb or glut_single); //rgb颜色和单色位图
glutinitwindowposition(,);
glutinitwindowsize(,); //窗口大小
glutcreatewindow('zcy');
glutdisplayfunc(@display); //调用(最好不要带参数,如需要最好使用全局变量)
glutmainloop;
end.

相信OpenGL最简单的一个例子就是画一个立体的茶壶了吧?

 uses gl,glu,glut;
var t:real;
procedure display;cdecl;
begin
glclear(gl_color_buffer_bit); //设置清屏颜色
glmatrixmode(gl_modelview);
glloadidentity;
glrotatef(t,,,); //旋转角度
glcolor3f(,,); //茶壶颜色
glutwireteapot(0.5); //画茶壶并设置茶壶大小
glflush;
end;
procedure keyboard(key:byte;x,y:longint);cdecl;
begin
t:=t+; //按一下就计数
display; //重绘
end;
begin
glutinit(@argc,argv);
glutinitdisplaymode(glut_rgb or glut_single);
glutinitwindowposition(,);
glutinitwindowsize(400,400);
glutcreatewindow('zcy');
glutdisplayfunc(@display);
glutkeyboardfunc(@keyboard);
glutmainloop;
end.

当然不只可以画茶壶,还可以画其他的几何体

详细请参考https://wenku.baidu.com/view/199d5b1a59eef8c75ebfb300.html的23页至25页

颜色的rgb数值也请参考以上网站的第12页(注意乘上255)

接下来给出http://www.cppblog.com/doing5552/archive/2009/01/08/71532.html的第一个例子的pascal代码:

 uses gl,glu,glut;
procedure mydisplay;cdecl; //注意!要写cdecl!!!(虽然我也不知道为什么,反正要写上)
begin
glclear(gl_color_buffer_bit);
glrectf(-0.5,-0.5,0.5,0.5);
glflush;
end;
begin
glutinit(@argc,argv);
glutinitdisplaymode(glut_rgb or glut_single);
glutinitwindowposition(,);
glutinitwindowsize(,);
glutcreatewindow('zcy');
glutdisplayfunc(@mydisplay);
glutmainloop;
end.

这一篇就写到这里,有兴趣的可以自己研究http://www.cppblog.com/doing5552/archive/2009/01/08/71532.html,最后再次感谢doing5552的OpenGL入门学习

OpenGL学习笔记2017/8/29的更多相关文章

  1. OpenGL学习笔记3——缓冲区对象

    在GL中特别提出了缓冲区对象这一概念,是针对提高绘图效率的一个手段.由于GL的架构是基于客户——服务器模型建立的,因此默认所有的绘图数据均是存储在本地客户端,通过GL内核渲染处理以后再将数据发往GPU ...

  2. OpenGL学习笔记:拾取与选择

    转自:OpenGL学习笔记:拾取与选择 在开发OpenGL程序时,一个重要的问题就是互动,假设一个场景里面有很多元素,当用鼠标点击不同元素时,期待作出不同的反应,那么在OpenGL里面,是怎么知道我当 ...

  3. 《从零开始学Swift》学习笔记(Day 29)——访问级别

    Swift 2.0学习笔记(Day 29)——访问级别 原创文章,欢迎转载.转载请注明:关东升的博客 访问级别: Swift提供了3种不同访问级别,对应的访问修饰符为:public.internal和 ...

  4. JMeter接口学习笔记2017

    协议学习地址:http://www.cnblogs.com/TankXiao/archive/2012/02/13/2342672.html 本篇学习笔记来自于慕课网上学习JMeter的学习笔记 学习 ...

  5. OpenGL学习笔记(1) 画一个三角形

    最近找实习有一丢丢蛋疼,沉迷鬼泣5,四周目通关,又不想写代码,写篇笔记复习一下,要好好学图形学啊 用OpenGL画一个三角形 项目的简介 记录一下跟着learnOpenGL学习的过程 笔记里的代码放在 ...

  6. OpenGL学习笔记5——嵌入Qt框架

    学习OpenGL也有段时间了,前几篇将GL最基本的画图过程解析了一下,后面进阶的就随项目需要再学.因为之前一直是用glut这个实用工具包来开发很方便,但是会附带一个控制台的窗口,实在觉得有些low,因 ...

  7. OpenGL学习笔记0——安装库

    最近需要做一个基于Zigbee室内无线定位的系统,受到TI公司ZigBee Sensor Monitor软件的启发,打算用OpenGL来做一个3D显示空间内物体位置的程序.学习阶段选择VS2010+O ...

  8. OpenGL 学习笔记 01 环境配置

    以下教程仅适用于Mac下的Xcode编程环境!其他的我也不会搞. 推荐教程:opengl-tutorial  本项目Github网址       OpenGL太可怕了...必需得把学的记下来,不然绝壁 ...

  9. OpenGL学习笔记之了解OpenGL

    OpenGL(全写Open GraphicsLibrary)是个定义了一个跨编程语言.跨平台的编程接口规格的专业的图形程序接口.它用于三维图像(二维的亦可),是一个功能强大,调用方便的底层图形库. 说 ...

随机推荐

  1. [转]nginx简易教程

    安装 nginx官网下载地址 发布版本分为 Linux 和 windows 版本. 也可以下载源码,编译后运行. 从源代码编译 Nginx 把源码解压缩之后,在终端里运行如下命令: $ ./confi ...

  2. Mysql ---Sqlserver数据迁移到Mysql(Mysql建表迁移数据)

    1 试用了MysqlWorkBench的数据迁移功能 以为能实现:建立跟Sqlserver一样的表结构和视图的功能,sqlserver的数据迁移到mysql 实际上发现:即使勾选了表和视图,实际上却只 ...

  3. CSS——垂直居中

    vertical-align 垂直对齐 以前我们讲过让带有宽度的块级元素居中对齐,是margin: 0 auto; 以前我们还讲过让文字居中对齐,是 text-align: center; 但是我们从 ...

  4. 云HBase备份恢复,为云HBase数据安全保驾护航

    摘要: 介绍了阿里云HBase自研备份恢复功能的基本背景以及基本原理架构和基本使用方法.   云HBase发布备份恢复功能,为用户数据保驾护航.对大多数公司来说数据的安全性以及可靠性是非常重要的,如何 ...

  5. thinkphp 模型实例化

    在ThinkPHP中,可以无需进行任何模型定义.只有在需要封装单独的业务逻辑的时候,模型类才是必须被定义的,因此ThinkPHP在模型上有很多的灵活和方便性,让你无需因为表太多而烦恼. 根据不同的模型 ...

  6. identifier of an instance of xx.entity was altered from xxKey@249e3cb2 to xxKey@74e8f4a3; nested exception is org.hibernate.HibernateException: identifier of an instance of xxentity was altered from错误

    用entityManager保存数据时报错如下 identifier of an instance of xx.entity was altered from xxKey@249e3cb2 to xx ...

  7. duilib库分析2.第一篇UIManager

    DUiLib 源码分析 ——以UiLib 1.01版为分析目标--------------------------------------------------------------------- ...

  8. 2_2.springboot2.x配置之自动配置原理

    前言 SpringBoot 自动配置原理: 本文主要分为三大部分: SpringBoot 源码常用注解 SpringBoot 启动过程 SpringBoot 自动配置原理 1. SpringBoot ...

  9. 面试系列16 redis的持久化

    1.RDB和AOF两种持久化机制的介绍 RDB持久化机制,对redis中的数据执行周期性的持久化 AOF机制对每条写入命令作为日志,以append-only的模式写入一个日志文件中,在redis重启的 ...

  10. Java怎样对一个属性设置set或get方法的快捷键

    具体步骤如下: 首页,在testApp.java 类中定义属性,例如:public Sting name; 其次,Alt+Shift+S,  选择Generate Getters and Setter ...