KlayGE-001-简介

请添加图片描述

KlayGE 引擎学习-001

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lWlSlet9-1680688988724)(images/KlayGE_logo.png)]

一、KlayGE引擎介绍

软件简介

KlayGE中文译为:粘土游戏引擎,是一个开源、跨平台,基于插件结构的游戏引擎。该引擎从 2003 年开始研发,设计目的是用最先进的技术武装引擎,使游戏的开发、测试、移植得到简化。

该引擎是国人龚敏敏开发!

技术特性:

  • 图形

    • 支持 DirectX 11-12.0,OpenGL 2.0-4.6,以及 OpenGL ES 2.0

    • 采用 fxml 作为可渲染物体的特效脚本,可以直接把美工生成的特效导出使用

    • Python 脚本可以在运行期动态解释,所以修改脚本以后不需要重新编译

    • 可以通过高度图来建立地形场景

    • 支持骨骼动画

    • 硬件遮挡裁减

    • 粒子系统

    • 后处理技术

    • 自适应硬件状态缓存和延迟更新机制

    • 支持逐像素光照和渲染技术

    • 基于距离场的字体系统,兼有矢量字体和点阵字体的优点
      支持过程纹理

    • 支持次表面散射,可用于渲染树叶、皮肤、玉器等半透明材质

    • 支持 PN Triangles 技术,在运行期自动光滑低模

  • 着色

    • ·包含常用操作的 shader
    • 完全抽象出图形 API
    • 多遍渲染
    • 完全支持可编程着色
    • 可以使用多条渲染流
  • 光照

    • 动态光照
    • 全方向阴影贴图
  • 音频

    • 支持各种平台的音频输出
    • 支持 3D 声音定位和多普勒效应
    • 输入格式支持 Ogg Vorbis
    • 支持流式播放
  • 工具

    • 法线图生成器,可以从高度图生成法线图
    • 距离图生成器,可以从高度图或 3D 纹理生成距离图
    • MeshML 导出插件,从 3ds Max 导出模型
    • OpenGL 兼容性检测工具
      HDR 压缩器,支持 cubemap 和 2D HDR 纹理的压缩
    • Normalmap 压缩器,2:1 或 4:1 的压缩率
    • 基于 distance 的字体生成器,可以把矢量字体转换成引擎使用的字体格式
    • FXML2Shader 工具,把 FXML 的特效脚本转换成 HLSL 或 Cg
  • 程序特性

    • KlayGE 是开放源代码的,包含了 100% 的引擎、工具的源代码。
    • 可扩展的、面向对象的 C++ 引擎,带有用于静态和动态加载代码和资源的软件架构,易于移植和调试。
    • 用 Python 作为脚本语言,提供了对动态数据的自动支持,开发调试方便,并很容易和 C++ 主程序配合工作。

二、主要模块介绍

KlayGE的设计也比较容易理解,大体分成以下几部分:

  • DXBC2GLSL DX-GLSL shader转换工具

  • External: 第三方扩展依赖库

    • 7z:压缩
    • assimp: 外部模型导入
    • D3dCompiler: dx HLSL 编译工具
    • fmt:
    • FreeImage:
    • freetype
    • goolgetest: 测试框架
    • libogg: 音频
    • liborbis:
    • openal-soft
    • Python
    • zlib
  • glloader: OpenGL API 接口加载

  • KFL: 基础公共库

  • kfont: 字体库

  • KlayGE: 引擎库

    • Engine: 引擎主体

      • Core

        • KlayGE_Core

        • KlayGE_RC

        • TableGen

      • KGEConfig

      • Plugins

        • Audio
          • KlayGE_AudioDataSource_NullAudioDataSource
          • KlayGE_AudioDataSource_OggVorbis
          • KlayGE_AudioEngine_NullAudio
          • KlayGE_AudioEngine_OpenAL
          • KlayGE_AudioEngine_XAudio
        • Devhelper
          • KlayGE_DevHelper
        • Render
        • KlayGE_RenderEngine_D3D11
        • KlayGE_RenderEngine_D3D12
        • KlayGE_RenderEngine_NullRender
        • KlayGE_RenderEngine_OpenGL
        • Input
          • KlayGE_InputEngine_MsgInput
          • KlayGE_InputEngine_NullInput
        • Scene Management
          • KlayGE_Scene_OCTree
        • Script
          • KlayGE_ScriptEngine_NullScript
          • KlayGE_ScriptEngine_Python
        • Show
          • KlayGE_ShowEngine_DShow
          • KlayGE_ShowEngine_MFShow
          • KlayGE_ShowEngine_NullShow
    • Samples

      • AreaLighting
      • AtmosphericScattering
      • CascadedShadowMap
      • CausticsMap
      • DeepGBuffers
      • DeferredRendering
      • DetailedSurface
      • DetailedSurfaceDR
      • EnvLighting
      • Foliage
      • GPUParticleSystem
      • JudaTexViewer
      • Metalness
      • Metalness
      • MotionBlurDoF
      • Ocean
      • OIT
      • ParticleEditor
      • PostProcessing
      • ProceduralTex
      • Reflection
      • SampleCommon
      • ScenePlayer
      • ShadowCubeMap
      • SkinnedMesh
      • Sound
      • SSSSS
      • SubSurface
      • Text
      • VDMParticle
      • VectorTex
      • VideoTexture
    • Tests

      • Tests
    • Tools

      • KGEditor

        • KGEditor
        • KGEditorCore
        • KGEditorCoreWrapper
      • MtlEditor

        • MtlEditor
        • MtlEditorCore
        • MtlEditorCoreWrapper
      • TexViewer

        • TexViewer
        • TexViewerCore
        • TexViewerCoreWrapper
      • ColorGradingTexGen

      • D3DCompilerWrapper

      • DistanceMapCreator

      • FFTLensEffectsGen

      • Fxml2Shader

      • FxmlJit

      • GLCompatibility

      • GLESCompatibility

      • HDRCompressor

      • HWCollect

      • ImposterGen

      • JudaTexPacker

      • KFontGen

      • NoiseTexGen

      • Normal2NaLength

      • PlatformDeployer

      • PrefilterCube

      • Tex2JTML

      • ToolCommon

      • VectorTexGen

    • Tutorials

      • DistanceMapping

      • Fractal

      • InputCaps

      • RasterizationOrder

      • Refract

      • Tessellation

      • Tutor1

      • Tutor2

      • VertexDisplacement

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值