/OpenGLES3_tutorial

Samples for OpenGLES 3 by kotlin.

Primary LanguageKotlinGNU Affero General Public License v3.0AGPL-3.0

OpenGLES3_tutorial

Samples for OpenGLES 3 by kotlin.

模块列表

  • triangle 绘制简单三角形

  • rectangle 绘制矩行(分别使用glDrawArrays和glDrawElements绘制矩形)

  • star 绘制五角星

  • matrix 矩阵变换

    • projMatrix:投影矩阵,由Matrix.frustumM(透视投影)或者Matrix.orthoM(正交投影)设置
    • viewMatrix:摄像机位置,由Matrix.setLookAtM设置
    • modelMatrix:模型矩阵,默认设置成单位矩阵,可以对其做平移,旋转,缩放等变换

    最终矩阵 = projMatrix * viewMatrix * modelMatrix

  • circle 绘制圆(多边形)

  • cube 绘制立方体

  • ball 绘制球

  • cone 绘制圆锥体

  • cylinder 绘制圆柱体

  • light 光照模型(OpenGL采用冯氏光照模型)

    • 环境光照射结果 = 材质的反射系数 * 环境光强度
    • 散射光照射结果 = 材质的反射系数 * 散射光强度 * max(cos(入射角), 0)
    • 镜面光照射结果 = 材质的反射系数 * 镜面光强度 * max(0, (cos(半向量与法向量的夹角))粗糙度)
  • texture 绘制纹理

  • teapot 从模型文件加载一个茶壶

  • camera 实现相机预览效果(实时滤镜)