OpenGL(codeblocks):绘制points

本文详细介绍了如何在C++中使用GLUT库进行OpenGL编程,包括设置白色背景、正交投影、myPoints函数中的点绘制以及回调函数的调用。读者可以借此了解基础图形渲染和窗口初始化的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引用的包【不出错版】以及主方法调用glut库的编写:

写init()方法:

void init(){
    //rgb都是1,黑色背景颜色
    glClearColor(1.0,1.0,1.0,0.0);
    //正投影方式
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    //显示的范围,超过部分不会显示出来
    gluOrtho2D(-100,100,-100,100);

}

myPoints函数,记得传给回调函数;

void myPoints(){
    //调用后背景不会显色;
    glClear(GL_COLOR_BUFFER_BIT);
    //每个点占3个像素
    glPointSize(3);
    //说明画的是点

    glBegin(GL_POINTS);
    //三个浮点数定颜色:red
    glColor3f(1.0,0.0,0.0);
    //位置顶点参数用int表示
    glVertex2i(-3,3);
    glColor3f(0.0,1.0,0.0);
    glVertex2d(10,20);
    glColor3f(0.0,0.0,1.0);
    glVertex2i(0,-15);
    glEnd();

    //将缓存推送到屏幕上
    glFlush();
}

效果图: 

所有代码:

#define _WCHAR_T_DEFINED
#define _STDCALL_SUPPORTED
#include <GL/glut.h>
#include <GL/gl.h>
#include <stdlib.h>

void myPoints(){
    //调用后背景不会显色;
    glClear(GL_COLOR_BUFFER_BIT);
    //每个点占3个像素
    glPointSize(3);
    //说明画的是点

    glBegin(GL_POINTS);
    //三个浮点数定颜色:red
    glColor3f(1.0,0.0,0.0);
    //位置顶点参数用int表示
    glVertex2i(-3,3);
    glColor3f(0.0,1.0,0.0);
    glVertex2d(10,20);
    glColor3f(0.0,0.0,1.0);
    glVertex2i(0,-15);
    glEnd();

    //将缓存推送到屏幕上
    glFlush();
}


void init(){
    //rgb都是1,黑色背景颜色
    glClearColor(1.0,1.0,1.0,0.0);
    //正投影方式
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    //显示的范围,超过部分不会显示出来
    gluOrtho2D(-100,100,-100,100);

}

//主方法,格式是固定的
//调用glut库
int main(int argc,char* argv[]){
    glutInit(&argc,argv);
    //RGB显示模式
    glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
    //显示位置,靠右x大靠下y大
    glutInitWindowPosition(200,300);
    //窗口大小
    glutInitWindowSize(300,300);
    //会显示窗口名字诶
    glutCreateWindow("Display Points");
    //init是需要自己写的方法
    init();
    //回调函数
    glutDisplayFunc(myPoints);
    glutMainLoop();
    //因为主方法需要有返回值
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值