OpenGL系列之二十三:渲染3D模型
目录
效果展示
相关文章
OpenGL系列之一:OpenGL第一个程序
OpenGL系列之二:绘制三角形
OpenGL系列之三:三角形顶点增加颜色
OpenGL系列之四:绘制四边形
OpenGL系列之五:绘制点和线
OpenGL系列之六:绘制立方体
OpenGL系列之七:纹理贴图
OpenGL系列之八:立方体纹理贴图
OpenGL系列之九:glsl着色器语言
OpenGL系列之十:VAO、VBO、EBO的应用
OpenGL系列之十一:Shader图片转场切换动画
OpenGL系列之十二:Shader燃烧动画
OpenGL系列之十三:实现Shader绚丽动画
OpenGL系列之十四:实现相机抖音特效
OpenGL系列之十五:实现美颜相机
OpenGL系列之十六:实现大眼特效
OpenGL系列之十七:实现人脸贴纸
OpenGL系列之十八:FBO离屏渲染
OpenGL系列之十九:OpenGL人脸贴纸
OpenGL系列之二十:EGL
OpenGL系列之二十一:投影变换
OpenGL系列之二十二:基础光照
参考文章
https://blog.csdn.net/Kennethdroid/article/details/103825593
实现步骤
1.引入渲染代码
这里由于我是参考的https://blog.csdn.net/Kennethdroid/article/details/103825593这篇文章的代码,将里面的关于3D渲染的部分单独抽出来了,具体的话可以看下这篇文章是如何说的,其实主要就是使用了Assimp库进行了渲染,下面我主要说下如何加入自己的3D模型
2.下载3D模型
这里我选择的是https://www.cgtrader.com/,这上面有很多免费的模型,我选择的是这款模型,旁边会显示可下载的资源,这里把.obj格式的模型下载下来,然后还有对应的texture和mtl文件
3.导入模型
这里我为了方便直接把模型拷到SD卡了如下所示
这里我们也需要修改下.mtl文件,里面有texture的对应关系
# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware
# File Created: 18.02.2019 01:25:07
newmtl wire_143224087
Ns 32
d 1
Tr 0
Tf 1 1 1
illum 2
Ka 0.5608 0.8784 0.3412
Kd 0.5608 0.8784 0.3412
Ks 0.3500 0.3500 0.3500
map_Ka textures/mask_diffuse.tif
map_Kd textures/mask_diffuse.tif
map_Ks textures/mask_glossiness.tif
map_bump textures/mask_normal.tif
bump textures/mask_normal.tif
4.渲染模型
修改对应的文件位置,即可运行应用,看到渲染效果了