龙云尧个人博客,转载请注明出处。 CSDN地址:http://blog.csdn.net/michael753951/article/details/75074051 个人blog地址:http://yaoyl.cn/huan-jing-da-jian-si-2/ 障碍物移动的改进 在之前的版本中.我们的障碍物移动和场景移动放在同一个for循环中,虽然减少了代码的操作,但是很容易出现边界问题,程序运行中往往会出现障碍物骤现,或者障碍物还未抵达车前方便突然消失的情况,为了修改这出bug,我将重写这部分代码. 需求分析 无脑写代码的多数结果都是bug不断,并且写完后文就忘记前文.为了提高代码的清晰度和准确性,挺尸帮我们捋清思路,我们先通 …
阅读更多龙云尧个人博客,转载请注明出处。 CSDN地址:http://blog.csdn.net/michael753951/article/details/75073755 个人blog地址:http://yaoyl.cn/huan-jing-da-jian-san/ 移动场景的环境搭建 需要移动的场景主要集中在公路,草坪,楼房和障碍物.下面我将逐一实现它们的移动. 公路以及草坪的移动 公路的移动较为简单,还记得我们在第一节中那个run_len变量么,在这里我们将使用它进行操作,已达到移动的效果.代码如下: 1 /* 开始进行场景移动 / 2 go_ahead_rate += go_ahead_ac; 3 / 防止速度过快 */ 4 …
阅读更多龙云尧个人博客,转载请注明出处。 CSDN地址:http://blog.csdn.net/michael753951/article/details/75073580 个人blog地址:http://yaoyl.cn/huan-jing-da-jian-er/ 基本素材和环境的准备 显示列表 基本准备 显示列表部分的内容请先阅读<nehe学习笔记(九)>的"显示列表"部分.这里我就不再对代码进行一一解读了. 为了适应本次实验的需求,我们需要对boxcol数组进行适当修改,将原本的正方体模型数组转修改长方体,其中,顶点的绘制准则在<nehe学习笔记(八)>中有绘图进行描述. BuildList函数填充 根据<nehe学习笔记(九)>中 …
阅读更多龙云尧个人博客,转载请注明出处。 CSDN地址:http://blog.csdn.net/michael753951/article/details/75073333 个人blog地址:http://yaoyl.cn/huan_jing_da_jian_yi/ 综述 本篇博客将对整个虚拟环境的搭建进行一个综述,后续将会对环境中各个功能的实现进行一一解释分析. 功能 整个pro实现了模仿一辆车在街道上进行奔驰的场景(目前实现的是在直道上行驶,后续会加入转弯功能).项目的运行效果如图所示. 简单描述 为了实现上述功能,我将整个项目大致分为如下几块. …
阅读更多龙云尧个人博客,转载请注明出处。 CSDN地址:http://blog.csdn.net/michael753951/article/details/72810534 个人blog地址:http://yaoyl.cn/nehexue-xi-bi-ji-shi/ 概述 本部分博客将以nehe教程第2课,笔记(三)为蓝本,将Windows中完成的基础实验在Ubuntu中进行实现。 在【Ubuntu环境配置】中我们已经对Ubuntu中的OpenGL环境进行了配置,并且完成了最基础的茶壶demo,接下来我们将进行实验相关的后续开发。 需求分析 因为实验中我们需要终端接收到的数据能够在图形界面中实时显示出来,这里我们使用nehe教程的第二课内 …
阅读更多龙云尧个人博客,转载请注明出处。 CSDN地址:http://blog.csdn.net/michael753951/article/details/71750809 个人blog地址:http://yaoyl.cn/nehexue-xi-bi-ji-jiu/ 前言 本次笔记为nehe课程第11课的学习内容,通过实验,我们可以利用正弦函数绘制一个舞动的旗帜。在本次课程中,我们也将学习OpenGL中glPolygonMode函数对一个模型的正面和反面进行不同模式的绘图。 glPolygonMode 函数介绍 本部分内容请先查看前人整理的博客【OpenGL学习笔记(7)多边形绘制】。请先仔细阅读该博客,理解如何区分模型中的正面反面(依然 …
阅读更多龙云尧个人博客,转载请注明出处。 CSDN地址:http://blog.csdn.net/michael753951/article/details/71702311 个人blog地址:http://yaoyl.cn/nehexue-xi-bi-ji-ba/ 前言 本部分单独讲Lesson10的内容,本次讲述重点将不再是作者在代码中各种方法如何如何调用,比如如何实现旋转,如何绘制图像,如何实现透明,如何实现步进等等,这个在我前面7篇笔记中已经有详细的说明了,本篇笔记将不再重复,如果有什么疑问可以翻我之前的笔记或者上网查询。 本次实验参变量不少,作者通过代码带我们真正的实现了一个3D世界,我们可以在这个3D世界里面自由的走动和观察。( …
阅读更多龙云尧个人博客,转载请注明出处。 CSDN地址:http://blog.csdn.net/michael753951/article/details/71511785 个人blog地址:http://yaoyl.cn/nehexue-xi-bi-ji-qi-2017-05-09-20-59/ 我们在前六个部分已经尝试了nehe教程中1-8可得所有内容,接下来第七部分将实现一个简单的实验,这个实验将涵盖前面所有的内容,以作为一个前期总结。 前期准备 在实验之前,我们需要知道一个OpenGL中的基本概念。OpenGL中glEnable方法的使用。关于这个功能函数的使用以及参数设定,你可以点击【gl.glenable()介绍】以 …
阅读更多龙云尧个人博客,转载请注明出处。 CSDN地址:http://blog.csdn.net/michael753951/article/details/71407260 个人blog地址:http://yaoyl.cn/nehexue-xi-bi-ji-liu-2017-05-08-13-54/ 混合 我们在很多场合都过这样的经历,在设置某些色块的颜色的时候,我们不光要设置它的RGB值,还可能需要设置它的Alpha值。一般理解上,我们都认为这个Alpha值代表了当前色块的透明度。这样只是最外在的理解,其实图像的透明是一个颜色的混合过程,当有两种颜色混叠的时候,这个Alpha是用来控制两种颜色的混色程度的一种值。 颜色的混合公式 …
阅读更多龙云尧个人博客,转载请注明出处。 CSDN地址:http://blog.csdn.net/michael753951/article/details/71316132 个人blog地址:http://yaoyl.cn/nehexue-xi-bi-ji-wu/ 这次我们将尝试Lesson6和Lesson7的内容。这个部分我们将学习怎么给一个模型进行纹理映射(其实就是贴图)。 环境搭建 这次实验因为需要使用OpenGL的glaux.h库头使用位图对构建的图形进行纹理映射。所以我们需要进一步进行环境搭建。(注:环境搭建很麻烦,因为微软的VS环境很乱) 如何布置这个库头可以参考【 VS2008无法打开gl/glaux.h头文件的解决方法】我 …
阅读更多