DEV-C++安装OpenGL详细教程

news2024/11/7 20:39:45

Dev C++配置OpenGL环境——计算机图形学

一、首先自行下载dev-c++

二、以下过程请认真阅读~

  1. 确保你的C:\Windows\System32C:\Windows\SysWOW64中有上述链接中的.dll文件(即:glut.dll,glut32.dll)
  2. 确保你的~\Dev-CPP\MinGW64\x86_64-w64-mingw32\lib中有上述链接中的.a文件(即:libglu32.a,libglut.a,libglut32.a,libopengl32.a)
  3. 确保你的~\Dev-CPP\MinGW64\x86_64-w64-mingw32\include\GL中由上述链接的.h文件(即:glut.h)
  4. 配置环境变量(若已配置,可直接跳过这一步)
    在cmd窗口中,输入gcc -v检测是否配置过环境变量。
    打开我的电脑->属性->高级系统设置->环境变量.在系统变量里找到path单击编辑,将…\Dev-Cpp\MinGW64\bin添加上去。

显示如下,即配置成功。
在这里插入图片描述
三、新建项目注意事项

  1. 打开dev-c++新建一个OpenGL项目
    在这里插入图片描述
  2. 点击项目找到项目属性进行编辑(Ctrl+H)
    在这里插入图片描述
    PS:红色框部分可直接复制进库
-lglut32
-lglu32
-lopengl32
-lwinmm
-lgdi32

3.最后一步将将编译设置调成32位
在这里插入图片描述
四、 注意头文件的引入

#define GLUT_DISABLE_ATEXIT_HACK
#include<windows.h>
#include<gl/gl.h>
#include<gl/glut.h>
#include <GL/glut.h>
#include "stdio.h"

在这里插入图片描述
头文件如果出现错误可换成大写“GL”一试
the last可用简单代码一试:


```cpp
#define GLUT_DISABLE_ATEXIT_HACK
#include<windows.h>
#include<gl/gl.h>
#include<gl/glut.h>
#include<math.h>
#include <GL/glut.h>


const double PI = acos(-1.0);
void myDisplay()
{
    glClear(GL_COLOR_BUFFER_BIT);
    float R = 0.5f;
    int n = 80;
    glBegin(GL_POLYGON);
    for (int i = 0; i < n; i++)
    {
        glVertex2f(0.5 * R*cos(2 * PI*i / n), R*sin(2 * PI*i / n));
    }
    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;
}

在这里插入图片描述
ending

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/684042.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mybatis源码分析_解析大流程梳理_解析配置文件 (3)

学习mybatis&#xff0c;绕不开一个核心类 Configuration。这个类相当于一个小型数据库&#xff0c;把mybatis里面所有的配置信息基本全部给存储起来了。 package org.apache.ibatis.session;import java.util.Arrays; import java.util.Collection; import java.util.HashMap;…

常见的网络抓包工具推荐

因为发现好多人想抓包&#xff0c;但是不知道有哪些工具&#xff0c;今天我给大家推荐几款抓包工具&#xff0c;希望对大家有所帮助。 网络抓包工具的用途 网络抓包工具的主要功能是将网络执行的过程&#xff0c;详细的记录下来。如果你是一个程序员&#xff0c;肯定对网络抓…

上传视频文件,基于断点续传(整合Minio)

目录 1、什么是断点续传 2、分块文件 3、合并文件 4、 Minio 分布式文件系统整合断点续传 4.1 进行文件分块上传到 Minio 4.2 进行 Minio 中分块文件的合并 5、使用 Minio 进行断点续传的注意事项 相信很多小伙伴在上传下载图片或者视频的时候&#xff0c;突然间&#xff08;…

java多商户商城系统源码下载支持二开

商城系统源码 整套源码开源 支持二次开发&#xff0c;支持PHP商城源码及JAVA商城源码 多端应用&#xff0c;一键部署,满足多场景业务需求 支持商城APP源码、分销商城源码、B2B2C源码、B2B网上商城源码等等 社交电商引流&#xff0c;数十种促销工具&#xff0c;帮助提升店铺成…

ncnn源码阅读(一)----阅读方法和参考教程

〇、ncnn源码阅读的方法和参考教程 目前我的工作涉及推理框架较多&#xff0c;所以就想阅读一些他人的开源框架&#xff0c;来提升自己在语言层面和框架层面的认知。这个过程中发现了一些比较好的教程&#xff0c;我的阅读ncnn源码之旅将参考 嘻嘻嘻大佬。 一、从下载代码开始…

ThreadPoolExecutor的execute方法

方法介绍 execute方法是将任务提交到线程池中的核心方法。线程池的执行流程可以通过execute内部进行的逻辑判断得知。 代码展示与分析 Runnable command。方法体中的参数代表着提交过来的任务。任务不能为null的非空判断。不然就会抛出空指针异常。int c ctl.get();获取ctl的…

【性能测试二】性能测试工具LoadRunner学习一 VUG

目录 &#x1f31f;一、LoadRunner的环境搭建 &#x1f31f;二、介绍LoadRunner &#x1f31f;三、LoadRunner脚本录制&#xff08;重点&#xff09; &#x1f308;1、介绍一个WebTours项目 &#x1f308;2、脚本录制 &#x1f308;3、脚本加强&#xff08;重点&#xff…

【kubernetes系列】Kubernetes中的重要概念(二)

本章节将继续分享关于kubernetes中的一些重要概念。 一、Pod Pod 是 Kubernetes 的最小工作单元。每个 Pod 包含一个或多个容器。Pod 中的容器会作为一个整体被 Master 调度到某个 Node 上运行。(可以把pod想象成豌豆荚&#xff0c;里面的豌豆就是容器&#xff0c;可以有一个或…

浅析电动机综合保护器的工作原理与应用 安科瑞 许敏

摘 要&#xff1a;电动机综合保护器以先进技术为支持&#xff0c;具有非常强大的整机功能&#xff0c;就实际应用效果来说&#xff0c;其测试精度、分辨率较高&#xff0c;具有良好的抗干扰能力&#xff0c;保护动作可靠&#xff0c;能为电动机提供负荷保护、短路保护、断相保…

《面试1v1》MyBatis

&#x1f345; 作者简介&#xff1a;王哥&#xff0c;CSDN2022博客总榜Top100&#x1f3c6;、博客专家&#x1f4aa; &#x1f345; 技术交流&#xff1a;定期更新Java硬核干货&#xff0c;不定期送书活动 &#x1f345; 王哥多年工作总结&#xff1a;Java学习路线总结&#xf…

Redis使用Bitmap实现数据统计

一、概念 什么是二值状态?二值状态就是元素只有0和1这两种情况&#xff0c;比如在签到的场景中只有签到和未签到两种&#xff0c;或者登陆的场景中只有已登录和未登录的情况。 Bitmap 的底层数据结构用的是 String 类型的 SDS 数据结构来保存位数组&#xff0c;Redis 把每个…

2-css-2

一 复合选择器 定义&#xff1a;由两个或多个基础选择器&#xff0c;通过不同的方式组合而成。 作用&#xff1a;更准确、更高效的选择目标元素&#xff08;标签&#xff09;。 1 后代选择器 后代选择器&#xff1a;选中某元素的后代元素。 选择器写法&#xff1a;父选择器…

05_Linux设备树下的LED驱动

目录 设备树LED驱动原理 修改设备树文件 LED灯驱动程序编写 编写测试APP 运行测试 设备树LED驱动原理 驱动文件中定义有关寄存器物理地址,然后使用io_remap函数进行内存映射,得到对应的虚拟地址,最后操作寄存器对应的虚拟地址完成对GPIO的初始化。本实验使用设备树来向 L…

操作系统——Windows 进程管理

一、实验题目 Windows 进程管理 二、实验目的 &#xff08;1&#xff09;学会使用 VC 编写基本的 Win32 Consol Application&#xff08;控制台应用程序)。 &#xff08;2&#xff09;通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作&#xff0c;进一步熟…

UEditorPlus v3.2.0 兼容规则过滤,若干问题修复

UEditor 是由百度开发的所见即所得的开源富文本编辑器&#xff0c;基于 MIT 开源协议&#xff0c;该富文本编辑器帮助不少网站开发者解决富文本编辑器的难点。 UEditorPlus 是有 ModStart 团队基于 UEditor 二次开发的富文本编辑器&#xff0c;主要做了样式的定制&#xff0c;…

绩效管理怎么做?一文带你搞懂绩效管理!

在职场中&#xff0c;我们经常会听到“绩效管理”这个词汇。但是&#xff0c;你是否真正理解绩效管理的含义和意义呢&#xff1f; 现在很多企业的绩效管理都变味了&#xff0c;让员工觉得绩效就是想方设法扣工资、绩效就是控制人的手段、绩效不是激励而是威胁、绩效就是打分游…

41 # 编码的问题

常见的进制 10 进制&#xff1a;除表示正负的符号外&#xff0c;以 1~9 开头&#xff0c;由 0~9 组成。如 128&#xff0c;234&#xff0c;-278。2 进制&#xff1a;以 0b 开头&#xff0c;0b118 进制&#xff1a;以 0 或 0o开头&#xff0c;由 0~7 组成的数。如 0126, 050000…

【Redis】多级缓存之OpenResty:nginx查询Tomcat与Redis以及nginx本地缓存

目录 一、认识OpenResty 二、请求参数处理 三、查询Tomcat 四、Redis缓存预热 五、查询Redis缓存 六、nginx本地缓存 一、认识OpenResty OpenResty是一个基于nginx的高性能Web平台&#xff0c;他用于方便的搭建能够处理高并发、扩展性极高的动态Web应用、Web服务和动态网…

SuperMap GIS基础产品组件GIS FAQ集锦(3)

SuperMap GIS基础产品组件GIS FAQ集锦&#xff08;3&#xff09; 【Unity】Unity中如何将场景内容限制在屏幕中间1/3处&#xff1f; 【解决办法】1、新建两个相机&#xff0c;一个代表左边屏幕&#xff0c;一个代表右边屏幕 2、通过Viewport Rect设置相机显示在屏幕中的位置&a…

南卡OE Pro首销售罄,发烧友称其为开放式耳机旗舰标杆!

6月19日南卡官博放出消息&#xff0c;南卡旗下的开放式旗舰机型OE Pro首销售罄&#xff0c;开启预售&#xff0c;将在24日早上10点整再次现货发售&#xff0c;不难看出这款开放式耳机非常火爆&#xff0c;非常受欢迎&#xff0c;被广大发烧友们誉为开放式耳机的旗舰标杆&#x…