三维建模与渲染技术
文章平均质量分 83
主要涉及OGRE和OoenGL这两大渲染引擎的学习和总结
MISAYAONE
勤学如春起之苗,不见其增,日有所长。
展开
-
XML 文件详解【命名空间】
学习资料来源于:http://www.w3school.com.cn/xml/xml_namespaces.aspXML 命名空间提供避免元素命名冲突的方法。命名冲突在 XML 中,元素名称是由开发者定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突。这个 XML 文档携带着某个表格中的信息: Apples Ba原创 2017-06-17 09:52:23 · 1213 阅读 · 1 评论 -
XML 文件详解【注意语法项】
学习资料来源于:http://www.w3school.com.cn/xml/xml_syntax.asp所有 XML 元素都须有关闭标签在 HTML,经常会看到没有关闭标签的元素:This is a paragraphThis is another paragraph在 XML 中,省略关闭标签是非法的。所有元素都必须有关闭标签:This is a原创 2017-06-16 10:12:08 · 832 阅读 · 0 评论 -
XML 文件详解【XML元素】
学习资料来源于:http://www.w3school.com.cn/xml/xml_attributes.asp什么是 XML 元素?XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性。 Harry Potter J K. Rowling 2005 29.99原创 2017-06-16 10:12:22 · 803 阅读 · 0 评论 -
XML 文件详解【介绍】
XML文件详解参考来自于:http://www.w3school.com.cn/xml/XML 被设计用来传输和存储数据。什么是 XML?XML 指可扩展标记语言(EXtensible Markup Language)XML 是一种标记语言,很类似 HTMLXML 的设计宗旨是传输数据,而非显示数据XML 标签没有被预定义。您原创 2017-06-15 10:03:33 · 508 阅读 · 0 评论 -
XML 文件详解【解析】
学习资料来源于:http://www.w3school.com.cn/xml/xml_tree.aspXML 文档形成了一种树结构,它从“根部”开始,然后扩展到“枝叶”。一个 XML 文档实例XML 使用简单的具有自我描述性的语法:GeorgeJohnReminderDon't forget the meeting!第一行是 X原创 2017-06-15 10:03:55 · 731 阅读 · 0 评论 -
OpenGL 各类库的解析 gl/glu/glut/freeglut/glfw/glew
看了网上很多资料,讲的都不是很全,正好在学这一块,好好地总结一下吧注:在windows中,对这些库的大小写是不作要求的gl.hgl库是核心库,gl中包含了最基本的3D函数,可以再本地电脑中的: C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include\gl 路径下找到gl.h头文件,打开后可以看到其中定义的上百个相关函数。原创 2017-06-12 10:07:57 · 4961 阅读 · 0 评论 -
OpenGL 入门基础教程 —— 加载obj模型
参考资料:http://www.opengl-tutorial.org/cn/beginners-tutorials/tutorial-7-model-loading/知识点1:obj模型较为简单的obj模型:# Blender3D v249 OBJ File: untitled.blend# www.blender3d.orgmtllib cube.mtlv 1.000原创 2017-06-11 10:02:31 · 5926 阅读 · 1 评论 -
OpenGL 入门基础教程 —— 添加纹理
参考资料:http://www.opengl-tutorial.org/cn/beginners-tutorials/tutorial-5-a-textured-cube/知识点1:UV坐标原创 2017-06-09 10:01:52 · 7162 阅读 · 0 评论 -
OpenGL 入门基础教程 —— 键盘和鼠标响应
参考资料:http://www.opengl-tutorial.org/cn/beginners-tutorials/tutorial-6-keyboard-and-mouse/知识点1:主要思想:实现键鼠操作对画面的影响,实际上是通过每一帧都变化的MVP矩阵来实现的,那么我们只需要对键鼠操作返回不同的MVP组成矩阵即可,然后在主循环中更新MVP矩阵,最终实现画面的切换。do{原创 2017-06-09 10:02:26 · 1578 阅读 · 0 评论 -
OpenGL 入门基础教程 —— 模型的变换
对于矩阵变换,不清楚的可以参考前一篇文章,学习资料来源于:http://www.opengl-tutorial.org/cn/beginners-tutorials/tutorial-3-matrices/模型(Model)、观察(View)和投影(Projection)矩阵利用模型、观察和投影矩阵,可以将模型的变换过程清晰地分解为三个阶段。虽然此法并非必需(前两课我们就没用这原创 2017-06-08 10:02:47 · 955 阅读 · 0 评论 -
OpenGL 入门基础教程 —— 彩色立方体
参考资料:http://www.opengl-tutorial.org/cn/beginners-tutorials/tutorial-4-a-colored-cube/知识点1:顶点属性缓冲,色彩属性缓冲的创建流程相同:顶点属性缓冲:首先给定数组:static const GLfloat g_vertex_buffer_data[] = { -1.0f,-1.0原创 2017-06-08 10:03:21 · 2708 阅读 · 0 评论 -
OpenGL 入门基础教程 —— 矩阵的变换
基础知识介绍:1:齐次坐标(Homogeneous coordinates)我们仍然把三维顶点视为三元组(x,y,z)。现在引入一个新的分量w,得到向量(x,y,z,w)。请先记住以下两点(稍后我们会给出解释):——若w==1,则向量(x, y, z, 1)为空间中的点。——若w==0,则向量(x, y, z, 0)为方向。二者有什么区别呢?对于旋转,这点区别倒无所谓。原创 2017-06-06 10:29:23 · 996 阅读 · 0 评论 -
OpenGL 入门基础教程 —— 打开第一个窗口
创建第一个窗口,所需要的东西:1:GLEW是一个跨平台的C++扩展库,基于OpenGL图形接口。使用OpenGL的朋友都知道,window目前只支持OpenGL1.1的涵数,但 OpenGL现在都发展到2.0以上了,要使用这些OpenGL的高级特性,就必须下载最新的扩展,另外,不同的显卡公司,也会发布一些只有自家显卡才支 持的扩展函数,你要想用这数涵数,不得不去寻找最新的glext.h,有原创 2017-06-05 10:06:26 · 1402 阅读 · 0 评论 -
OpenGL 入门基础教程 —— 在第一个窗口绘制一个三角形
首先了解缓冲区对象相关:1:缓冲区对象的定义GLuint vertexbuffer; //定义了一个unsigned int类型的正整形缓冲区对象2:创建缓冲区对象void glGenBuffers(GLsizei n, GLuint *buffers);//在buffers数组中返回当前n个未使用的名称,表示缓冲区对象3:激活缓冲区对象void glBindBuffe原创 2017-06-05 10:07:21 · 1226 阅读 · 0 评论 -
OpenGL 入门基础教程 —— 基本术语篇【3】
1:物体法线向量是一条垂直于某个表面的方向向量,在OpenGL中,可以对每个顶点都设置不同的法线(曲面),物体的法线向量定义了它的表面在空间中的方向,也就是说定义了它相对于光源的方向,在OpenGL中使用法线向量确定该物体的各个顶点所接收的光照,如果需要使用光照,则需要为每个顶点指定一条法线向量。2:使用glNormal *()函数,将当前的法线向量设置为这个函数的参数所表示的值,之后原创 2017-06-03 10:02:16 · 1068 阅读 · 0 评论 -
OpenGL 入门基础教程 —— VAO 和 VBO辨析
顶点缓冲对象(Vertex Buffer Objects,VBO)顶点缓冲对象VBO是在显卡存储空间中开辟出的一块内存缓存区,用于存储顶点的各类属性信息,如顶点坐标,顶点法向量,顶点颜色数据等。在渲染时,可以直接从VBO中取出顶点的各类属性数据,由于VBO在显存而不是在内存中,不需要从CPU传输数据,处理效率更高。所以可以理解为VBO就是显存中的一个存储区域,可以保持大量的顶点原创 2017-06-03 10:01:49 · 1507 阅读 · 0 评论 -
OpenGL 入门基础教程 —— 基本术语篇【1】
从头开始,了解了解~~1:OPENGL是图形硬件的软件接口,包含了很多函数,这些函数可以用于指定物体和操作,创建交互式的三维应用程序。2:OPENGL中根据几何图元创建形状,从而建立物体的数学描述(点、直线、多边形等等)3:颜色可以由三部分组成:程序明确RGB、特定光照条件、纹理贴图,可使用shader(着色器)来执行4:把物体的数学描述以及与物体相关的颜色信息转换为屏幕上原创 2017-06-02 10:05:11 · 1316 阅读 · 0 评论 -
OpenGL 入门基础教程 —— 基本术语篇【2】
只是术语的意义了解,并没有在代码层面进行实践1:在高抽象层次上,有三种绘图操作时最基本的:清除窗口、绘制几何图形、绘制光栅对象2:光栅对象:包括二维图像,位图以及字体等等3:实际的曲面或者表面都是由大量的小型多边形或是直线近似模拟出来的4:在计算机中,保存图片的内存通常被计算机所绘制的前一幅图像所填充,因此在绘制新场景之前,一般要把它清除为某种背景颜色5:清除窗口:原创 2017-06-02 10:05:33 · 870 阅读 · 0 评论 -
OGRE 固定相机/观察者视角方位的方法
问题背景:希望得到相同视角下的不同海平面的截图,所以需要设定视角,以便在进入软件时即可得到目标位置方法:首先调节到想要的视角位置,得到想要场景,再使用按键在终端输出相机的信息,在软件中设置相机的位置以及观察方向。1:OIS::Keyboard* mKeyboard; //定义一个按键事件的指针mKeyboard->capture();原创 2017-06-01 10:13:59 · 1560 阅读 · 0 评论 -
OGRE 向场景中添加船模型
第一步:获取OGRE所需模型信息,包括mesh、material、贴图文件具体可以从3D 建模的一些网站下载成熟的舰船模型,下载下来是3DS格式的,需要进行转换,可以使用maya或者3DMax软件进行转换第二步:将文件放入对应文件夹找到源文件中的Media文件夹,将.mesh文件放入到model文件夹下,将.material放入到 script 文件夹下,将对应贴图(一般是一些原创 2017-06-01 10:14:17 · 942 阅读 · 0 评论 -
LOD技术——定义详解及相关知识介绍
LOD技术——定义详解及相关知识介绍1:基本定义 LOD技术(Level Of Detail)指用若干不同复杂度的模型来表示同一对象的技术。此技术主要根据视点距离对象位置的变化调用不同复杂度的模型,即在较远时调用低复杂度模型,在较近时调用高复杂度模型。LOD技术主要通过设置模型的Switch In Switch Out值来实现不同视点距离显示不同复杂度模型。在实际开发中注意相原创 2016-12-12 15:43:48 · 7269 阅读 · 0 评论 -
基于OpenGL和LOD技术的海洋场景实时建模仿真
海洋场景建模仿真比较经典的参考文献:[1] Wan B, Peng X, Li X. Real-time ocean wave simulation based on ITTC spectrum using OpenGL[C]// International Conference on Computer Science & Education. IEEE, 2015.[2] Yin原创 2016-12-12 15:35:38 · 3081 阅读 · 1 评论