当前位置: 首页 > news >正文

jsp做网站遇到的问题哪有免费的网站

jsp做网站遇到的问题,哪有免费的网站,可信网站身份认证,o2o模式成功案例HNU计算机图形学-作业二 作业二:纹理和照明前言介绍实施详细信息任务1:加载复杂对象任务2:纹理映射和照明任务3:互动活动和动画额外任务:增强场景的视觉效果(最高20%) 最终实现效果 作业二&…

HNU计算机图形学-作业二

  • 作业二:纹理和照明
    • 前言
    • 介绍
    • 实施详细信息
      • 任务1:加载复杂对象
      • 任务2:纹理映射和照明
      • 任务3:互动活动和动画
      • 额外任务:增强场景的视觉效果(最高20%)
    • 最终实现效果

作业二:纹理和照明

前言

完整工程文件

说实话第二次作业和第一次作业相比也没多什么东西,就是用了一些更高级点的技术(光照,纹理和3D模型等等),纯粹就是将各个模型堆在一起而已,但也完成了文档要求的所有内容。至于assimp库是从网上下载的,摄像机类和shader和texture类是从learnOpenGL这个网站抄的。凑合看看吧

介绍

在本任务中,您需要使用OpenGL构建一个更加逼真和复杂的场景。为了完成这项任务,您将在OpenGL中体验更多功能,包括照明、复杂的模型构建和加载、纹理映射和交互式事件。您将使用基本体图形 或直接从.obj文件加载三维模型,然后查看/建模变换以创建此三维场景。将使用纹理贴图和照明使场景和对象更加逼真。鼠标/键盘输入和窗口事件处理将有助于实现交互式动画。

在这里插入图片描述

在该指定中,场景中有两个模型。其中一个(背景雪原)比较简单,另一个(企鹅)比较复杂。我们可以自己设计背景雪原的顶点属性。然而,对于企鹅来说,它是如此复杂,以至于我们需要通过.obj文 件加载模型。此外,雪原和企鹅被渲染成不同的纹理和灯光效果。所显示的场景可以通过用户的交互式输入来控制。您还可以丰富在指定1中创建的场景。

实施详细信息

任务1:加载复杂对象

使用Open Asset Import Library,或我们拥有的函数Model loadOBJ(const char*objPath)给定加载至少一个复杂模型,即演示程序中的企鹅。在本部分中,您可以通过修改void sendDataToOpenGL()子例程来使用Model loadOBJ(const char*objPath)`函数。

我们在演示程序中提供了模型,即snowfield.objpenguin.obj。我们鼓励您从Internet下载其他.obj文件或使用Blender来设计您的对象。

(你需要检查penguin.obj,因为如果你直接画企鹅,它会非常巨大。具体来说,你需要做一些转换。)

任务2:纹理映射和照明

您需要将不同的纹理映射到两个模型,即演示程序中的雪地和企鹅。我们将使用(请参阅依赖项/stb_image)来加载纹理图像。您需要使用键盘交互来更改企鹅的纹理。您首先需要生成一个OpenGL纹理, 并通过修改void texture::setupTexture(const char*texturePath)子例程来设置纹理参数。

然后,分别在void sendDataToOpenGL()void paintGL(void)子例程中加载纹理并将其绑定到不同的模型。stb imagelibrary

在这里,我们还在演示程序中提供了两个模型的纹理,也鼓励您从互联网上下载其他纹理或自己绘制/过滤纹理。

此外,3D场景应使用至少两个光源进行照明。一个应该是环境(定向)灯。对于其他光源,您可以 自己决定位置和颜色。添加此类光源的主要目的是在模型上产生漫射光和镜面光效果。您可以通过修改void paintGL(void)子例程来完成此操作。

任务3:互动活动和动画

在此任务中,您需要实现以下交互式事件和动画:

(a) 照明控制

按“w”键和“s”键可分别增加和减少定向光的亮度。

(b) 纹理控制

按“1”和“2”键为企鹅切换两种不同的纹理,我们还提供了两种可以应用于企鹅的纹理。(即penguin/penguin_01.jpg,penguin/penguin_02.jpg

按“3”和“4”键可以切换雪原的两种不同纹理,我们还提供了两种可以应用于企鹅的纹理。(即雪地/雪地_01.jpg,雪地/雪地_02.jpg

© 对象控件

按下箭头键“↑↓←→”

以控制企鹅的运动。具体而言,“↑↓”

分别指示向前和向后移动。“←→”

分别指示向左和向右旋转。(请参阅演示程序中企鹅的动画)

(d) 视图控件

通过鼠标控制摄像机的视图,这意味着:

当单击左键,鼠标上下移动时,您看到的整个场景会相应地上下移动。

(请参阅演示程序。不需要右键单击功能。)

在本任务中,您可以修改以下子程序来实现上述要求:

void mouse_button_callback(GLFWwindow*窗口,int按钮,int操作,int mods)
{
// Sets the mouse-button callback for the current window.
}
void cursor_position_recallback(GLFWwindow*窗口,双x,双y)
{
// Sets the cursor position callback for the current window
}
void scroll_callback(GLFWwindow*窗口,双xoffset,双yoffset)
{
// Sets the scoll callback for the current window.
}
void key_callback(GLFWwindow*窗口,int键,int扫描代码,int操作,int mods)
{
// Sets the Keyboard callback for the current window.
}

额外任务:增强场景的视觉效果(最高20%)

OpenGL为您的程序提供了许多功能来创建各种视觉效果。你可以自己研究它们,并将它们引入作业中

以下是一些建议的改进:

• 加载更复杂的模型,并将其他纹理映射到它们上,以形成一个有意义的场景。(10%)

• 使用不同类型的光源来制作有意义的场景,例如Pointlight、Spotlight等的组合(10%)

• 复杂模型上的阴影映射。(10%)

• 绘制点或线来跟踪其中一个复杂模型的运动。(10%)

• 任何其他有趣的效果。

最终实现效果

在这里插入图片描述

夜晚开灯效果:

在这里插入图片描述

使用方法:

Manipulation:
Key:
Key “ESC”:退出程序
Key “1”:切换企鹅模型纹理
Key “2”:切换企鹅模型纹理
Key “3”:切换雪地模型纹理
Key “4”:切换雪地模型纹理
Key “W”:定向光加强
Key “S”:定向光减弱
Key “ENTER”:切换球场地板贴图
Key “X”:白天和黑夜模式切换(注:白天和黑夜分别有太阳模型和月球模型在上空移动,用于模拟太阳东升西落)
Key “Z”:球场四盏路灯的照明开关
Key “UP”:控制企鹅前行
Key “DOWN”:控制企鹅后退
Key “LEFT”:控制企鹅左转
Key "RIGHT:控制企鹅右转
Key "SPACE:控制企鹅跳跃

//以下功能得在退出第三人称跟随时使用,如何退出请看鼠标事件
Key “T”:控制摄像机前移
Key “G”:控制摄像机后移
Key “F”:控制摄像机左移
Key “H”:控制摄像机右移

Mouse:
鼠标左键:第三人称视角跟随开关(初始默认开启)
鼠标右键:手电筒开关(需在关闭第三人称跟随时才能使用)
鼠标滑轮:控制屏幕视角大小
鼠标移动:当关闭第三人称跟随时摄像机会跟随鼠标移动而移动

//注意:本项目有个小bug,当退出第三人称视角跟随并且再次移动摄像机位置,然后再点击左键回到第三人称视角时,摄像机的主视角可能会不正对企鹅模型(或者视角丢失),需要再退出第三人称跟随然后重新调整摄像机位置和视角。

用)
鼠标滑轮:控制屏幕视角大小
鼠标移动:当关闭第三人称跟随时摄像机会跟随鼠标移动而移动

//注意:本项目有个小bug,当退出第三人称视角跟随并且再次移动摄像机位置,然后再点击左键回到第三人称视角时,摄像机的主视角可能会不正对企鹅模型(或者视角丢失),需要再退出第三人称跟随然后重新调整摄像机位置和视角。

就这样吧,简简单单的一个作业。第三次就是比较有难度的。

http://www.hkea.cn/news/99272/

相关文章:

  • 网站建设报价流程免费培训网站
  • 聊城网站建设服务好最新网域查询入口
  • 一般网站建设流程有哪些步骤官方百度app下载安装
  • 档案网站建设的步骤八大营销方式有哪几种
  • 手机网站免费制作平台semseo
  • 周口市做网站小红书seo排名
  • 网站开始怎么做的ps培训
  • 去哪个网站找题目给孩子做保定百度首页优化
  • 五道口网站建设惠州seo外包服务
  • 如何查看网站是否备案企业宣传册
  • 好的网站建设公司排名互联网宣传推广
  • 上海买二手房做哪个网站好seo快速排名优化
  • 十大中国网站制作免费广告
  • wordpress 文章主题关键词推广seo
  • 佛山网站建设佛山网络推广代运营公司靠谱吗
  • 贵阳疫情最新消息站内seo优化
  • wordpress相关问题深圳百度关键字优化
  • 做国珍新时代 网站陕西seo顾问服务
  • 建立网站怎么做关键字搜索引擎营销的作用
  • 广州手机网站建设宁波seo优化费用
  • 怎么设置网站服务器宁德市教育局官网
  • 查看网站源代码建站可以牛排seo系统
  • 政府网站建设的基本原则百度网盘电脑版
  • 张家港网站建设福州百度快速优化
  • 兼职做网站编辑百度搜索推广开户
  • 谁告诉你j2ee是做网站的宁波网站推广找哪家公司
  • 谷歌外贸建站多少钱搭建网站教程
  • 赚钱靠普的网站关键字搜索软件
  • 建设银行深分行圳招聘网站做游戏推广一个月能拿多少钱
  • 北京网站建设及推广招聘关键词排名代做