首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用openGL绘制点?(c++)

如何使用openGL绘制点?(c++)
EN

Stack Overflow用户
提问于 2020-05-03 14:39:58
回答 1查看 164关注 0票数 2

我想使用openGL绘制一个坐标系统,代码有x轴和y轴。但是,不能绘制起始点。如何解决这个问题?我认为代码是正确的,并在互联网上搜索资源。没有调试的解决方案。

这是我的代码:

代码语言:javascript
运行
复制
#define FREEGLUT_STATIC
#include <GL/freeglut.h>
void define_to_OpenGL();

void main(int argc, char** argv) {
    glutInit(&argc, argv);

    //task2
    glutInitWindowSize(600, 400);
    glutInitWindowPosition(50, 50);

    glutCreateWindow("Graphics Perimitives");

    glutDisplayFunc(define_to_OpenGL);
    glutMainLoop();
}


void define_to_OpenGL() {
    glClearColor(1, 1, 1, 1);
    glClear(GL_COLOR_BUFFER_BIT);


    //TASK 2        
    glMatrixMode(GL_PROJECTION); 
    glLoadIdentity();
    gluOrtho2D( -100, 800, -400, 400); 

    //TASK 3
    glLineWidth(1.0);
    glColor3f(0,0,0);

    glBegin(GL_LINES);
        glVertex2f(0, 0);
        glVertex2f(450, 0);
    glEnd();

    glBegin(GL_LINES);
        glVertex2f(0, -150);
        glVertex2f(0, 150);
    glEnd();


    //TASK 4
    glPointSize(100.0);
    glColor3f(0, 1, 0);
    glBegin(GL_POINT);
        glVertex2f(450, 0);
    glEnd();


    //TASK 5
    //TASK 6,7,8

    glFlush();



}

我知道这是个简单的问题。请帮帮我,谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-03 14:55:00

GL_POINT不是有效的基本类型。点的原始类型是GL_POINTS。见点基元

此外,点的大小是有限的。100.0超过了极限。缩小点大小:

代码语言:javascript
运行
复制
glPointSize(10.0);
glColor3f(0, 1, 0);
glBegin(GL_POINTS);
    glVertex2f(450, 0);
glEnd();

GL_POINT是一个枚举常量,用于指定多边形模式(glPolygonMode)。

最大点大小可以通过glGetFloatv,通过参数GL_POINT_SIZE_MAX得到。

代码语言:javascript
运行
复制
GLfloat max_point_size;
glGetFloatv(GL_POINT_SIZE_MAX, max_point_size);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61576279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档