使用DevC++绘图要求如下:1、背景色为黑色,用 glClearColor()来完成; 2、选用 GL_POINTS 作为图形类型; 3、绘制生成四个坐标、颜色和尺寸均不相同的点。给出具体代码
时间: 2024-11-03 09:21:06 浏览: 11
Android中使用背景色Alpha值遇到的一个坑
要在Dev-C++中使用OpenGL库绘制背景为黑色、图形类型为GL_POINTS,并创建四个不同位置、颜色和大小的点,你需要包含必要的头文件,设置窗口属性,然后编写渲染函数。以下是一个基本的示例代码:
```cpp
#include <gl/glut.h>
#include <GL/gl.h> // OpenGL库头
#include <GL/glu.h> // GLU库头
// 定义顶点结构体存储点的坐标、颜色和尺寸
struct Point {
float x, y, z;
GLfloat r, g, b; // 颜色值范围0-1
float size; // 点的直径
};
// 绘制点的函数
void draw_point(Point p) {
glPointSize(p.size); // 设置点的大小
glBegin(GL_POINTS);
glColor3f(p.r, p.g, p.b); // 设置点的颜色
glVertex3f(p.x, p.y, p.z); // 绘制点
glEnd();
}
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); // 设置显示模式
glutInitWindowPosition(100, 100); // 窗口位置
glutInitWindowSize(400, 400); // 窗口大小
glutCreateWindow("Point Visualization"); // 创建窗口
glClearColor(0.0, 0.0, 0.0, 1.0); // 设置背景色为黑色
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // 清理缓冲区
// 创建并绘制四个点
Point point1 = {10, 10, -1, 1.0, 0.5, 0.5, 0.1};
Point point2 = {200, 150, 0, 0.7, 0.2, 0.9, 0.2};
Point point3 = {-100, -50, 1, 0.8, 0.6, 0.2, 0.3};
Point point4 = {75, 75, 0, 1.0, 0.3, 0.7, 0.4};
draw_point(point1);
draw_point(point2);
draw_point(point3);
draw_point(point4);
glutMainLoop(); // 进入主循环
return 0;
}
```
记得安装OpenGL库,并链接到你的Dev-C++项目中。运行这个程序后,你应该能看到一个黑色背景上分布着四个不同颜色和大小的点。
阅读全文