• 细分和边界


    代码如下:

    #include <windows.h>
    //#include <GLUT/glut.h>
    #include <GL/glut.h>
    #include <math.h>
    #include <iostream>
    using namespace std;
    
    #define GL_PI 3.1415f
    
    
    void RenderScene()
    {
        glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
    
        GLboolean bEdgeflag;
        glBegin(GL_TRIANGLES);
            glEdgeFlag(bEdgeflag);
            glVertex2f(-20.0f,0.0f);
            glEdgeFlag(true);
            glVertex2f(20.0f,0.0f);
            glVertex2f(0.0f,40.0f);
    
            glVertex2f(-20.0f,0.0f);
            glVertex2f(-60.0f,-20.0f);
            glEdgeFlag(bEdgeflag);
            glVertex2f(-20.0f,-40.0f);
            glEdgeFlag(true);
    
            glVertex2f(-20.0f,-40.0f);
            glVertex2f(0.0f,-80.0f);
            glEdgeFlag(bEdgeflag);
            glVertex2f(20.0f,-40.0f);
            glEdgeFlag(true);
    
            glVertex2f(20.0f,-40.0f);
            glVertex2f(60.0f,-20.0f);
            glEdgeFlag(bEdgeflag);
            glVertex2f(20.0f,0.0f);
            glEdgeFlag(true);
    
            glEdgeFlag(bEdgeflag);
            glVertex2f(-20.0f,0.0f);
            glVertex2f(-20.0f,-40.0f);
            glVertex2f(20.0f,0.0f);
    
            glVertex2f(-20.0f,-40.0f);
            glVertex2f(20.0f,-40.0f);
            glVertex2f(20.0f,0.0f);
            glEdgeFlag(true);
    
        glEnd();
    
        glutSwapBuffers();
    
    }
    
    void ChangeSize(GLsizei w,GLsizei h)
    {
        if(h==0)
            h = 1;
    
        GLfloat aspectRatio = (GLfloat)w/(GLfloat)h;
    
        glViewport(0,0,w,h);
    
        glMatrixMode(GL_PROJECTION);
        glLoadIdentity();
    
        if(w<=h)
            glOrtho(-100,100,-100/aspectRatio,100/aspectRatio,100.0,-100.0);
        else
            glOrtho(-100*aspectRatio,100*aspectRatio,-100,100,100.0,-100.0);
    
        glMatrixMode(GL_MODELVIEW);
        glLoadIdentity();
    
    }
    
    void SetupRC()
    {
        glClearColor(0.0f,0.0f,0.0f,1.0f);
        glColor3f(1.0f,0.0f,0.0f);
    }
    
    int main(int argc, char *argv[])
    {
       glutInit(&argc,argv);
       glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB|GLUT_DEPTH);
       glutInitWindowSize(800,600);
       glutCreateWindow("Simple");
    
       glutDisplayFunc(RenderScene);
       glutReshapeFunc(ChangeSize);
    
       SetupRC();
       glutMainLoop();
       return 0;
    }
    态度决定高度,细节决定成败,
  • 相关阅读:
    System.Net.Http.HttpClient POST 未能创建 SSL/TLS 安全通道
    SQL Server用户权限查询
    IIS 7 Deploy .Net Framework 4.8 Application
    System.Net.Http.HttpClient 模拟登录并抓取弹窗数据
    HtmlAgilityPack Sample
    嵌套 struct & class 的遍历
    SQL循环插入测试数据
    windows文本转语音 通过java 调用python 生成exe可执行文件一条龙
    Centos8 删除了yum.repos.d 下面的文件
    nacos 配置
  • 原文地址:https://www.cnblogs.com/lxk2010012997/p/4199340.html
Copyright © 2020-2023  润新知