
OpenGL
文章平均质量分 51
cmake.EXE
乱写一通作为记录,勿关注
展开
-
OpenGL 用填充的方式绘制线宽
https://stackoverflow.com/questions/60440682/drawing-a-line-in-modern-opengl转载 2022-10-22 23:13:03 · 534 阅读 · 0 评论 -
OpenGL 绘制点划线
OpenGL 绘制点划线。原创 2022-10-05 22:00:24 · 622 阅读 · 0 评论 -
OpenGL 挑选模式 gluPickMatrix
模型:在AutoCAD中绘制一个 400x400大小的方框,并分别绘制红绿蓝三个矩形以及一根黄色线且三个矩形有重叠的地方实现鼠标进行点击的时候,打印出四个图元中命中的图元ID思路:将OpenGL环境初始化后,进行图形绘制与显示,当鼠标点击的时候,进入GL_SELECT选择模式,并将鼠标点的区域设置为10X1原创 2014-09-28 17:07:14 · 5165 阅读 · 7 评论 -
Ubuntu openGL环境搭建
Linux上的OpenGL开发环境搭建:在Linux下你需要链接libGL.so库文件,这需要添加-lGL到你的链接器设置中。如果找不到这个库你可能需要安装Mesa (sudo apt install mesa-utils)对于用GCC编译的Linux用户建议使用这个命令行选项-lglfw3 -lGL -lX11 -lpthread -lXrandr -lXi -ldl。没有正确链接相应的库会产生 undefined reference (未定义的引用) 这个错误。查看OpoenGL版本:glxin原创 2022-05-07 11:16:06 · 2229 阅读 · 0 评论 -
海量线段求交点
一万条边,求得共二百八十多万个交点,共耗时0.478秒原创 2021-11-15 17:49:03 · 524 阅读 · 1 评论 -
OpenGL-- Shader 颜色 光照 4 光照贴图 柔光射灯
光照越远,衰减越厉害 衰减算法: 常数项通常是1.0,它的作用是保证分母永远不会比1小,因为它可以利用一定的距离增加亮度,这个结果不会影响到我们所寻找的。 一次项用于与距离值相乘,这会以线性的方式减少亮度。 二次项用于与距离的平方相乘,为光源设置一个亮度的二次递减。二次项在距离比较近的时候相比一次项会比一次项更小,但是当距离更远的时候比一次项更大。柔光算法: 内圆亮度都是一样 内圆到外圆原创 2017-05-25 01:01:12 · 2650 阅读 · 0 评论 -
Qt OpenGL 天空盒
AuthorThis is the work of Emil Persson, aka Humus. http://www.humus.nameLicenseThis work is licensed under a Creative Commons Attribution 3.0 Unported License. http://creativecommons.org/licenses/by/翻译 2017-06-17 23:37:06 · 2183 阅读 · 1 评论 -
OpenGL-- Shader 颜色 光照 5 多光源
OGLMultipleLights-OpenGL-- Shader 颜色 光照 5 多光源原创 2017-06-02 00:09:25 · 1606 阅读 · 0 评论 -
shader内置变量和函数
shader内置变量和函数(转)转载 2017-06-12 09:55:42 · 783 阅读 · 0 评论 -
OpenGL -- DDS 加载
使用: loadDDS(“uvmap.DDS”);实现:#define FOURCC_DXT1 0x31545844 // Equivalent to "DXT1" in ASCII#define FOURCC_DXT3 0x33545844 // Equivalent to "DXT3" in ASCII#define FOURCC_DXT5 0x35545844 // Equivale翻译 2017-08-04 10:22:22 · 1535 阅读 · 1 评论 -
OpenGL -- OBJ 模型加载
使用: // Read our .obj file std::vector vertices; std::vector uvs; std::vector normals; bool res = loadOBJ(“suzanne.obj”, vertices, uvs, normals);实现:#include <vector>#include <stdio.h>#include <st翻译 2017-08-04 10:43:25 · 1009 阅读 · 0 评论 -
OpenGL -- BMP加载
使用: GLuint NormalTexture = loadBMP_custom(“normal.bmp”);实现:#include <stdio.h>#include <stdlib.h>#include <string.h>#include <GL/glew.h>#include <glfw3.h>GLuint loadBMP_custom(const char * imagepath翻译 2017-08-04 10:23:41 · 656 阅读 · 0 评论 -
OpenGL视角LooAt及Perspective理解
在: http://blog.youkuaiyun.com/yulinxx/article/details/59538755 的基础上,修改 main.cpp理解 glm::perspective 和 glm::lookAtvoid gluLookAt(GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ, GLdouble原创 2017-09-13 01:26:30 · 9985 阅读 · 0 评论 -
OpenGL 图元重启
在 http://blog.youkuaiyun.com/yulinxx/article/details/77894764 基础上添加参考: 1 OpenGL ES 3.0: 图元重启(Primitive restart) - 皮斯卡略夫 - 博客园 作者:psklf 出处: http://www.cnblogs.com/psklf/p/5750783.html2 OpenGL Separati原创 2017-09-08 16:47:24 · 1839 阅读 · 0 评论 -
OpenGL 顶点索引 绘制
在: http://blog.youkuaiyun.com/yulinxx/article/details/59538755 的基础上,添加以 顶点索引 方式进行绘制main.cpp 如下:#define GLEW_STATIC#include <GL/glew.h>#include <GLFW/glfw3.h>#include <glm/glm.hpp>#include <glm/gtc/matri原创 2017-09-08 14:52:08 · 2329 阅读 · 0 评论 -
OpenGL 射线选择中射线的生成过程,代码与图示参考
Mouse Picking with Ray Casting在射线选择中,坐标的转换原理: http://antongerdelan.net/opengl/raycasting.html参考: http://blog.youkuaiyun.com/wind_hzx/article/details/40016619构建的视图代码//glm::vec3 cameraPos = glm::vec3(0.0f, 0原创 2017-09-19 01:05:46 · 1598 阅读 · 0 评论 -
bullet3 物理引擎 初识之 App_HelloWorld
/*Bullet Continuous Collision Detection and Physics LibraryCopyright (c) 2003-2007 Erwin Coumans http://continuousphysics.com/Bullet/This software is provided 'as-is', without any express or impl...翻译 2018-06-08 15:48:58 · 4117 阅读 · 0 评论 -
OpenGL基础 通过矩阵操作,将图像进行移动旋转
main.cpp#define STB_IMAGE_IMPLEMENTATION#include <glad/glad.h>#include <glad/glad.c>#include <GLFW/glfw3.h>#include <stb_image.h>#include <iostream>#include "s...原创 2018-07-09 17:30:15 · 1650 阅读 · 0 评论 -
OpenGL-- Shader 多个纹理 变换
源码参考:http://learnopengl-cn.readthedocs.io/zh/latest/01%20Getting%20started/08%20Coordinate%20Systems/原创 2016-12-13 19:02:08 · 6318 阅读 · 0 评论 -
OpenGL-- Shader 颜色 光照 3 光照贴图 LightMap
光照贴图原理: 用一个图进行纹理贴图,另一张图用于纹理采样进行镜面光照计算原创 2017-05-25 00:52:16 · 1803 阅读 · 0 评论 -
OpenGL FrameBufferObject 基础 (1)
参考:http://learnopengl-cn.readthedocs.io/zh/latest/04%20Advanced%20OpenGL/05%20Framebuffers/***************************************************************************************原创 2016-12-23 00:59:57 · 1236 阅读 · 0 评论 -
OpenGL 实例化 初探 之 实例化绘制行星带
http://learnopengl-cn.readthedocs.io/zh/latest/04%20Advanced%20OpenGL/10%20Instancing/http://blog.youkuaiyun.com/wangdingqiaoit/article/details/52733351main.cpp// 引入GLEW库 定义静态链接#define GLEW_STATIC#include原创 2016-12-30 15:46:42 · 1544 阅读 · 0 评论 -
OpenGL 实例化 初探 之 非实例化绘制行星带
http://learnopengl-cn.readthedocs.io/zh/latest/04%20Advanced%20OpenGL/10%20Instancing/http://blog.youkuaiyun.com/wangdingqiaoit/article/details/52733351main.cpp// 引入GLEW库 定义静态链接#define GLEW_STATIC#include <原创 2016-12-29 18:24:03 · 1095 阅读 · 0 评论 -
OpenGL 实例化 初探
http://learnopengl-cn.readthedocs.io/zh/latest/04%20Advanced%20OpenGL/10%20Instancing/假如你有一个有许多模型的场景,而这些模型的顶点数据都一样,只是进行了不同的世界空间的变换。想象一下,有一个场景中充满了草叶:每根草都是几个三角形组成的。你可能需要绘制很多的草叶,最终一次渲染循环中就肯能有成千上万个草需要绘制了。因原创 2016-12-29 15:30:53 · 1525 阅读 · 0 评论 -
OpenGL 几何着色器 Geometry Shader 初探
在顶点和片段着色器之间有一个可选的着色器,叫做几何着色器(Geometry Shader)。几何着色器以一个或多个表示为一个单独基本图形(primitive)的顶点作为输入,比如可以是一个点或者三角形。几何着色器在将这些顶点发送到下一个着色阶段之前,可以将这些顶点转变为它认为合适的内容。几何着色器有意思的地方在于它可以把(一个或多个)顶点转变为完全不同的基本图形(primitive),从而生成比原来多得多的顶点。原创 2016-12-26 00:35:34 · 1912 阅读 · 0 评论 -
OpenGL Shader 绘制天空盒_基础 2
http://learnopengl-cn.readthedocs.io/zh/latest/04%20Advanced%20OpenGL/06%20Cubemaps/原创 2016-12-23 17:31:44 · 2307 阅读 · 1 评论 -
OpenGL-- Shader 颜色 光照 2
main.cpp #include #define GLEW_STATIC#include #include #include "Shader.h"#include "Camera.h"#include #include #include #include #include #define GLEW_STATIC#include #include原创 2016-12-16 09:21:01 · 818 阅读 · 0 评论 -
OpenGL-- Shader 颜色 光照
参考:http://learnopengl-cn.readthedocs.io/zh/latest/02%20Lighting/02%20Basic%20Lighting/1. 主程序 #include #define GLEW_STATIC#incl原创 2016-12-15 16:13:12 · 2158 阅读 · 0 评论 -
shader 基础
shader 基础代码来源: LeanOpenGL CN#define GLEW_STATIC#include #include #pragma comment(lib, "glfw3.lib")#pragma comment(lib, "glfw3dll.lib")#pragma comment (lib, "glew32s.lib") #pragm原创 2016-09-21 17:19:01 · 918 阅读 · 0 评论 -
MFC中可以实现OpenGL跨进程绘制
MFC中,利用消息机制,实现跨进程间的通信http://blog.youkuaiyun.com/yulinxx/article/details/49279609MFC中可以实现OpenGL跨进程绘制A利用B的窗口HWND,对其进行绘制。。。。原创 2015-10-22 17:04:30 · 1717 阅读 · 0 评论 -
OpenGL Shader 加载3DMax模型
现在市面上有一个很流行的模型加载库,叫做Assimp,全称为Open Asset Import Library。Assimp可以导入几十种不同格式的模型文件(同样也可以导出部分模型格式)。只要Assimp加载完了模型文件,我们就可以从Assimp上获取所有我们需要的模型数据。Assimp把不同的模型文件都转换为一个统一的数据结构,所有无论我们导入何种格式的模型文件,都可以用同一个方式去访问我们需要原创 2016-12-20 14:50:12 · 3956 阅读 · 0 评论 -
OpenGL 深度测试1
main.cpp#include #define GLEW_STATIC#include #include #include "Shader.h"#include "Camera.h"#include #include #include #include #pragma comment(lib, "./SOIL.lib")#pragma comme原创 2016-12-20 15:41:30 · 636 阅读 · 0 评论 -
OpenGL键盘 WSADQE进行旋转缩放平移简单操作
http://blog.youkuaiyun.com/yulinxx/article/details/59538755在上篇的基础上,添加键盘的控制,实现物体的缩放,平移,旋转操作 分析: 放大: 当摄像机沿Z轴靠近物体,则物体显示会变大,反之则小 左右平移: 摄像机往左移,则看到的物体往右移 旋转: 以相机到物体的距离为半径进行旋转 当旋转后,再平移,比如相机到了b位置,再平移,以绿线为向量进行平原创 2017-03-04 00:24:48 · 8198 阅读 · 0 评论 -
OGLStencil深度测试 模板测试 以及 Alpha混合_VS2015
参考:http://learnopengl-cn.readthedocs.io/zh/latest/04%20Advanced%20OpenGL/03%20Blending/****************************************************************************main.cpp#incl原创 2016-12-21 00:22:52 · 955 阅读 · 0 评论 -
OpenGL Transformation
http://www.songho.ca/opengl/gl_transform.htmlOpenGL TransformationRelated Topics: OpenGL Pipeline, OpenGL Projection Matrix, OpenGL Matrix Class Download: matrixModelView.zip转载 2017-03-03 10:20:06 · 907 阅读 · 0 评论 -
OpenGL 几何着色器 传入点,绘制三角形
几何着色器有意思的地方在于它可以把(一个或多个)顶点转变为完全不同的基本图形(primitive),从而生成比原来多得多的顶点。main.cpp#define GLEW_STATIC#include <GL/glew.h>#include <GLFW/glfw3.h>#include <glm/glm.hpp>#include <glm/gtc/matrix_transform.hpp>#in原创 2017-03-02 16:10:04 · 2175 阅读 · 0 评论 -
OpenGL 法线贴图 基础
法线贴图http://learnopengl-cn.readthedocs.io/zh/latest/05%20Advanced%20Lighting/04%20Normal%20Mapping/main.cpp#include <string>#define GLEW_STATIC#include <GL/glew.h>#include <GLFW/glfw3.h>#include "shade原创 2017-01-19 00:15:47 · 1983 阅读 · 0 评论 -
OpenGL 绘制简单的英文字符
http://learnopengl-cn.readthedocs.io/zh/latest/06%20In%20Practice/02%20Text%20Rendering/FreeType 配置 下载FreeType2 得到: ft271.zip 解压 freetype-2.7.1 在CMake中,如下图 顺序 编译成功后得到 lib 文件 freetype271.lib 可自行编译成不同原创 2017-02-17 23:04:34 · 4440 阅读 · 2 评论 -
OpenGL 视差贴图 基础 Parallax Mapping
main.cpp#include <string>#define GLEW_STATIC#include <GL/glew.h>#include <GLFW/glfw3.h>#include "shader.h"#include "Camera.h"#include "model.h"#include <glm/glm.hpp>#include <glm/gtc/matrix_transf原创 2017-02-06 11:06:03 · 1404 阅读 · 0 评论 -
OpenGL Shadow 阴影基础
帧缓冲: http://blog.youkuaiyun.com/yulinxx/article/details/53827050阴影: http://learnopengl-cn.readthedocs.io/zh/latest/05%20Advanced%20Lighting/03%20Shadows/01%20Shadow%20Mapping/main.cpp#define GLEW_STATIC#i原创 2017-01-13 17:33:53 · 1913 阅读 · 0 评论