OpenGL实验二:绘制二维图形

OpenGL二维图绘制 #include "stdafx.h" #include<GL/freeglut.h> #include<GLFW/glfw3.h> // 绘图函数 void display() { // 清空颜色缓存和深度缓存 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // glBegin 阅读详情

1.实验目的:

熟悉编程环境;了解光栅图形显示器的特点;了解计算机绘图的特点;利用VC+OpenGL作为开发平台设计程序,以能够在屏幕上生成任意一个像素点为本实验的结束。

2.实验内容:

(1) 了解和使用VC的开发环境,理解简单的OpenGL程序结构。

(2) 掌握OpenGL提供的基本图形函数,尤其是生成点的函数。

#include <GL/glut.h>
void display(void)
{
    glClearColor(0.0, 0.0, 0.0, 0.0);
    glClear(GL_COLOR_BUFFER_BIT);

    glColor3f(0.0f, 1.0f, 0.0f);       //定义正方形的颜色
    glRectf(-0.5f, -0.5f, 0.5f, 0.5f); //绘制一个正方形

    glBegin (GL_TRIANGLES);           //绘制一个三角形

    glColor3f (1.0f, 0.0f, 0.0f); glVertex2f (0.0f, 1.0f);
    
    glColor3f (0.0f, 1.0f, 0.0f); glVertex2f (0.8f, -0.5f);
    
    glColor3f (0.0f, 0.0f, 1.0f); glVertex2f (-0.8f, -0.5f);
    
    glEnd ();
    
    glPointSize(3);
    
    glBegin (GL_POINTS);            //绘制三个点
    
    glColor3f (1.0f, 0.0f, 0.0f); glVertex2f (-0.4f, -0.4f);
    
    glColor3f (0.0f, 1.0f, 0.0f); glVertex2f (0.0f, 0.0f);
    
    glColor3f (0.0f, 0.0f, 1.0f); glVertex2f (0.4f, 0.4f);

    glEnd ();
    
    glFlush();
}
int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
	glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
	glutInitWindowPosition(100, 100);
	glutInitWindowSize(400, 400);
	glutCreateWindow("Hello World!");
	glutDisplayFunc(&display);
	glutMainLoop();
	return 0;

}

屏幕中间为(0.0f,0.0f),向上为y轴正半轴,向右为x轴正半轴。
具体函数作用见该博客https://blog.csdn.net/augusdi/article/details/23747991
本人博客折花入酒

OpenGL(一)二维图绘制:一个简单绘制程序 一段简单绘制正方的程序: #include <gl/glut.h> void display() { glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_POLYGON); glVertex2f(-0.5,-0.5); glVertex2f(-0.5,0.5); glVertex2f(0.5,0.5); glVertex2f(0.5,-0... 阅读详情

相关推荐

安大计算机图形学实验——二维图变换

实验原理 1.本次实验着重学习以下常用函数,在实验报告中的实验原理部分对下列函数进行参数介绍和用法介绍。 glLoadIdentity(); 变换矩阵: glRotatef(theta, vx, vy, vz) glTranslatef(dx, dy, dz) glScalef( sx, sy, sz) 在屏幕坐标系下指定矩阵视区的函数: glViewport(x, y, w, h); 设置投影参数: glMatrixMode(GL_PROJECTION); glMatrixMode(GL_MODELVIE

风华正茂百花洲 3832

opengl画的小花

实验源代码,opengl画花的源程序,可随机生成许多花,一屏,颜色也是随机的

初学计算机图形学——OpenGL实现二维图平移,旋转(不使用opengl自带的函数,齐次方程实现)

要求:1.给定窗口中绘制坐标系 2.给定坐标系内绘制三角 3.完成平移、旋转等变换后的三角绘制 4.采用OpenGL绘制 代码: #include<windows.h> #include <GL/glut.h> #include <stdlib.h> #include<iostream> #include<cmath> #in...

qq_42609193的博客 2789

OPENGL 作品 花儿

OPENGL画的花儿,很有感觉,很不一样

OpenGL(五)——创建二维图

OpenGL)——创建二维图 一、创建一个项目,创建项目的方法可以参考前两篇文章: Win10+VS2010+OpenGL配置 OpenGL(一)——创建一个四边 、创建好项目后,编写二维图所需的代码: #include <GLTools.h> #include <stdio.h&gt...

ifeng12358的博客 3408

OPENGL学习(三)GLUT二维图绘制

将图像变成了图中(x,y,z)分别对应范围(0-1,0-1,0-1)区间。手动设置了使用RGB绘制、窗口位置及窗口大小。并且在init函数中加入了。增加了鼠标左键点击事件mouse,点击时会改变图像亮度并输出点击位置。在改变窗口时会调用的函数。默认的reshape函数会直接拉伸图。就是将颜色设置为红色。然后你在三个不同位置点了三个点。最基础的程序,画了个三角,请确保理解这个程序,就是保存提交给画面。然后你就得到了结果。我们希望图像不被拉伸,而是保持原有大小。使用定时器的一段动画,图像亮度随时间变化。..

qq_21043585的博客 3447

openGL有感

我们教程是这个https://learnopengl-cn.github.io/01%20Getting%20started/01%20OpenGL/ 平时的实验也是从上面出的,但是我自认为上面翻译的极差,总是不知所云,但是代码还是有一定可读性的。 一个学期下来,零零散散的学了基本的图绘图,纹理,摄像机,图变换,光照之类的,现在需要写大程了,仔细阅读了代码,才发现对于我对于如何绘制一个场景终于有些了解。 现在总结如下,主要是一些定义以及需要干什么,也是我这学期学习的,没学到就没总结,具体的代码网站上都有

HGGshiwo的博客 758

OpenGL 绘制二维图

OpenGL 绘制二维图 注:本文程序建立在OpenGL MFC单文档环境配置 在讲解绘制之前,先分享一下我在绘制的过程中,遇到的一个问题。 四月份中旬,同学找我做一个关于三维绘图的毕业设计。一开始我是拒绝的,原因很简单,我不会。 后来他给我一份报酬,好吧,我妥协了。但是问题来了,我连最基本的环境配置都不会,当时自己也苦于毕业设计。

MissXy_的博客 1万+

OpenGL学习笔记 —— 二维图绘制

二维图绘制主要包含点、线及各种多边绘制,需要考虑图状,边的特性及图颜色的填充。 点的绘制 点是最基本的图元,调用glBegin时参数为GL_POINTS,尺寸可以通过glPointSize()来设定,默认尺寸为1px def display(): glClear(GL_COLOR_BUFFER_BIT) glPointSize(8) # 放在glBegin外面 glBe...

我有两颗糖 2000

计算机图形学 实验OpenGL基本绘制OpenGL

文章目录实验1.1的配置理论背景着色器与OpenGL着色器的编译绘制简单的代码解析实验 1.2实验 1.2习题实验实验一 最终成品展示: 包括了实验1.1 1.2和实验一以及对应代码的解析 实验1.1的配置 配置详细见配置环境的文件,我这里顺便上传一下好了 理论背景 OpenGL的含义 OpenGL是一种应用程序编程接口(Application Programming Interface,API),它是一种可以对图硬件设备特性进行访问的软件库。OpenGL最新的4.3版本包含了超过500个不同的命令

weixin_43757333的博客 1万+

基于OpenGL二维图绘制与三维场景构建实战

/ 横向拉长// 旋转// 移动到远处物体先在自身坐标系内变,然后整体旋转,最后定位到场景中。符合直觉。回顾整个学习路径,我们会发现,掌握OpenGL不仅仅是学会几个API调用,更是经历了一场思维方式的转变:阶段核挑战成长收获初识OpenGL理解状态机模型学会显式管理全局状态绘图构建直观坐标系掌握投影与视口协同几何变换理解矩阵累积效应建立空间变换直觉三维拓展处理深度与层次实现真实视觉感知。

weixin_35459464的博客 1103

计算机图形学实验二维图的缩放、旋转,平移,组合变换

一、实验目的及要求 基于一个三角来进行几何变换,包括绘制多边、XY维坐标、平移变换、对称变换、缩放变换、旋转变换、错切变换 ,通过实验,熟练掌握图几何变换的基本思想和基本方法。

进一步有一步的欢喜 2490

OpenGL二维图显示为三维点云图

全文参考:http://blog.csdn.net/sky_freebird/article/details/6695059

lzy2014的专栏 1万+

opengl来画二维图

opengl实现画二维图像 在opengl中画一个维的图像应该说是最简单的小程序的。我这里说的简单是一葫芦画瓢进行编程,来画一个图像,而不是说了解到opengl函数内部的实现过程。下面我们就开始实现opengl维的图像我们先画一条线void myDisplay(void){ glClearColor(1.0, 1.0, 1.0, 0.0);glClear(GL_COLOR_BUFFER_BI

qq_34675714的博客 3763

图形学实验OpenGL基本绘制

实验OpenGL基本绘制 实验内容 在Windows系统下完成OpenGL的环境配置,编译并成功运行你的OpenGL程序。在其中使用现代OpenGL中的着色器,绘制多个简单二维图,参考下图所示: 具体内容包括: 1. OpenGL的环境配置 参考上机实验1.1的内容,完成Visual Studio 集成开发环境的安装,GLUT库与GLEW库的编译与配置,工程项目的搭建。 > 我用的是`Clion`,配置的`CmakeList.txt` ``` # cm...

在所不辞的博客 3308

使用OpenGL绘制二维图

在本文中,我们将使用OpenGL绘制一些简单二维图。我们通过一个简单的例子演示了如何使用OpenGL的固定函数管线来绘制一个三角。你可以使用类似的方式来绘制这些图,只需要调整顶点的位置和属性即可。在上面的代码中,我们使用了OpenGL的固定函数管线(Fixed Function Pipeline)来绘制一个简单的三角。函数中,我们初始化GLUT库,创建一个窗口,并设置显示回调函数为我们定义的。在这个例子中,我们使用了三个顶点,分别设置了红色、绿色和蓝色。然后,我们进入主循环,等待事件的发生。

EctProcessgroup的博客 831

OpenGL ES】二维图绘制

目录OpenGL ES 3.0 学习——2D着色器语言基础知识绘制纯色背景JAVA版本C++版本绘制圆点、直线、三角JAVA版本C++版本绘制彩色三角JAVA版本C++版本绘制纯色正方JAVA版本C++版本绘制纯色圆JAVA版本C++版本波纹扩散demo总结绘制整体流程 不积跬步,无以至千里;不积小流,无以成江海。要沉下来,诗和远方的路费真的很贵! OpenGL ES 3.0 学习——2D 颜色的简单搭配: 不红+不绿+不蓝 = 黑 红+绿+蓝 = 白 红+绿 = 黄 红+蓝 = 紫 绿+蓝 =

小叮当不懒的博客 4380

OpenGL实现二维图裁剪的梁友栋-Barsky算法代码(有注释)

OpenGL实现二维图裁剪的梁友栋-Barsky算法代码(有注释) 梁-Barsky算法

qq_42696069的博客 2740
上一篇: 根据出生年月日算出天干地支星座属相
下一篇: 【数据处理】:(一)图片类
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值