摘要:
1 选择结构 Kotlin 中选择结构主要包含 if -else、when 语句,并且可以返回结果。 1.1 if-else 1.1. 条件选择 fun main() { var score = 85 if (score >= 90) { println("优秀") } else if (sco 阅读全文
摘要:
1 变量 1.1 变量声明 var a : Int // 声明整数类型变量 var b : Int = 1 // 声明整数类型变量, 同时赋初值为1 var c = 1 // 声明整数类型变量, 同时赋初值为1 val d = 1 // 声明整数类型常量, 值为1(后面不能改变d的值) 变量命名 阅读全文
摘要:
1 前言 Kotlin 是一种现代但已经成熟的编程语言,由 JetBrains 公司于 2011 年设计和开发,并在 2012 年开源,在 2016 年发布 v1.0 版本。在 2017 年,Google 宣布 Kotlin 正式成为 Android 开发语言,这进一步推动了 Kotlin 的普 阅读全文
摘要:
1 前言 本文主要介绍 Filament 的材质系统,官方介绍详见 → Filament Materials Guide。材质系统中会涉及到一些空间和变换的知识点,可以参考:【Unity3D】空间和变换、【Unity3D】Shader常量、变量、结构体、函数、【OpenGL ES】MVP矩阵变换 阅读全文
摘要:
1 前言 本文将使用 Filament 制作壁纸。Android 中要实现自定义壁纸,需要继承 WallpaperService 和 WallpaperService.Engine,并在 onCreateEngine 方法中返回自定义 Engine 的实例。 public class MyWal 阅读全文
摘要:
1 前言 自定义Blinn Phong光照模型中实现了基础的自定义光照,与现实的光照还是有些差别,本文将实现更逼真的光照效果,即基于物理的光照(PBR)。 读者如果对 Filament 不太熟悉,请回顾以下内容。 Filament环境搭建 绘制三角形 绘制矩形 绘制圆形 绘制立方体 纹理贴图 阅读全文
摘要:
1 前言 光照元素主要有环境光(ambient)、漫反射光(diffuse)、镜面反射光(specular),基础的光照模型主要有兰伯特(Lambert)光照模型、冯氏(Phong)光照模型和改进的冯氏(Blinn Phong)光照模型。 Lambert 光照模型只包含漫反射光的计算,Pho 阅读全文
摘要:
1 前言 3D 模型的常用格式主要有 obj、fbx、gltf 等,Filament 中的 filamesh.exe 工具可以将 obj、fbx 格式转换为 filamesh 格式,然后再加载显示。对于 gltf 格式模型,可以通过 ModelViewer 加载显示,这不在本文的讨论范围内。 阅读全文
摘要:
1 前言 本文通过一个立方体贴图的例子,讲解三维纹理贴图(子网格贴图)的应用,案例中使用 6 张不同的图片给立方体贴图,图片如下。 读者如果对 Filament 不太熟悉,请回顾以下内容。 Filament环境搭建 绘制三角形 绘制矩形 绘制圆形 绘制立方体 纹理贴图 2 立方体贴图 本 阅读全文
摘要:
1 前言 本文主要介绍使用 Filament 实现纹理贴图,读者如果对 Filament 不太熟悉,请回顾以下内容。 Filament环境搭建 绘制三角形 绘制矩形 绘制圆形 绘制立方体 Filament 纹理坐标的 x、y 轴正方向分别朝右和朝上,其 y 轴正方向朝向与 OpenGL ES 阅读全文