计算机图形学(1):VS配置openGL和画一个简单正方形

news2024/11/15 5:26:23

简单记录一下这门课的学习过程

1.下载并安装VS

直接看这片文章即可
http://t.csdn.cn/auPGf

2.下载OpenGL相关库

已经打包好了
在这里插入图片描述
需要的可以直接下载:
链接:https://pan.baidu.com/s/1Q7XTD4jkRhRBfTW9wYgzGg?pwd=1111
提取码:1111

3.打开VS创建项目

在这里插入图片描述
注意这里不要勾选
在这里插入图片描述

4.复制相关库文件

在这里插入图片描述
将OpenGL的相关库文件即Dependencies复制到刚创建的工程目录下

5.设置OpenGL

右键工程,选择属性
在这里插入图片描述
在链接器中的附加库目录添加Dependencies中的三个文件夹
在这里插入图片描述
即如图
在这里插入图片描述
然后点击输入的附加依赖项
在这里插入图片描述
添加“opengl32.lib; glfw3.lib; glew32.lib;”,即如图所示
在这里插入图片描述
点击确定然后应用即可

6.创建测试文件

右键资源文件->添加->新建项,创建一个cpp文件
在这里插入图片描述
输入如下代码

#include "Dependencies/glew/glew.h"
#include "Dependencies/GLFW/glfw3.h"

int main(void)
{
    GLFWwindow* window;

    /* Initialize the library */
    if (!glfwInit())
        return -1;

    /* Create a windowed mode window and its OpenGL context */
    window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
    if (!window)
    {
        glfwTerminate();
        return -1;
    }

    /* Make the window's context current */
    glfwMakeContextCurrent(window);

    /* Loop until the user closes the window */
    while (!glfwWindowShouldClose(window))
    {
        /* Render here */
        glClear(GL_COLOR_BUFFER_BIT);
        glColor3f(0.0f, 1.0f, 0.0f);
        glRectf(-0.5f, -0.5f, 0.5f, 0.5f);

        /* Swap front and back buffers */
        glfwSwapBuffers(window);

        /* Poll for and process events */
        glfwPollEvents();
    }

    glfwTerminate();
    return 0;
}

点击运行,即可生成一个绿色正方形
在这里插入图片描述

7.最后一步

最后一步是复制glew32.dll到 包含 .exe 项的 Debug 文件夹(供以后教程和作业提交使用)
在这里插入图片描述

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

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

相关文章

触摸屏与模拟量测试终端之间无线MODBUS通信

本方案是昆仑通态触摸屏与4台DTD433FC无线模拟量信号测试终端进行无线 MODBUS 通信的实现方法。本方案中昆仑通态触摸屏作为主站显示各从站的模拟量信号,传感器、DCS、PLC、智能仪表等4个设备作为Modbus从站输出模拟量信号。方案中采用无线模拟量信号测控终端DTD433…

UVM实战--带有寄存器的加法器

一.整体的设计结构图 这里将DUT换成加法器,可以理解为之前UVM加法器加上寄存器,这里总线的功能不做修改,目的看代码的移植那些部分需要修改。 二.各个组件代码详解 2.1 DUT module dut( input clk, input rst_n, input…

【深度学习】softmax和交叉熵的配合求导

在分类问题中,尤其是在神经网络中,交叉熵函数非常常见。因为经常涉及到分类问题,需要计算各类别的概率,所以交叉熵损失函数与sigmoid函数或者softmax函数成对出现。 1.softmax softmax用于多分类过程中&#xff0…

这么简单的 CSS 动效,快来瞧瞧

前言 这几天逛网站浏览网页的时候,看到一个不错的CSS效果,便想来实现一下。整个效果实现起来比较简单,但是并不缺少交互感,因此来分享一下这个CSS效果。 效果展示 HTML 搭建 HTML部分一如既往地简单,认清楚它的布局…

密码传输和存储,如何保证数据安全?

本文从一个输入密码登录场景说起,详细介绍了密码传输过程的改进和思路,最后展现出一个相对安全的传输和存储方案。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达场景在互联网项目中,我们经常会遇到以下…

研报精选230302

目录 【个股230302华西证券_比亚迪】系列点评五十四:迪“王”需求向上 出口“海”阔天空【个股230302华西证券_华利集团】下游去库存背景下承压,毛利率保持稳健【个股230302开源证券_恒顺醋业】公司信息更新报告:四季度业绩承压,期…

运维级医院PACS系统全套源代码

PACS系统源码 运维级医院PACS系统源码,有演示,带使用手册和操作说明书 开发环境:VC MSSQL 文末获取方式! PACS系统可实现检查预约、病人信息登记、计算机阅片、电子报告书写、胶片打印、数据备份等一系列满足影像科室日常工作…

每日统计部门人员考勤打卡情况并汇总通知

在值班时,HR需要及时了解到部分人员的打卡情况。这个时候,可以通过腾讯云HiFlow来实现自动通知考勤打卡情况。实现步骤:Step1:我们进入腾讯云HiFlow官网,进入控制台。我们在触发应用选择【定时启动-每天】触发。这里我…

VSCode下载与安装使用教程【超详细讲解】

目录 一、VSCode介绍 二、官方下载地址 三、VSCode安装 1、点击我同意此协议,点击下一步; 2、点击浏览,选择安装路径,点击下一步; 3、添加到开始菜单,点击下一步; 4、根据需要勾选&#…

开创高质量发展新局面,优炫数据库助推数字中国建设

最新印发《数字中国建设整体布局规划》,建设数字中国是数字时代推进中国式现代化的重要引擎,是构筑国家竞争新优势的有力支撑。 数字中国建设按照“2522”的整体框架进行布局,即夯实数字基础设施和数据资源体系“两大基础”,推进…

Java流Stream实战-常用api案例解析

本文介绍java 8 Stream流的常用高频api,通过实战级别的案例进行演示。实现结合实际业务、开发需要来应用技术,不让技术讲解枯燥无味,带来技术落地成生产力的价值。1. 思考,stream 的多个操作,相当于几个for循环&#x…

resultMap 用法?工作中是怎么实现“多表联查”的?

目录 一、resultMap用法 1.1、使用场景 1.2、用法说明 1.2.1、模拟场景 1.2.2、使用 二、多表联查 2.1、分析 2.2、具体步骤 2.3、总结 一、resultMap用法 1.1、使用场景 字段名称和程序中的属性名不同的情况,可使⽤ resultMap 配置映射;⼀对⼀…

英语好不好,不影响做外贸

对于国际贸易而言,英语到底有多重要?还记得我刚去墨西哥的时候,怕语言不通,我还带了一本《西班牙语入门》的书籍,靠着那本书一边说一边学,刚开始的时候很痛苦的。无法想象一个国家大部分的人都不懂得讲英语…

【已解决】nvidia-smi不显示正在使用GPU的进程

目录1 问题背景2 问题探索3 问题解决4 告别Bug1 问题背景 环境: 远程服务器Ubuntu20.04CUDA 11.6 现象:在日志文件和终端均显示Python脚本已使用了GPU 但是nvidia-smi中的Processes进程无显示 2 问题探索 首先,可以看到 | 0 Tesla V…

Android Handler机制(三) Looper源码分析

一. 简介 我们接上一篇文章:Android Handler机制(二) Handler 实现原理 继续分析Looper Looper 的职责很单一,就是单纯的从 MessageQueue 中取出消息分发给消息对应 的宿主 Handler,因此它的代码不多(400行左右) . Looper 是线程独立的且每个线程只能存在…

MySQL运维知识

1 日志1.1 错误日志1.2 二进制日志查看二进制日志:mysqlbinlog ./binlog.000007purge master logs to binlog.000006reset mastershow variables like %binlog_expire_logs_seconds%默认二进制文件只存放30天,30天后会自动删除。1.3 查询日志1.4 慢查询日…

React(四):事件总线、setState的细节、PureComponent、ref

React(四)一、事件总线二、关于setState的原理1.setState的三种使用方式(1)基本使用(2)传入一个回调(3)第一个参数是对象,第二个参数是回调2.为什么setState要设置成异步…

Android kotlin实战之协程suspend详解与使用

前言 Kotlin 是一门仅在标准库中提供最基本底层 API 以便各种其他库能够利用协程的语言。与许多其他具有类似功能的语言不同,async 与 await 在 Kotlin 中并不是关键字,甚至都不是标准库的一部分。此外,Kotlin 的 挂起函数 概念为异步操作提供…

π型滤波器 计算_π型滤波电路

滤波器在功率和音频电子中常用于滤除不必要的频率。而电路设计中,基于不同应用有着许多不同种类的滤波器,但它们的基本理念都是一致的,那就是移除不必要的信号。所有滤波器都可以被分为两类,有源滤波器和无源滤波器。有源滤波器用…

重新认识 Java 中的内存映射(mmap)

mmap 基础概念 mmap 是一种内存映射文件的方法,即将一个文件映射到进程的地址空间,实现文件磁盘地址和一段进程虚拟地址的映射。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页到对应的文…