当前位置: 首页 > article >正文

OpenGL学习笔记(三) 绘制图形

请添加图片描述

glFrontFace(GL_CCW);   // 设置CCW方向为“正面”,CCW即CounterClockWise,逆时针
glFrontFace(GL_CW);    // 设置CW方向为“正面”,CW即ClockWise,顺时针
#include <GL/glut.h>

#include <math.h>
void myDisplay(void)
{
    glClear(GL_COLOR_BUFFER_BIT);
    glPolygonMode(GL_FRONT, GL_FILL); // 设置正面为填充模式
    glPolygonMode(GL_BACK, GL_LINE);   // 设置反面为线形模式
    glFrontFace(GL_CCW);               // 设置逆时针方向为正面

    glBegin(GL_POLYGON);               // 按逆时针绘制一个正方形,在左下方
    glVertex2f(-0.5f, -0.5f);
    glVertex2f(0.0f, -0.5f);
    glVertex2f(0.0f, 0.0f);
    glVertex2f(-0.5f, 0.0f);
    glEnd();

    glBegin(GL_POLYGON);               // 按顺时针绘制一个正方形,在右上方
    glVertex2f(0.0f, 0.0f);
    glVertex2f(0.0f, 0.5f);
    glVertex2f(0.5f, 0.5f);
    glVertex2f(0.5f, 0.0f);
    glEnd();

    glFlush();
}

int main(int argc, char* argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
    glutInitWindowPosition(100, 100);
    glutInitWindowSize(400, 400);
    glutCreateWindow("第一个OpenGL程序");
    glutDisplayFunc(&myDisplay);
    glutMainLoop();

    return 0;
}

点的

void myDisplay(void)
{
    glClear(GL_COLOR_BUFFER_BIT);
    glPointSize(5.0f);
    glBegin(GL_POINTS);
    glVertex2f(0.0f, 0.0f);
    glVertex2f(0.5f, 0.5f);
    glEnd();
    glFlush();
}

直线

void myDisplay(void)
{
    glClear(GL_COLOR_BUFFER_BIT);
    glEnable(GL_LINE_STIPPLE);
    glLineStipple(2, 0x0F0F);
    glLineWidth(10.0f);
    glBegin(GL_LINES);
    glVertex2f(0.0f, 0.0f);
    glVertex2f(0.5f, 0.5f);
    glEnd();
    glFlush();
}

http://www.kler.cn/a/386147.html

相关文章:

  • Java 类型转换(Type Casting)
  • 机器学习、深度学习面试知识点汇总
  • 【LeetCode】每日一题 2024_11_14 统计好节点的数目(图/树的 DFS)
  • 如何在手机上完整下载B站视频并保存到相册?
  • 【月之暗面kimi-注册/登录安全分析报告】
  • CCI3.0-HQ:用于预训练大型语言模型的高质量大规模中文数据集
  • RabbitMQ 篇-深入了解 RabbitMQ 安装以及 SpringAMQP 的基础使用(声明队列和交换机、发送接收消息、配置 JSON 消息转化器)
  • 【Linux系列】利用 CURL 发送 POST 请求
  • Android13 系统/用户证书安装相关分析总结(二) 如何增加一个安装系统证书的接口
  • 网络协议都有哪些?
  • 软件工程技术专业在物联网应用开发中的关键技术与挑战
  • XSS详解
  • 【Rust设计模式之Fold模式】
  • Java 中的 Arrays.sort () 方法:排序的利器
  • GOT-OCR:开源免费的OCR项目,多语言多模态识别,端到端识别新体验!不仅能识别文字,连数学公式、图表都不在话下!
  • 服装品牌零售业态融合中的创新发展:以开源 AI 智能名片 S2B2C 商城小程序为视角
  • unity中 骨骼、纹理和材质关系
  • 软件工程 软考
  • 在 Bash 中获取 Python 模块变量列
  • 2023上半年上午(1~75)
  • 使用EasyExcel实现导出excel文件时生成多级下拉选
  • 梧桐数据库浅谈查询优化技巧
  • UE5 metahuman 头发物理模拟
  • Meta 上周宣布正式开源小型语言模型 MobileLLM 系列
  • 怎样使用pycharm的服务?
  • FFmpeg - 音视频文件编码