本章前言:本章讲如何利用VS和QT来创建一个基本的QOpenGLWidget窗口和有关联的三个核心函数,因为版本更新可能会有大同小异,但基本的不会有变换,有了QT的帮助,我们不需要下载opengL.glsl.cmake只需要下载一个qt和使之跟vs链接的小插件即可,注意在下载qt的时候,记得按照opengl模块(虽然这个模块免费了,但是qt官网并没有默认放入核心三模块中). 作者:本教程是我基于github上著名的learnopengl教学https://learnopengl-cn.githu…
一.非真实的世界 与之前几篇文章不同的是,这里要画12个三角形,这个12个三角形构造一个方形棱柱(这里为长方体).棱柱的每个四边形表面由两个三角形组成.这两个三角形其中的一条边重合,而且它们的六个顶点的颜色相同,因此每个四边形表面都有唯一的颜色.下面的顶点着色器我们已经非常熟悉,它传递颜色到片段着色器,定义了一个uniform的二维向量offset,该变量用来改变顶点位置的x和y坐标值. ? 1 2 3 4 5 6 7 8 9 10 11 12 const std::string strVert…
本节是OpenGL学习的第三个课时,下面介绍如何运用显示窗体的视口和裁剪区域:     (1)知识点引入:     1)问题现象: 当在窗体中绘制图形后,拉伸窗体图形形状会发生变化: #include <GL/glut.h> #include <math.h> const float Pi = 3.1415926f; ; const float R = 0.8f; void init(void) { glClearColor(0.0,0.0,0.0,0.0);//设背景色为黑色 g…
在Qt Designer中定义了两个窗口,一个主窗口一个弹出窗口,需要实现在主窗口点击一个按钮时弹出弹出窗口. 经老猿验证: 1.弹窗的窗口类型无特殊要求,只要是QWidget等窗口部件就可以,也可以弹出与主窗口类型完全相同的窗口: 2.窗口最好为基于应用的模态窗口,否则交互时窗口随意切容易出错. 实现时注意: 主窗口的槽函数不能直接使用局部变量创建弹出窗口,否则槽函数结束局部变量会结束生命周期导致弹出窗口消失,可以使用成员变量或应用变量. 示例代码: def popWin(self): sel…
// Include standard headers #include <stdio.h> #include <stdlib.h> // Include GLEW #include <GL/glew.h> // Include GLFW #include <glfw3.h> GLFWwindow* window; // Include GLM #include <glm/glm.hpp> using namespace glm; int mai…
参考资料: 控制台下类的形式创建:http://www.cnblogs.com/podolski/p/7406628.html 总结: 一.控制台下类的形式创建 1.新建控制台应用 2.连网执行Nuget命令安装opentk,安装命令:Install-Package OpenTK -Version 3.0.1 或下载本人已经下载好的dll本地引用,下载地址见文末. 注:Nuget命令安装opentk方法自行百度,很多类似教程. 3.创建新类Game,继承GameWindow,并在新类Game中添…
参考资料: https://www.codeproject.com/Articles/1167212/OpenGL-with-OpenTK-in-Csharp-Part-Initialize-the-G 总结: 1.新建winform窗体程序.删除初始Form1.cs初始窗体. 2.连网执行Nuget命令安装opentk,安装命令:Install-Package OpenTK -Version 3.0.1 或下载本人已经下载好的dll本地引用,下载地址见文末. 注:Nuget命令安装opentk…
参考资料: https://social.msdn.microsoft.com/Forums/zh-TW/1b781685-c670-4338-953d-1957a8f24a66/opentkglcontrol?forum=232 总结: 注意:OpenTK.GLControl.dll不能直接用Nuget命令在线安装,需要本地引用OpenTK.GLControl.dll(放于Debug目录下),工具箱加载OpenTK.GLControl.dll. 具体方法请自行百度. 资料下载地址:链接:htt…
strncat()函数,用于两个字符串的拼接. (1)函数原型 char * strncat(char * Dest,const char * Source,size_t _Count)` (2)头文件 string.h (3)功能 将const char * Source所指代的字符串,拼接到char *Dest后面.根据size_t _Count 的值确定拼接char *Dest所指向的字符的最大个数 (4)基础实例代码 char a[30]="zobol\0"; char b[1…
老猿Python博文目录 老猿Python博客地址 PyQt学习随笔 PyQt(Python+Qt)帮助文档官网及文档下载 PyQt(Python+Qt)学习随笔:PyQt帮助文档导入assistant后离线查阅 随笔分类: 第一部分 Qt Designer控件属性 第二部分 事件捕获方法 第三部分 Model/View相关知识 第四部分 其它 第一部分 Qt Designer控件属性: 控件汇总属性介绍: PyQt(Python+Qt)入门学习:Qt Designer可视化设计界面组件与QWi…