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

OpenGL学习入门及开发环境搭建

        最近学习OpenGL开发,被各种openGL库搞得晕头转向,什么glut, glew glfw glad等等。

可以参考这边博客:OpenGL 下面的 glut freeglut glfw 都是个啥_glx wgl的中文-CSDN博客

glfw是glut的升级版,跨平台的主要处理窗口 事件相关。

glad是glew的升级版,主要用来管理gl各版本系统api加载以及扩展等。

现在开始搭建OpenGL开发环境其实只需要下载glfw就行了,可以看到里面例子自带了glad单头文件版。

glfw下载地址:Download | GLFW

glfw源码:glfw/glfw: A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input (github.com)
 

也可以去glad官网定制生成自己的版本,官网地址是:  http://glad.sh

glad有1.x版本 和 2.x版本,我们使用最新的2.x版本。

下载完glfw直接用里面自带的glad就可以搭建我们的开发环境了

开发时我们自己的程序总会启动控制台窗口,怎样关闭控制台窗口呢,可在visualstudion

编译器系统设置为窗口,不显示控制台窗口 连接器->高级->入口点设置为mainCRTStartup,否则

报链接错误WinMain符号。同时// 宏定义_CONSOLE 改为_WINDOWS。另外可修改main函数

带参数

//int main() //控制台入口,显示控制台窗口
//int main(int argc, char** argv) 

相关文章:

OpenGL学习入门及开发环境搭建

最近学习OpenGL开发,被各种openGL库搞得晕头转向,什么glut, glew glfw glad等等。 可以参考这边博客:OpenGL 下面的 glut freeglut glfw 都是个啥_glx wgl的中文-CSDN博客 glfw是glut的升级版,跨平台的主要处理窗口 事件相关。 glad是glew…...

three.js能实现啥效果?看过来,这里都是它的菜(08)

在Three.js中实现旋转动画的原理是通过修改对象的旋转属性来实现的,通常使用渲染循环(render loop)来更新对象的旋转状态,从而实现动画效果。 具体的原理包括以下几个步骤: 创建对象:首先创建一个需要旋转…...

SpringBoot(九)之整合mybatis

SpringBoot(九)之整合mybatis 文章目录 SpringBoot(九)之整合mybatisSpring整合mybatis回顾1. 引入依赖2. mybatis-config.xml SpringBoot整合mybatis1.引入依赖2. 配置数据源和 MyBatis 属性3. 配置 Mapper 接口4. 配置mapper.xm…...

【实战教程】使用Spring AOP和自定义注解监控接口调用

一、背景 随着项目的长期运行和迭代,积累的功能日益繁多,但并非所有功能都能得到用户的频繁使用或实际上根本无人问津。 为了提高系统性能和代码质量,我们往往需要对那些不常用的功能进行下线处理。 那么,该下线哪些功能呢&…...

算法学习之:Raft-分布式一致性/共识算法

基础介绍 Raft是什么? Raft is a consensus algorithm that is designed to be easy to understand. Its equivalent to Paxos in fault-tolerance and performance. The difference is that its decomposed into relatively independent subproblems, and it clea…...

彩色进度条(C语言版本)

.h文件 #include<stdio.h> #include<windows.h>#define NUM 101 #define LOAD_UP 50 #define LOAD_DOWN 60 #define SLEEP_SLOW 300 #define SLEEP_FAST 70 版本1&#xff1a;&#xff08;初始版&#xff09; //v1 #include "progress.h" int main() …...

C#和C++有什么区别?

C#和C都是广泛使用的编程语言&#xff0c;但它们在设计理念、应用场景和语法上有许多显著的区别。以下是一些关键区别的详细介绍&#xff1a; 1. 设计理念和目的 C&#xff1a; 设计目的&#xff1a;C是一种面向系统编程和应用程序开发的语言&#xff0c;具有高效性和灵活性…...

微信小程序报错:notifyBLECharacteristicValueChange:fail:nodescriptor的解决办法

文章目录 一、发现问题二、分析问题二、解决问题 一、发现问题 微信小程序报错&#xff1a;notifyBLECharacteristicValueChange:fail:nodescriptor 二、分析问题 这个提示有点问题&#xff0c;应该是该Characteristic的Descriptor有问题&#xff0c;而不能说nodescriptor。 …...

富格林:可信攻略阻止遭遇欺诈

富格林悉知&#xff0c;在投资市场中&#xff0c;如何阻止遭遇欺诈情况应该是每位投资者都想要了解的一个知识点。事实上&#xff0c;现货黄金市场相对来说会其他市场复杂多变&#xff0c;因此要想盈利出金还是得要先学会阻止遭遇欺诈情况。据富格林所知&#xff0c;目前市面上…...

搭建淘宝扭蛋机小程序:技术选型与最佳实践

随着移动互联网的快速发展&#xff0c;小程序作为一种轻量级应用&#xff0c;以其无需安装、即用即走的特点&#xff0c;受到了广大用户的喜爱。在电商领域&#xff0c;淘宝作为国内最大的电商平台之一&#xff0c;也积极拥抱小程序技术&#xff0c;为用户提供更加便捷、个性化…...

【线性回归】梯度下降

文章目录 [toc]数据数据集实际值估计值 梯度下降算法估计误差代价函数学习率参数更新 Python实现导包数据预处理迭代过程结果可视化完整代码 结果可视化线性拟合结果代价变化 数据 数据集 ( x ( i ) , y ( i ) ) , i 1 , 2 , ⋯ , m \left(x^{(i)} , y^{(i)}\right) , i 1 ,…...

GMSL图像采集卡,适用于无人车、自动驾驶、自主机器、数据采集等场景,支持定制

基于各种 系列二代 G MS L 图像采集卡&#xff08;以下简称 二代图像采集卡&#xff09;是一款自主研发的一款基于 F P G A 的高速图像产品&#xff0c;二代图像采集卡相比一代卡&#xff0c;由于采用PCIe G en 3 技术&#xff0c;速度和带宽都相应的有了成 倍的提高。该图像…...

docker不删除容器更改其挂载目录

场景&#xff1a;docker搭建的jenkins通常需要配置很多开发环境&#xff0c;当要更换挂载目录&#xff0c;每次都需要删除容器重新运行&#xff0c;不在挂载目录的环境通常不会保留。 先给一个参考博客docker不删除容器&#xff0c;修改容器挂载或其他_jenkins 修改容器挂载do…...

K8s Service 背后是怎么工作的?

kube-proxy 是 Kubernetes 集群中负责服务发现和负载均衡的组件之一。它是一个网络代理&#xff0c;运行在每个节点上, 用于 service 资源的负载均衡。它有两种模式&#xff1a;iptables 和 ipvs。 iptables iptables 是 Linux 系统中的一个用户空间实用程序&#xff0c;用于…...

ClickHouse配置与使用

静态IP配置 # 修改网卡配置文件 vim /etc/sysconfig/network-scripts/ifcfg-ens33# 修改文件内容 TYPEEthernet PROXY_METHODnone BROWSER_ONLYno BOOTPROTOstatic IPADDR192.168.18.128 NETMASK255.255.255.0 GATEWAY192.168.18.2 DEFROUTEyes IPV4_FAILURE_FATALno IPV6INIT…...

将某一个 DIV 块全屏展示

文章目录 需求分析 需求 上节我们研究了如何将页面中的指定 div 下载为图片&#xff1a;跳转查看 本节演技一下如何将 DIV 全屏展示 全屏展示某一个 DIV 分析 其实就是模拟键盘动作 F11 var element document.getElementById(pic) var requestMethod element.requestFullS…...

K8S集群再搭建

前述&#xff1a;总体是非常简单的&#xff0c;就是过程繁琐&#xff0c;不过都是些重复的操作 master成员: [controller-manager, scheduler, api-server, etcd, proxy,kubelet] node成员: [kubelet, proxy] master要修改的配置文件有 1. vi /etc/etcd/etcd.conf # 数…...

工具-博客搭建

以下相关讲解均基于hexo github pages方案&#xff0c;请注意&#xff01;&#xff01;&#xff01;博客搭建方案选择 参考文章1 搭建教程 参考文章1 hexo github pages搭建过程中遇到的问题 删除categories、tags 1、删除含有需要删除categories、tags的文章 2、hexo …...

贪心算法:合并区间

参考资料&#xff1a;代码随想录 题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 做过用最少数量的箭引爆气球和无重叠区间这两道题目后&#xff0c;题意和题解都不难理解。唯一的一点儿难点是对于api的运用。 class Solution {public int[][] merge(int[][…...

DFA 算法

为什么要学习这个算法 前一段时间遇到了瓶颈&#xff0c;因为词库太多了导致会有一些速度过慢&#xff0c;而且一个正则表达式已经放不下了&#xff0c;需要进行拆分正则才可以。 正好我以前看过有关 dfa 的介绍&#xff0c;但是并没有深入的进行研究&#xff0c;所以就趁着周…...

解密市场结构:Chanlun-Pro 如何将缠论理论转化为智能交易引擎

解密市场结构&#xff1a;Chanlun-Pro 如何将缠论理论转化为智能交易引擎 【免费下载链接】chanlun-pro 基于缠中说禅所讲缠论理论&#xff0c;以便量化分析市场行情的工具 项目地址: https://gitcode.com/gh_mirrors/ch/chanlun-pro 在瞬息万变的金融市场中&#xff0c…...

Tiger框架深度剖析:从依赖注入到组件管理的完整指南

Tiger框架深度剖析&#xff1a;从依赖注入到组件管理的完整指南 【免费下载链接】tiger 项目地址: https://gitcode.com/gh_mirrors/ti/tiger Tiger框架是一个基于Java的依赖注入框架&#xff0c;专为Android和Java应用设计&#xff0c;提供了一套完整的组件管理解决方…...

7. 线程编程(线程概念和创建)

线程的创建 #include <pthread.h> int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*routine)(void *), void *arg); 成功返回0&#xff0c;失败时返回错误码 thread 线程对象 attr 线程属性&#xff0c;NULL代表默认属性 routine 线程执行…...

免费开源神器:SMUDebugTool让你轻松掌控AMD Ryzen处理器的秘密

免费开源神器&#xff1a;SMUDebugTool让你轻松掌控AMD Ryzen处理器的秘密 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: ht…...

前端html字体包体积压缩,网站工程下字体压缩裁剪工具

整个网站项目如果字体包体积太大就会影响其加载速度&#xff0c;字体加载完会让页面字体突然变换。做一个工具他会自动检索网站上所有展现给用户的字符&#xff0c;然后原地裁剪字体。来解决这个问题。实现效果如下&#xff1a; 执行py文件以后&#xff0c;在网站字体文件所在目…...

企业内如何通过 Taotoken 实现 API 密钥的集中管理与访问审计

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 企业内如何通过 Taotoken 实现 API 密钥的集中管理与访问审计 在将大模型能力引入企业内部的业务流或开发流程时&#xff0c;一个常…...

5-8倍加速:ncnn 3×3卷积模块

5-8倍加速&#xff1a;ncnn 33矩阵卷积模块 我把腾讯ncnn的33卷积从手工循环替换成了自己的算法&#xff08;Im2Col GEMM&#xff09;&#xff0c;实测加速5到8倍。 适用于大通道数&#xff08;inch≥16, outch≥32&#xff09;、大分辨率特征图、服务端推理场景。小通道建议…...

Linux网络编程核心:Socket、字节序与TCP/UDP实战解析

1. 从零开始理解 Linux 网络编程&#xff1a;Socket、字节序与地址转换如果你刚开始接触 Linux 下的网络编程&#xff0c;看到一堆socket、bind、connect、htonl之类的函数&#xff0c;还有sockaddr_in这种结构体&#xff0c;可能会觉得头大。别担心&#xff0c;这种感觉我十几…...

线上服务卡顿?从一次ES写入超时故障,复盘我是如何调整`refresh_interval`和`translog`参数的

线上服务卡顿&#xff1f;一次Elasticsearch写入超时故障的深度调优实战 凌晨三点&#xff0c;监控系统突然告警——核心服务的API响应时间突破5秒阈值。快速排查发现&#xff0c;所有慢请求都卡在了日志写入环节。作为运维负责人&#xff0c;我立即意识到这又是一次Elasticsea…...

质谱仪核心部件与色谱联用技术全解析:从原理到实战应用

1. 质谱分析&#xff1a;从“称重”分子到解码物质世界在化学、生物、医药乃至环境科学领域&#xff0c;我们常常需要回答一个看似简单却至关重要的问题&#xff1a;这个东西到底是什么&#xff1f;它由什么组成&#xff1f;含量有多少&#xff1f;面对一瓶成分不明的液体、一块…...