zoukankan      html  css  js  c++  java
  • 初识OpenGl

    1. 函数命名规则

    • OpenGl函数都遵循一个命名约定:<库前缀> <根命令> <可选参数个数> <可选参数类型>
    • 如:glColor3f() ,gl:核心库;Color:函数用于颜色设定;3f:三个浮点数参数;

      2.基本图元绘制

    • 关于点的绘制:glVertex3f(1.0f,1.0f,0.0f);   glVertex3fv(v表示传递的几个参数将通过指针的形式)
    • 指定顶点的命令必须在glBegin之后,glEnd之前,否则指定的顶点会被忽视。并且,glBegin得指明如何使用这些顶点:
      glBegin(GL_POINTS);
          glVertex2f(0.0f,0.0f);
          glVertex2f(0.5f,0.0f);
      glEnd();

    • 点的大小默认为1像素,如需修改,用 void glPointSize(GLfloat size);  //size必须大于0.0f,默认值为1.0f。

      1 void myDisplay(void){
      2     glClear(GL_COLOR_BUFFER_BIT);
      3     glPointSize(5.0f);
      4     glBegin(GL_POINTS);
      5         glVertex2f(0.0f0.0f);
      6         glVertex2f(0.5f0.5f);
      7     glEnd();
      8     glFlush();
      9 }
    • 关于直线

    • 直线可以指定宽度 void glLineWidth(GLfloat width);
    • 也可以绘制虚线,首先使用glEnable(GL_LINE_STIPPLE);来启动虚线模式,使用glDisable(GL_LINE_STIPPLE)可以关闭之。
    • 使用glLineStipple设置虚线样式,void glLineStipple(GLint factor, GLushort pattern);
    • pattern 为十六位二进制序列,从低位开始,1画factor个实现,为0画factor个虚线;
    •  1 void myDisplay(void){
       2     glClear(GL_COLOR_BUFFER_BIT);
       3     glEnable(GL_LINE_STIPPLE);
       4     glLineStipple(20x0F0F);
       5     glLineWidth(10.0f);
       6     glBegin(GL_LINES);
       7         glVertex2f(0.0f0.0f);
       8         glVertex2f(0.5f0.5f);
       9     glEnd();
      10     glFlush();
      11 }
  • 相关阅读:
    痞子衡嵌入式:利用i.MXRT1060,1010上新增的FlexSPI地址重映射(Remap)功能可安全OTA
    “既生 ExecutorService, 何生 CompletionService?”
    55
    .map() is not a function【js报错】
    内网穿透之流量代理转发
    JDK8 String类知识总结
    Java并发编程(07):Fork/Join框架机制详解
    数据源管理 | 分布式NoSQL系统,Cassandra集群管理
    Solon详解(三)- Solon的web开发
    Solon详解(二)- Solon的核心
  • 原文地址:https://www.cnblogs.com/rrrrraulista/p/10919398.html
Copyright © 2011-2022 走看看