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. thinkphp for标签

    用法: 大理石平台厂家 <for start="开始值" end="结束值" comparison="" step="步进值 ...

  2. poj 1742 Coins(二进制优化多重背包)

    传送门 解题思路 多重背包,二进制优化.就是把每个物品拆分成一堆连续的\(2\)的幂加起来的形式,然后把最后剩下的也当成一个元素.直接类似\(0/1\)背包的跑就行了,时间复杂度\(O(nmlogc) ...

  3. linux安装PyCharm,PyCharm常用快捷键及调试模式,pycharm里面对文件夹或者文件进行重命名

    PyCharm常用快捷键及调试模式 2017年10月18日 23:13:43 菜鸟之神 阅读数:5835    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn ...

  4. eax,ebx,ecx,edx,esi,edi,ebp,esp寄存器的作用

    位的寄存器.如果用C语言来解释,可以把这些寄存器当作变量看待. 比方说:add eax,-2 ;   //可以认为是给变量eax加上-2这样的一个值. 位寄存器有多种用途,但每一个都有"专长 ...

  5. CSS3视口单位vw,wh

    vw和vh是视口(viewport units)单位,何谓视口,就是根据你浏览器窗口的大小的单位,不受显示器分辨率的影响,是不是很神奇,这就代表了,我们不需要顾虑到现在那么多不同电脑有关分辨率的自适应 ...

  6. js比较常用的

    1. <a href="javascript:void(0);" id="div1_bu" >点击链接可以删除div2</a> 超链接的 ...

  7. 3列滚动抽奖 jquery.slotmachine

    效果图: 需引入js文件: <script src="js/jquery-3.2.0.js"></script> <script src=" ...

  8. vue项目打包后资源相对引用路径的和背景图片路径问题

    vue项目中若要使用相对路径来获得相应静态资源,需要修改以下内容来确保项目打包后能正常运行. 1.修改config => index.js => build => assetsPub ...

  9. 18.scrapy_maitian_analysis

    1_info.py # encoding: utf-8 import pandas as pd # 租房 基本信息 # 读取文件 df=dataframe df = pd.read_json(&quo ...

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

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