灿哥哥的博客

专注技术,热爱分享

OpenGL之glPolygonMode函数的用法

1.绘制模式在绘制多边形时除了默认的填充方式,还可以使用点和线使用glPolygonMode函数来设置模式三种不同模式下的绘图 GL_FILL GL_LINEGL_POINT2.多边形的两面如果以顺时针绘制则是反面,逆时针绘制则是正面 // 设置正面为填充模式 glPolygonMode(GL_F...

2018-05-17 14:41:07

阅读数 3806

评论数 0

OpenGL学习脚印: 二维纹理映射(2D textures)

写在前面 前面两节介绍了向量和矩阵,以及坐标和转换相关的数学,再继续讨论模型变换等其他包含数学内容的部分之前,本节介绍二维纹理映射,为后面学习做一个准备。纹理映射本身也是比较大的主题,本节只限于讨论二维纹理的基本使用,对于纹理映射的其他方法,后面会继续学习。可以从我的github下载本节代码。通过...

2018-05-15 10:07:00

阅读数 238

评论数 0

OpenGL之glShadeModel函数的用法

函数原型:      void glShadeModel (GLenum mode);参数说明:      GL_SMOOTH: 采用光滑着色,独立的处理图元中各个顶点的颜色。对于线段图元,线段上各点的颜色将根据两个顶点的颜色通过插值得到。对于多边形图元,多边形内部区域的颜色将根据所有顶点的颜色插...

2018-05-11 18:41:17

阅读数 705

评论数 0

OpenGL坐标系与几何变换

坐标系统想要弄懂几何变换,一定要搞清楚OpenGL中的坐标系统。从我们构造模型的局部坐标系(Local/Object Space)经过一系列处理最终渲染到屏幕坐标(Screen Space)下,这过程中有6种坐标系。World Coordinates(世界坐标系)Object Coordinate...

2018-05-10 20:42:23

阅读数 3655

评论数 0

OpenGL之glMatrixMode函数的用法

函数原型:        void glMatrixMode(GLenum mode) 参数说明:        mode 指定哪一个矩阵堆栈是下一个矩阵操作的目标,可选值:    GL_MODELVIEW,对模型视图矩阵堆栈应用随后的矩阵操作。可以在执行此命令后,输出自己的物体图形了。  ...

2018-05-10 15:39:41

阅读数 1216

评论数 0

OpenGL之glLoadIdentity函数的用法

函数原型:     void glLoadIdentity(void)函数说明:      OpenGL为我们提供了一个非常简单的恢复初始坐标系的手段,那就是调用glLoadIdentity()命令。该命令是一个无参的无值函数,其功能是用一个4×4的单位矩阵来替换当前矩阵,实际上就是对当前矩阵进行...

2018-05-10 10:37:31

阅读数 477

评论数 0

OpenGL之glViewPort函数的用法

其函数原型为:glViewport(GLint x,GLint y,GLsizei width,GLsizei height)x,y 以像素为单位,指定了视口的左下角位置。width,height 表示这个视口矩形的宽度和高度,根据窗口的实时变化重绘窗口。在默认情况下,视口被设置为占据打开窗口的整...

2018-05-10 10:06:11

阅读数 2039

评论数 0

Qt调用OpenGL API实现彩色旋转立方体

pro文件QT -=gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = lesson1 TEMPLATE = app SOURCES += main.cpp\ HEADERS += glut.h LIBS+=...

2018-05-09 20:19:50

阅读数 398

评论数 0

OpenGL ES渲染管线与着色器

前言 在前文《[OpenGL ES 01]OpenGL ES之初体验》中我们学习了如何在 iOS 平台上设置OpenGL ES 环境,主要是设置 CAEAGLLayer 属性,创建 EAGLContext,创建和使用 renderbuffer 和 framebuffer,并知道如何清屏。...

2017-11-15 17:05:25

阅读数 526

评论数 0

Blender及其游戏引擎

简单点说,Blender是一款3D制作软件,同3DMax,Maya类似,可被用于3D动画和3D游戏的制作,与3DMax,Maya高昂的授权价格不同,Blender开源免费,GPL授权协议,不过这点优势在中国似乎不被关注,盗版猖獗,很多人对自己日常使用软件的授权价格一无所知,甚至有些人对自己使用的软...

2017-11-15 15:25:18

阅读数 424

评论数 0

在OpenGL中向shader传递信息

引言 一个OpenGL程序可以用多种方式和shader通信。注意这种通信是单向的,因为shader的输出只能是渲染到某些目标,比如颜色和深度缓存。 OpenGL的部分状态可以被shader访问,因此程序改变OpenGL某些状态就可以与shader进行通信了。例如一个程序想把光的颜色传给shad...

2017-11-15 15:17:53

阅读数 445

评论数 0

OpenGL中Camera类的设计以及使用

简介:        首先,camera类是什么?它相当于摄像机镜头,通过设定合适的位置和角度可以实现对3D绘制图形的观察,而camera类的优势就在于可以围绕绘制的物体进行漫游,唯一需要完成的工作就是如何使用该类的操作完成有效的漫游。        很多带3D图形显示的软件其实都有自...

2017-11-15 15:09:49

阅读数 483

评论数 0

OpenGL简单实现太阳系模拟

#include "stdafx.h" #include #include #include "math.h" #include // GLaux库的头文件 #pragma comment( lib, "glaux.lib") /...

2017-11-15 14:25:05

阅读数 2671

评论数 0

将Qt、OpenGL、GLSL以及Qt的Graphics-View框架结合

九月份都快过去了,学生们也都开学了,我想校园也会热闹许多吧,在CSDN上也相应地热闹了一些。中秋节也过去了,自己身边还有很多没有吃完的月饼,于是将月饼作为早餐每天早上吃一个,希望这样不会浪费。        这个月的事情比较多,又比较忙,所以这么晚才能抽出时间写出一篇。这回介绍一下Qt对Op...

2017-11-14 14:37:43

阅读数 293

评论数 0

Qt之实现3D纹理渲染自由旋转空间立方体

昨天七夕,关于七夕美好的爱情传说源自于浩瀚银河星空,又碰巧最近在学习QtOpenGL实现三维纹理防体重建,突发奇想用Qt实现一个立方体星空模型,并且能随着鼠标操作实现空间自由旋转         核心思想是用到Qt OpenGL模块,将二维图片贴到立方体的六个面,鼠标可以自由旋转立方体,...

2017-11-14 14:24:03

阅读数 1345

评论数 0

开源玩家福利:十大Linux免费游戏

假如当你考虑从Windows平台迁移至Linux平台时,“我能在Linux平台上游戏吗?”这类疑问正困扰着你,那么对此这有一个答案就是“快去Linux平台吧!”。感谢开源组织一直以来坚持不懈为Linux操作系统开发不同类型的游戏,还有从不缺乏好的商业游戏,并且在Linux平台下游戏时的乐趣完全不亚...

2017-06-22 20:11:22

阅读数 3745

评论数 0

十大开源游戏引擎深入比较

在国内外,业界盛传有十大开源游戏引擎,分别是OGRE、Irrlicht、Panda3D、Crystal Space、jME、Blender Game Engine、Reality Factory、The Nebula Device 2、RealmForge、OpenScene- Graph。我们对...

2017-06-22 20:05:42

阅读数 28993

评论数 2

OpenGL着色器介绍

本文主要介绍如何使用OpenGL实现着色器程序,首先会简单介绍着色器在OpenGL渲染管线中是什么个位置,接着是介绍可以通过GLSL语言实现的两类着色器:顶点着色器和片段着色器,最后使用OpenGL实现了个DEMO(在文章最后面,提供了下载),演示如何使用OpenGL接口创建着色器程序。 会例代码...

2016-12-04 17:56:11

阅读数 3595

评论数 0

Qt5下OpenGL程序的新写法

在Qt5中,引入了QOpenGL*系列类,以取代Qt4时代的QGL*系列类。 下面是从Qt5例子中抠出的两种OpenGL程序模板,方便参考。 第一种写法: [cpp] view plain copy #ifndef TRIANGLEWINDOW_H   #define TR...

2016-04-09 09:45:25

阅读数 3374

评论数 1

提示
确定要删除当前文章?
取消 删除