Qt3D
文章平均质量分 91
彩阳
学习DirectX还要靠大家指点指点啊。
展开
-
自己动手静态编译和构建Qt5.2,包含Qt3D、Enginio和QtOpenCL
这个月初,Qt5.2正式发布,其中正式支持Android和初步支持iOS构建目标成为最大的亮点。而在它发布之前,我从它的源码镜像库gitorious中获取了最新的源码,并且甄选了两个自己需要研究的组件进行静态编译。两天的时间过去了,我克服了诸多困难,终于成功地在Ubuntu13.10和Windows8上静态编译构建Qt,以后发布Qt的演示程序不用担心客户机运行不了了。原创 2013-12-26 21:29:42 · 8728 阅读 · 11 评论 -
Qt 3D教程(三)实现对模型材质参数的控制
上一篇教程介绍的是显示一个三维模型的基本步骤,接下来我们需要实现的是添加材质,并且希望我们通过按钮来控制材质的参数。这样的效果看起来很像一个3D模型材质编辑器的样子。那我们来尝试一下吧。原创 2015-07-29 18:13:25 · 8070 阅读 · 6 评论 -
Qt 3D教程(一)使用Qt Widgets建立一个框架
Qt 3D是Qt 5.5发布时最重要的一个新模块,它很好地将3D的繁文缛节封装在底层,留给我们的是简洁的对象创建方法,它也不需要你掌握太多的着色器知识,只需要懂得一些三维和光照的基本知识就可以创建出比较美观的三维模型浏览程序了。目前虽然大家都能够使用Qt 5.5和Qt 3D了,但是我查看了一下,有关API文档和一个详尽的介绍还是空缺的,因此我认为有必要写一点教程,简要介绍一下Qt 3D的使用方法。原创 2015-07-29 15:53:07 · 16699 阅读 · 14 评论 -
Qt 3D教程(二)初步显示3D的内容
前一篇非常简单,完全就没有牵涉到3D的内容,它只是我们搭建3D应用的基本框架而已,而这一篇,我们将要利用它来初步地显示3D的内容了!本次目的是将程序中间的内容替换成3D的视图,而这一切也不过十几行代码。要不我们来试一试吧!原创 2015-07-29 17:30:10 · 20227 阅读 · 11 评论 -
Qt 3D的研究(九):尝试另外一种边缘检测方法
三维应用程序,通过FBO,将3D图像渲染成纹理,然后对渲染成的纹理进行图像处理,最终显示在屏幕上的,是风格化后的图案。上一次我使用了一种普通的图像处理方法:索贝尔边缘检测法,与我们的卡通渲染结合起来,实现了这样的效果,接着,我将采用另外一种边缘检测方法——普雷维特(Prewitt)边缘检测方法来重新渲染图案。原创 2015-03-18 10:37:34 · 3371 阅读 · 0 评论 -
Qt 3D的研究(八):边缘检测
上一篇文章讲到了如何使用渲染至纹理技术将我们第一遍渲染保存至纹理以便做一些操作。还是上一次的例子,我简要地分析一下如何进行边缘检测。原创 2015-03-11 09:33:02 · 3669 阅读 · 0 评论 -
Qt 3D的研究(七):渲染至纹理
最近几天都没有怎么研究Qt 3D了,但是随着Qt5.5发布的日子一天天的靠近,我也不能懈怠,希望利用Qt 3D,将能够实现的功能进行实现,并且对Qt 3D获取一个新的认识。两天多没有研究了,现在信心却是满满的!原创 2015-03-09 16:44:10 · 6757 阅读 · 0 评论 -
Qt 3D的研究(四):指定渲染的材质以及效果
在上一篇文章中我了解到了怎样简单地显示模型。Qt3D内置了一个obj模型的解析器,这样可以将简单的obj模型载入并且显示出来。其实Qt3D对于渲染的配置还是很厉害的,通过设定材质,我们可以得到很不错的渲染效果,而且可以通过设定Effect,将自己指定的着色器载入,让Qt 3D和OpenGL进行编译,得到自己想要的渲染效果。原创 2015-02-28 11:16:29 · 9146 阅读 · 2 评论 -
Qt 3D的研究(六):Toon Shader
在上次的实验中,我们实现了Gooch Shader,并给出了通过调色板进行个性化的Gooch Shader设置。Toon Shader又称Cell Shader,是以离散的颜色来表示光照的强弱。很多动画片的渲染方式都是使用Toon Shader的。下面这样图就可以使用Toon Shader实现。原创 2015-03-05 16:00:37 · 4377 阅读 · 0 评论 -
Qt 3D的研究(十):描边渲染(轮廓渲染)以及Silhouette Shader
之前写了两篇文章,介绍了我在边缘检测上面的研究,实际上,使用GPU对渲染图像进行边缘检测,前提是需要进行两遍渲染,前一遍渲染的结果作为后一遍结果的输入纹理,接着在第二遍渲染的时候,对二维图像做一些图像处理,最终得出带轮廓的描边渲染效果,接着和正常渲染混合在一起,就成为渲染的最终图像。可是,这样的做法,是对二维图像做的图像处理,即使像上次对提取的深度进行图像处理,也无法准确地根据深度的突变来提取我们需要的边缘。所以我们需要新的方法来提取模型的边缘。原创 2015-03-19 13:28:56 · 5884 阅读 · 2 评论 -
Qt 3D的研究(五):Gooch Shader
Qt 3D的一个很大的优势就是采用数据驱动的方式,将C++和GLSL使用QML来表示,动态语言的优势尽显。在上一次的研究中,我实现了一个非常简单的着色器,接下来,我们可以在此基础上,通过设定着色器的数据,制作出更加绚丽的着色效果。作为开始,我们先从几个非真实渲染(Non-Photorealistic Rendering,NPR)开始吧。原创 2015-03-01 22:58:45 · 5042 阅读 · 0 评论 -
Qt 3D的研究(三):显示3D模型
上一篇文章介绍了如何使用最少的代码创建一个Qt 3D的应用。和大家最初接触的glut一样,对于3D应用来说,需要做的准备工作还真不少,不过呢,Qt 3D把一些窗口相关的琐碎事情解决了,剩下的,该由我们完成重要的渲染部分了,可以说,带来了某种程度的方便。原创 2015-02-27 09:59:09 · 31929 阅读 · 11 评论 -
Qt 3D的研究(一)
Qt 3D是有可能即将在Qt 5.5中正式启用的模块之一。它建立的目标是能够让开发者快速地创建3D场景,通过各式各样的渲染技术来达到3D交互的场景。Qt3D除了和Qt一样跨平台之外,还能够选择OpenGL的具体实现,定制GLSL,从而能够根据不同性能的机器,来调整渲染效果。原创 2015-02-13 20:45:33 · 17836 阅读 · 1 评论 -
Qt 3D的研究(二)
上一篇文章给大家看了很多Qt 3D的例子,如果大家有Qt3D的源代码,就会发现,开发这些例子,花费的代码还真不少。这就是不一样的地方,Qt 3D毕竟和三维图形打交道,多了一个维度,问题的难度变得更大了。原创 2015-02-13 21:47:48 · 9772 阅读 · 6 评论 -
Qt 5的git源码编译
由于一些需求,需要接触Qt3D。虽然Qt 3D还没有问世,但是据称已经差不多完成了。Qt 3D的内部版本是2.0,将会并入Qt 5.5中。现在还是有一些途径来获取Qt 3D的。那就是使用git获取最新的源码进行编译。花了好几天的时间,终于成功了。下面分享一下心得。原创 2015-02-02 09:30:15 · 6791 阅读 · 4 评论 -
有关Assimp与Qt3D
Qt3D在Qt4时代就已经存在了,当时Qt这个项目还处于诺基亚的管理之下。到了Digia接手Qt的时候,Qt3D作为遗留项目保留了起来。这里有我以前写的有关Qt3D的文字。最初Qt5出来的时候并没有包括Qt3D,很显然,因为要对Qt4时代诸多Qt子项目进行移植谈何容易!于是我们看到Qt5.0的时候Qt库非常精简,仍然有很多的Qt4库没有被移植过来,而且还有很多Bug!我想Digia希望通过Qt5.1、Qt5.2和Qt5.3对这些Bug进行修复,这样一个健壮的Qt基础库才能够支撑诸多Qt4时代的子项目。原创 2014-03-13 12:12:16 · 9651 阅读 · 10 评论 -
Qt 3D教程(四)结合Qt Quick来实现动画的效果
上篇教程已经给大家带来较为实用的效果了,这回我们尝试载入两个模型,并且让PhongMaterial成为它们的共享材质,此外,我们通过借助QtQuick的动画框架来让我们的三维场景动起来!原创 2015-07-29 18:36:00 · 13592 阅读 · 3 评论