
c++学习
Furrain
这个作者很懒,什么都没留下…
展开
-
vulkan笔记_2
vulkan笔记_2 renderpass 在我们完成管线的创建工作之前,我们需要告诉Vulkan渲染时候使用的framebuffer帧缓冲区附件相关信息。我们需要指定多少个颜色和深度缓冲区将会被使用,指定多少个采样器被用到及在整个渲染操作中相关的内容如何处理。所有的这些信息都被封装在一个叫做 render pass 的对象中 先对需要处理的附件进行一个整体的描述,意思大致为,我准备怎么处理这个附件 在Vulkan中,用具有特定像素格式的VkImage 表示纹理(texture)和FrameBuffe原创 2020-12-15 01:47:45 · 431 阅读 · 0 评论 -
opengl学习6坐标变换
数学 矩阵 不多说 看https://learnopengl-cn.readthedocs.io/zh/latest/01%20Getting%20started/07%20Transformations/原创 2020-05-03 21:57:32 · 192 阅读 · 0 评论 -
opengl学习5纹理
坐标类似这样 GLfloat vertices[] = { // ---- 位置 ---- ---- 颜色 ---- - 纹理坐标 - 0.5f, 0.5f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, // 右上 0.5f, -0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, ...原创 2020-05-03 21:00:52 · 232 阅读 · 0 评论 -
opengl学习4 编译着色器
顶点着色器编译 1.创建一个着色器对象,注意还是用ID来引用的 GLuint vertexShader; vertexShader = glCreateShader(GL_VERTEX_SHADER); 2.下一步我们把这个着色器源码附加到着色器对象上,然后编译它: glShaderSource(vertexShader, 1, &vertexShaderSource, NULL); g...原创 2020-05-03 10:37:47 · 967 阅读 · 0 评论 -
opengl学习3 VAO VBO EBO
https://blog.youkuaiyun.com/dcrmg/article/details/53556664转载 2020-05-03 10:22:31 · 249 阅读 · 0 评论 -
opengl学习2
着色器 一般编程是顶点着色器。片段着色器。然后把这两个链接一下。 可以写成一个着色器类 #ifndef SHADER_H #define SHADER_H #include <string> #include <fstream> #include <sstream> #include <iostream> #include <GL/glew....原创 2020-05-02 18:30:54 · 435 阅读 · 0 评论 -
opengl学习1
https://learnopengl-cn.readthedocs.io/zh/latest/01%20Getting%20started/02%20Creating%20a%20window/ 学习创建一个窗口时出现的问题: 使用glew的动态库时,如果写了glewExperimental = GL_TRUE;会报错 error LNK2001: 无法解析的外部符号 glewExperimen...原创 2020-05-02 04:10:47 · 279 阅读 · 0 评论 -
glut和glfw
简单记录: glew(The OpenGL Extension Wrangler Library)是对底层OpenGL接口的封装,可以让你的代码跨平台。 glad与glew作用相同,可以看作它的升级版。 Freeglut(OpenGL Utility Toolkit)主要用于创建OpenGL上下文、接收一些鼠标键盘事件等等。glfw(Graphics Library Framework)是Free...原创 2020-05-02 02:21:24 · 2051 阅读 · 0 评论 -
C++/Qt 单例模式
C++/Qt 单例模式 传统的C++单例 https://blog.youkuaiyun.com/zhanghuaichao/article/details/79459130 但是在Qt的使用过程中,有一次发生过关闭程序时,内存已经被析构了,然后重复析构报错的问题。很奇怪的错误。 #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWind...原创 2019-11-03 11:58:27 · 448 阅读 · 0 评论 -
C++11 回调函数
在最新的C++11中,引入了std::function和std::bind,让我们更方便使用回调函数(这样回调函数就不必是static的了) 一 声明指针函数,模板类 Common.h #include <functional> //一定要 typedef std::function<void(int)> Fun; 这个功能是与 typedef void(*Callba...原创 2019-10-25 01:37:49 · 1814 阅读 · 0 评论 -
C++ 回调函数
一: //声明函数指针,定义一个回调函数的模板,在一个头文件中,比如从common.h typedef void(*CallbackFun)(int a); 很简单,一个void类型的函数,入参是一个int型的整数 二: A 类 A.h #ifndef A_H #define A_H #include "common.h" // 这个是回调的执行函数 ,在这边会调用B的方法 class A ...原创 2019-10-25 00:20:04 · 362 阅读 · 0 评论 -
C++ Post上传文件到Django
C++ Post上传文件到Django Django Api: def uploadfile(request): if request.method == "POST": # 请求方法为POST时,进行处理 myFile = request.FILES.get("myfile", None) # 获取上传的文件,如果没有文件,则默认为None if no...原创 2019-09-29 12:17:50 · 1438 阅读 · 0 评论 -
c++学习之路
1.2节练习练习1.3编写程序,在标准输出上打印Hello,World..练习1.4编写程序使用*运算符,输出两个数的乘积.练习1.5长的输出打印转成段的输出打印练习1.6解释下列程序段是否合法 练习1.3 编写程序,在标准输出上打印Hello,World… 略. 练习1.4 编写程序使用*运算符,输出两个数的乘积. 略. 练习1.5 长的输出打印转成段的输出打印 略. 练习1.6 解释下列程序段...原创 2019-03-16 19:31:53 · 214 阅读 · 0 评论