Modern OpenGL – 与着色器Shader相关的API函数总结以及如何创建、编译与使用Shader
1 OpenGL着色器Shader的创建、编译与使用 1.1 使用Shader的大致过程 在OpenGL中,如果在程序中需要使用Shader为基础图元进行着色,首先需要创建一个Shader对象,然后创建一个着色器程序关联当前Shader,然后再进行使用。 对于每一个Shader对象,都需要: 创建一…
- OpenGL可编程渲染管线
- 2022-06-08
TortoiseGit – 本地仓库更改远程仓库URL
1 更改远程仓库地址 如果远程仓库进行了服务器迁移,那么本地的git仓库就会需要修改远程仓库的地址。 在需要更改远程仓库地址的本地仓库右键弹出菜单,TortoiseGit-设置进入设置页面 在设置页面点击Git-远端,在右侧选择origin,在URL中修改仓库地址,然后点击应用即可 应用完成之后,在…
- TortoiseGit
- 2022-06-07
C++ – 随机洗牌算法,std::random_shuffle和std::shuffle
1 std::random_shuffle和std::shuffle std::random_shuffle和std::shuffle处于头文件#include<algorithm>中。 std::random_shuffle和std::shuffle都用于对给定容器范围内的元素重新进行…
- C++
- 2022-06-06
WordPress – 防止用户在登录页面重复点击登录按钮造成重复登录
1 WordPress防止用户在登录页面重复点击登录按钮 因为在之前在用户登录钩子wp_login中增加了当用户登录时会发送通知邮件给我,这就造成了登录时会发送邮件,最终导致登录的时间的比较长。有些用户在点击登录按钮之后因为长时间没有登录成功,误以为没有点击到登录按钮,所以会重复点击登录按钮造成重复…
- WordPress
- 2022-06-05
资源分享 – Vulkan应用开发指南 , Vulkan Programming Guide – The Official Guide to Learning Vulkan 中文PDF下载
1 Vulkan应用开发指南 , Vulkan Programming Guide - The Official Guide to Learning Vulkan 中文PDF下载 1.1 书籍简介 下一代OpenGL规范已经重新进行了设计,从而使得应用程序可以直接控制GPU的加速。本书系统地介绍下一…
- 计算几何与计算机图形学资源
- 2022-06-03
OpenCV/FFmpeg – 使用FFmpeg编码OpenCV中的BGR视频流为H264视频流以及解码H264视频流为OpenCV中的BGR视频流
1 将Opencv中的BGR视频流使用FFmpge编码为H264视频流 本文主要介绍如何将OpenCV从视频文件或者摄像头读取的BGR视频流通过FFmpeg编码为H264视频流,并将编码的H264视频流再解码为OpenCV的BGR视频流。 本文将上述需求封装为两个类,一个为OpenCVH264Enc…
- FFmpeg
- 2022-06-02
计算机图形学 – Flat Shading、Gouraud Shading、Phong Shading的区别
1 Flat Shading、Gouraud Shading、Phong Shading的区别 从下图可以看出Flat Shading、Gouraud Shading、Phong Shading三种着色模型的区别,其中a为Flat Shading,b为Gouraud Shading,c为Phong …
- 计算机图形学
- 2022-06-01
C++ – 在两个互有依赖关系的类中使用std::shared_ptr和std::weak_ptr进行内存管理
1 C++关于使用std::shared_ptr和std::weak_ptr在两个互有依赖关系的类中的设计 先说一下需求场景,比如我现在需要写一个图形学渲染器,一个渲染器中可能包含多个渲染场景Scene类,每个Scene类又包含了多个需要渲染的模型Actor类,现在我在每个Scene里面通过维护一个…
- C++
- 2022-05-31
C++ – 使用模板和智能指针构建一个双向链表工具类
1 C++使用模板和智能指针构建一个双向链表工具类 本文使用模板和智能指针构建一个双向链表工具模板类DoubleLinkedList<T>,在链表的节点Node内部使用T用于接受模板参数,当前节点的上一个节点使用std::shared_ptr,为防止节点与节点之间的std::shared…
- C++
- 2022-05-31
WordPress – 用户修改密码/邮箱时禁止向管理员/用户发送通知邮件
1 用户修改密码/邮箱时禁止向管理员/用户发送通知邮件 WordPress中,如果用户自己或者是管理员修改了用户的密码/邮箱都会向管理员和用户各发送一封密码被修改的邮件,最离谱的事情是,用户初次注册完成之后由于新设置了密码也同样会给用户发送密码被修改的邮件,导致用户觉得我刚注册完你就暗自把我密码修改…
- WordPress
- 2022-05-31
C++ – 使用std::chrono获取当前秒级/毫秒级/微秒级/纳秒级时间戳
1 使用std::chrono获取当前秒级/毫秒级/微秒级/纳秒级时间戳 1.1 当前时间戳获取方法 先使用std::chrono获取当前系统时间,然后将当前系统时间转换为纪元时间std::time_t类型,之后使用std::localtime对std::time_t类型转换为本地时间结构体std:…
- C++
- 2022-05-27
C++ – 动态链接库dll为什么要使用unsigned char作为byte的内部格式
1 dll为什么要使用unsigned char*作为byte字节数组的内部格式 byte指的是字节,一个字节是8位2进制。 char型占内存也是一个字节,实质上是一个字节长度的有符号整型数,最高位是符号位,另7位是数据位,表示数值-128到127。 而unsigned char没有符号位,因此能表…
- C++
- 2022-05-25
最新评论