【纹理展开与纹理映射】

1.Projective Urban Texturing (blender+opengl)

这篇文章是用OpenGL来完成纹理映射,用Blender完成纹理展开的。
Projective Urban Texturing

1.1 OpenGL和Blender是如何对应的

在Blender中导入或创建您想要纹理化的3D模型,并设置好相机位置和投影方式。
在Blender中对3D模型进行UV展开,生成一个空白的纹理地图,并保存为图片文件。
在OpenGL中加载3D模型和空白的纹理地图,并将它们绑定到一起。
在OpenGL中使用文章中提供的神经网络和纹理传播模块,根据您选择的真实城市风格,生成并更新纹理地图。

其中,在OpenGL中加载3D模型和空白的纹理地图,并将它们绑定到一起的具体步骤如下:

首先,您需要在OpenGL中加载3D模型。这可以通过使用OpenGL的顶点缓冲区对象(VBO)来完成。VBO是一种用于存储顶点数据的缓冲区对象,可以通过调用glGenBuffers、glBindBuffer和glBufferData等函数来创建和使用。

接下来,您需要在OpenGL中加载空白的纹理地图。这可以通过使用OpenGL的纹理缓冲区对象(TBO)来完成。TBO是一种用于存储纹理数据的缓冲区对象,可以通过调用glGenTextures、glBindTexture和glTexImage2D等函数来创建和使用。

然后,您需要将3D模型和纹理地图绑定到一起。这可以通过调用glBindTexture函数来完成。在调用该函数时,您需要指定要绑定的纹理单元和要绑定的纹理ID。

最后,您需要将纹理坐标传递给着色器程序。这可以通过使用OpenGL的顶点数组对象(VAO)来完成。VAO是一种用于存储顶点属性数据的缓冲区对象,可以通过调用glGenVertexArrays、glBindVertexArray和glVertexAttribPointer等函数来创建和使用。

1.2 PUT输出接口说明

1.2.1 Extract viewpoints and renderings from a scene

1.2.1.1 Use smart-unwrap to create uv coordinates and store your mesh as .obj file.

Use smart-unwrap to create uv coordinates

  1. 选择要创建UV坐标的网格。
  2. 进入编辑模式。
  3. 按下A键,这将选择所有面。
  4. 按下U键,选择Smart Unwrap。
  5. 在弹出的窗口中,调整选项以满足您的需求。
  6. 点击“OK”以应用Smart Unwrap。

store your mesh as .obj file

  1. 选择要导出的网格。
  2. 按下Tab键,进入对象模式。
  3. 选择“文件”菜单中的“导出”选项。
  4. 在弹出的窗口中,选择“Wavefront(.obj)”格式。
  5. 在“导出OBJ”窗口中,勾选“包括UV”选项。(默认勾选)
  6. 点击“导出”按钮。

导出UV模板
在这里插入图片描述
在这里插入图片描述

1.2.1.2 grayscales rendering and viepoints’ rotation and tranlation matrices.

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沃洛德.辛肯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值