OpenGL/GLSL
文章平均质量分 69
yangchuankai
https://github.com/tigerguixh/QuickNews
展开
-
OpenGL小探1
/* OpenGL包含了许多渲染函数,但是的设计目的是独立于任何窗口系统或操作系统,因此它并没有打开窗口或从键盘或鼠标读取事件的函数。可以使用GLUT,GLUT还包含了一些函数,用于创建更为复杂的三维物体,如球体,圆环面和茶壶。若要编写功能完整的OpenGL应用程序,GLUT可能无法满足要求,但是GLUT可以作为学习OpenGL非常好的起点。 */窗口管理: GLUT 通过几原创 2014-10-24 14:24:06 · 500 阅读 · 0 评论 -
Qt_OpenGL:光源小测
Qt_OpenGL:光源小测怎么感觉越写越简单了呢,好吧,不管了,上代码。。。//.h#ifndef MOVELIGHT_H#define MOVELIGHT_H#include #include #include class MoveLight : public QGLWidget{ Q_OBJECTpublic:原创 2014-12-11 14:53:27 · 1627 阅读 · 2 评论 -
OpenGL部分知识汇总
OpenGL部分知识小总结光照:glEnable(GL_LIGHT0);glEnable(GL_LIGHTING);创建光源:glLightf(GLenum light, GLenum pname, GLfloat param);pname参数: GL_AMBIENT——环境光 GL_DIFFUSE——散射光强度,原创 2014-12-14 13:49:11 · 1273 阅读 · 0 评论 -
OpenGL小探:显示列表
OpenGL小探:显示列表#include #include #include #include #define PI_ 3.14159265358979323846GLuint theTorus;/* Draw a torus */static void torus(int numc, int numt){ int i, j, k;原创 2014-11-16 00:58:43 · 508 阅读 · 0 评论 -
Qt_OpenGL:3D贴不同纹理小测
Qt_OpenGL:3D贴不同纹理小测//.h#ifndef TEXTURETEST_H#define TEXTURETEST_H#include #include #include class TextureTest : public QGLWidget{ Q_OBJECTpublic: TextureTest(QWidge原创 2014-12-10 00:24:30 · 1224 阅读 · 1 评论 -
Qt_OpenGL:3D旋转自定义换色
Qt_OpenGL:3D旋转自定义换色//.h#ifndef ROTATEWIDGET_H#define ROTATEWIDGET_H#include #include class RotateWidget : public QGLWidget{ Q_OBJECTpublic: RotateWidget(QWidget *parent =原创 2014-12-10 15:00:34 · 1435 阅读 · 0 评论 -
Qt_OpenGL:雾程序小测
Qt_OpenGL:雾程序小测//.h#ifndef FOGTEST_H#define FOGTEST_H#include #include class FogTest : public QGLWidget{ Q_OBJECTpublic: FogTest(QWidget *parent = 0); ~FogTest();原创 2014-12-11 10:14:22 · 1281 阅读 · 0 评论 -
OpengGL显示列表
lambda:>>> filter_me = [1,2,3,4,5,6,7,8,9,10,11,12,13,14]>>> result = filter(lambda x: x%2==0,filter_me)>>> print(*result)2 4 6 8 10 12 14转载 2014-10-29 11:05:06 · 699 阅读 · 0 评论 -
Qt_OpenGL:3D空间中移动图像
Qt_OpenGL:3D空间中移动图像//.h#ifndef GLWIDGET_H#define GLWIDGET_H#include #include class QGLWidget;class QTimer;typedef struct Stars{public: int r, g, b; GLfloat dist, angle;原创 2014-12-12 08:02:16 · 1947 阅读 · 0 评论 -
Qt_OpenGL:光照纹理滤波色彩混合小测
Qt_OpenGL:光照纹理滤波色彩融合小测此测试程序包含了光照、纹理滤波和色彩融合等知识点。//.h#ifndef GLWIDGET_H#define GLWIDGET_H#include #include class GLWidget : public QGLWidget{ Q_OBJECTpublic: expli原创 2014-12-08 20:46:46 · 1507 阅读 · 0 评论 -
OpenGL动画
一、原型链:基本思想是 利用原型让一个引用类型继承另一个引用类型的属性和方法 function SuperType(){ this.property = true; } SuperType.prototype.getSuperValue = function(){ return this.property;转载 2014-10-17 21:40:21 · 1278 阅读 · 0 评论 -
Qt_OpenGL:材质小测
Qt_OpenGL:材质小测//.h#ifndef MATERIAL_H#define MATERIAL_H#include #include #include #include class Material : public QGLWidget{ Q_OBJECTpublic: explicit Material(QWidget原创 2014-12-11 13:25:08 · 1339 阅读 · 0 评论 -
Qt_OpenGL:纹理映射小测
Qt_OpenGL:纹理映射小测//.h#ifndef GLWIDGET_H#define GLWIDGET_H#include #include class GLWidget : public QGLWidget{ Q_OBJECTpublic: explicit GLWidget(QGLWidget *parent = 0)原创 2014-12-08 16:58:53 · 1447 阅读 · 0 评论 -
OpenGL小探2--几何图元,3D初步
glClearColor(0.0,0.0,0.0,0.0);glClear(GL_COLOR_BUFFER_BIT);//第一行把清除颜色设置为黑色//第二行把整个窗口清除为当前清除颜色,参数表示需要清除的缓冲区glClearDepth(1.0); //指定了深度缓冲区中的每个像素需要设置的值。glClearIndex(),glClearAccum(),glClearStenc原创 2014-10-28 16:27:59 · 644 阅读 · 0 评论 -
OpenGL小探3——纹理映射
纹理映射:纹理映射相关函数:void glGenTextures(GLsizei n, GLuint *textures);void glBindTexture(GLenum target, GLuint texture);#include #include //在Qt中的头文件GLfloat xrot; //x旋转量GLflo原创 2014-11-01 14:44:09 · 742 阅读 · 0 评论 -
OpenGL小探4——光照和键盘控制
光照和键盘控制OpenGL——纹理过滤函数glTexParameteri()图象从纹理图象空间映射到帧缓冲图象空间(映射需要重新构造纹理图像,这样就会造成应用到多边形上的图像失真),这时就可用glTexParmeteri()函数来确定如何把纹理象素映射成像素. 部分参数功能说明如下: glTexParameteri(GL_TEXTURE_2D原创 2014-11-01 18:05:21 · 969 阅读 · 0 评论 -
Qt_OpenGL小探1
paintGL() - Renders the OpenGL scene. Gets called whenever the widget needs to be updated.resizeGL() - Sets up the OpenGL viewport, projection, etc. Gets called whenever the widget has been resized原创 2014-10-24 15:23:40 · 799 阅读 · 0 评论 -
OpenGL:纹理基础总结
当前光栅位置: 当前光栅位置就是开始绘制下一幅位图/图像的屏幕位置。 //左下角glRasterPos2f(GLfloat x, GLfloat y);glRasterPos3f(GLfloat x, GLfloat y, GLfloat z); 1、4版本中,glWindowsPos*()作为glRasterPos*()的替代品,它用窗口坐标指定当前光栅位置,不必把原创 2014-12-15 09:09:43 · 1709 阅读 · 0 评论 -
OpenGL中使用GLSL着色器
OpenGL中使用GLSL着色器步骤 GLSL既适用于顶点着色器,也适用于片段着色器。使用着色器对象的步骤:1、创建着色器对象: GLuint glCreateShader(GLenum type);//创建一个着色器对象,type值必须是GL_VERTEX_SHADER或GL_FRAGMENT_SHADER。error返回原创 2014-12-15 17:37:24 · 2884 阅读 · 0 评论 -
GLSL部分汇总
一、类型限定符: const, in, out, uniform1、in: 指定变量为着色器阶段的一个输入,输入可能是顶点属性(用于顶点着色器)或插值变量(用于片段着色器). 片段着色器可进一步限制其输入值,但要和in组合使用才有效: centroid: 在打开多点采样时,强迫一个片段输入变量的采样位于图元像素的覆盖区域内。 smooth: 以透视校正的方式插值原创 2014-12-16 16:45:51 · 2900 阅读 · 0 评论 -
GLSL实现水面倒影
使用两相机,一个master相机, 主要负责场景的渲染, 另一个rtt相机, 和master相机建立为镜面投影相机,用于在和master相机的纵向镜像投影,从而获取master投影场景的逆场景, 渲染到纹理,进行镜面贴图,实现水面的倒影效果。效果如图:实现代码(需要一张天空背景图, 一张water法线图):vertex shader:varying ve转载 2014-12-24 10:20:29 · 5841 阅读 · 0 评论 -
Qt_OpengGL:平面图形的着色渲染小测
//.h#ifndef GLWIDGET_H#define GLWIDGET_H#include #include class GLWidget : public QGLWidget{ Q_OBJECTpublic: explicit GLWidget(QGLWidget *parent = 0); ~GLWidget();protected:原创 2014-12-08 14:04:27 · 1402 阅读 · 0 评论 -
Qt_OpenGL:3D图形小测
//.h#ifndef GLWIDGET_H#define GLWIDGET_H#include #include class GLWidget : public QGLWidget{ Q_OBJECTpublic: explicit GLWidget(QGLWidget *parent = 0); ~GLWidget();protected:原创 2014-12-08 14:33:19 · 1289 阅读 · 0 评论