OpenGL
文章平均质量分 79
edgelee
这个作者很懒,什么都没留下…
展开
-
CUDA与OpenGL交互开发
最近在学习OpenGL,过程中需要使用CUDA进行并行计算。因此,需要解决OpenGL与CUDA的交互问题。学习记录如下:Step1. 共享数据区想到交互,不难想到通信,数据共享等词语。这里使用的是共享数据的方式来完成OpenGL与CUDA的交互。而OpenGL与CUDA都有着自己独特的类型定义。因此,对于共享的数据区,我们需要给它起两个不同的名字,分别为OpenGL以及CUDA服务转载 2017-03-20 14:38:17 · 573 阅读 · 0 评论 -
OpenGL场景截取后存储(BMP图片)
变量声明部分 GLenum lastBuffer_OpenGLShot; GLbyte* pBits_OpenGLShot = 0; // 图像数据 unsigned long ImageSize_OpenGLShot; int Width_OpenGLShot, Height_OpenGLShot; bool IsOpenGLShot; SYSTEMTIME m_Syst转载 2017-11-03 11:48:43 · 904 阅读 · 0 评论 -
使用VBO对glVertexAttribPointer的影响
在openGL中glVertexAttribPointer是用来上传顶点数据到显卡的方法。这里的顶点数据是数组的形式。函数原型如下void glVertexAttribPointer(GLuint index, GLint size, GLenum type,转载 2017-11-29 15:16:54 · 863 阅读 · 1 评论 -
OpenGL 深度测试使用
第一,什么是openGL的深度 所谓深度,就是在openGL坐标系中,像素点Z坐标距离摄像机的距离。摄像机可能放在坐标系的任何位置,那么,就不能简单的说Z数值越大或越小,就是越靠近摄像机。openGL 会专门用一个缓冲区来存放这个Z坐标数值。就叫深度缓冲区。第二,深度缓冲区的作用 一般情况下,我们绘制图片,后绘制的会覆盖前面的。所以,一般我们绘制顺序是先后面在前面。转载 2017-11-29 15:19:39 · 1307 阅读 · 0 评论 -
正确理解 opengl 的 vao(知乎)
作者:禾惠链接:https://www.zhihu.com/question/30095978/answer/87995822来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。OpenGL在画画的时候,要用到很多的信息,如顶点的坐标、纹理、颜色等等.... 假如一个顶点包含了坐标和颜色的信息,那么这个顶点处的数据格式可能如下:x, y,转载 2017-11-29 17:38:52 · 3804 阅读 · 0 评论 -
实现opengl截取窗口图像到内存,然后用cv处理
目前想实现opengl截取窗口图像到内存,然后用cv处理,所以需要用cv从内存把图像再取出来。可是一直是灰色的,代码稍作改动后会变成黑色加乱码直接附上部分转换代码:GLint iViewport[4] = { 0 };glGetIntegerv(GL_VIEWPORT_BIT, iViewport);// 获取视图大小GLubyte* buffer = (GLubyte*)mall转载 2017-11-06 17:58:12 · 1684 阅读 · 0 评论 -
VBO usage标示符
VBO允许usage标示符取以下9种值:GL_STATIC_DRAW_ARBGL_STATIC_READ_ARBGL_STATIC_COPY_ARBGL_DYNAMIC_DRAW_ARBGL_DYNAMIC_READ_ARBGL_DYNAMIC_COPY_ARBGL_STREAM_DRAW_ARBGL_STREAM_READ_ARB转载 2017-11-30 14:11:13 · 222 阅读 · 0 评论 -
VBO-EBO-VAO-01
#include #include #include #include GLuint eboID;GLuint vboID;GLuint vaoID;GLfloat vertices[] = { 0.5f, 0.5f, -1.0f, // 右上角 0.5f, -0.5f, -1.0f, // 右下角 -0.5f, -0.5f, -1.0f, // 左下角 -0.5f转载 2017-11-30 18:23:07 · 244 阅读 · 0 评论 -
opengl glm矩阵变换
opengl 矩阵变换http://blog.csdn.net/cloud95/article/details/37877131我们给我们的图形,设置好顶点坐标后,通过Model Matrix 变换为世界坐标,然后 view Matrix相机坐标,Projection Matrix 屏幕坐标x,y ∈(-1,1)。矩阵变换的结果是把三维的世界最终裁剪为二维的屏幕,数学的说法就是从一个集合到另一个集...转载 2018-03-08 13:21:38 · 4112 阅读 · 0 评论 -
OpenGL中屏幕渲染On/Off
OpenGL中,GPU屏幕渲染有以下两种方式:On-Screen Rendering意为当前屏幕渲染,指的是GPU的渲染操作是在当前用于显示的屏幕缓冲区中进行。Off-Screen Rendering意为离屏渲染,指的是GPU在当前屏幕缓冲区以外新开辟一个缓冲区进行渲染操作。二、离屏渲染的是是非非相比于当前屏幕渲染,离屏渲染的代价是很高的,主要体现在两个方面:创建新缓冲区要想进行离屏渲染,首先要创...转载 2018-04-23 11:09:33 · 768 阅读 · 0 评论 -
关于opengl中多重纹理,离屏与渲染到屏幕切换,可编程管线有固定管线切换的理解
最近用opengl写项目时遇见几个问题,感觉比较通用写下啦分享;一, opengl多重纹理的使用二, opengl离屏渲染与渲染到屏幕切换使用三, opengl可编程管线与固定管线切换使用经过一个成功与失败的魔力,现在终于算是理解opengl中纹理,缓冲区对象(FBO),及着色器的使用了一下只是一己之见,错误难免,望各位指教。1.首相说一...转载 2018-04-23 11:18:49 · 1339 阅读 · 0 评论 -
wglUseFontBitmaps/wglUseFontOutlines
GDI 显示文本---- 调用wglGetCurrentDC()函数取得当前的设备上下文,使用TextOut函数显示文本,不过要注意在DoubleBuffer模式下,绘制函数要在glFinish()和 SwapBuffers(wglGetCurrentDC())函数之后调用,否则会产生闪烁,在绘制OpenGL结束之前使用GDI函数,要除去闪烁则只能使用SingleBuffer模式,具体函数如下转载 2017-11-12 13:59:02 · 2931 阅读 · 0 评论 -
OpenGL绘制直线
// main.c// opengl_ animationRect_0002//// Created by ch_soft on 12-1-16.// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.//#include#include#include #include//用于绘制窗口需要的转载 2017-11-10 15:18:11 · 18838 阅读 · 0 评论 -
OpenGL图形函数(正方体、圆柱、圆锥)
#include #include #include #pragma comment(lib, "opengl32.lib")#pragma comment(lib, "glut32.lib")#pragma comment(lib, "glu32.lib")#pragma comment(lib, "glut.lib")#include void Cube(){ glBe转载 2017-11-10 11:10:16 · 5298 阅读 · 0 评论 -
OpenGL透视投影gluPerspective
透视投影(Perspective Projection)void gluPerspective(GLdouble fovy,GLdouble aspect,GLdouble zNear, GLdouble zFar);其操作是创建一个对称的透视投影矩阵,并且用这个矩阵乘以当前矩阵。参数fovy定义视野在X-Z平面的角度,范围是[0.0, 180.0];参数aspect是投影平面宽度转载 2017-04-07 15:07:27 · 1096 阅读 · 1 评论 -
OpenGL之VBO,PBO,FBO技术
VBO(vertex buffer object)是GPU上存储顶点数据的高速缓存。在应用程序初始化阶段,顶点数据被直接传送到显卡中的高速缓存上,在绘制时可以直接从高速缓存中获取,除非几何数据需要修改,否则VBO数据不需变化。除了VBO技术外,OpenGL还提供顶点数组和显示列表的绘制方式。顶点数组可以降低函数调用次数与降低共享顶点的重复使用,但顶点数组函数位于客户端状态中,且每次引用都须向服务端转载 2017-03-14 13:32:03 · 1760 阅读 · 0 评论 -
光线投射与光线跟踪算法归纳
目录前言三维可视化与体绘制Ray Tracing vs. Ray Casting体绘制的加速技术基于CUDA实现Ray-Casting后话参考文献 1. 前言在读了大牛们的很多深入浅出的科普文章和教程系列并受益匪浅后,不免有自己尝试写写的冲动。本文将尽量平白地阐述一些基本概念和算法流程,同时尽可能多地给出进一步学习所需要的有用资料,一些关键链接就省去了,感兴趣者可以转载 2017-04-14 14:48:56 · 15734 阅读 · 0 评论 -
openGL两种投影方式
http://www.cnblogs.com/kfqcome/archive/2011/04/01/2137009.html投影变换是一种很关键的图形变换,OpenGL中只提供了两种投影方式,一种是正射投影,另一种是透视投影。不管是调用哪种投影函数,为了避免不必要的变换,其前面必须加上以下两句: glMAtrixMode(GL_PROJECTION); glLo转载 2017-05-17 13:43:32 · 3503 阅读 · 0 评论 -
opengl三角形剖分与三角形条带化
转自:http://www.corehtml5.com/trianglestripfundamentals.phpThe WebGL TRIANGLE and the grid.Constructing something as simple as a grid can require extensive position data and compute time. WebGL转载 2017-06-14 14:28:54 · 1268 阅读 · 0 评论 -
OpenGL FreeType库 概述
http://yarin.blog.51cto.com/1130898/381911NeHe OpenGL第四十三课:FreeType库在OpenGL中使用FreeType库使用FreeType库可以创建非常好看的反走样的字体,记住暴雪公司就是使用这个库的,就是那个做魔兽世界的。尝试一下吧,我只告诉你了基本的使用方式,你可以走的更远。 在OpenGL中使用FreeTyp转载 2017-07-27 12:56:14 · 4608 阅读 · 0 评论 -
OpenGL文字显示
线贴一个简单可用的opengl文字显示调用函数opengl文字显示大致三步:1,创建字体2,输出打印3,删除字体1,创建字体的函数:/* * BuildFont * 创建位图字体 */GLvoid BuildFont(GLvoid){ HFONT font; // 字体句柄 HFONT oldfont; base转载 2017-10-31 17:50:30 · 1322 阅读 · 0 评论 -
OpenGL三维坐标显示
1、网格建立函数void CMyStatic::GLGrid(coordpoint& pt1, coordpoint& pt2,int num){const float _xLen = (pt2.x -pt1.x) / num; const float _yLen = (pt2.y - pt1.y) / num; const float _zLen = (pt2.z转载 2017-10-31 17:48:27 · 12385 阅读 · 6 评论 -
OpenGL画球
void glutWireSphere(GLdouble radius, GLint slices, GLint stacks); 丝状球void glutSolidSphere(GLdouble radius, GLint slices, GLint stacks); 实心球我们以丝状球为例。函数原型:void glutWireSphere(GLdoub转载 2017-11-10 09:48:58 · 1591 阅读 · 0 评论 -
FBO render to texture渲染到纹理
代码参考1:https://github.com/wld0595/FBO// Include standard headers#include <stdio.h>// Include GLEW#include <GL/glew.h>// Include GLFW#include <GLFW/glfw3.h>GLFWwindow* window;...翻译 2018-04-20 17:02:02 · 1090 阅读 · 0 评论