3D 引擎 Irrlicht -- Irrlicht 3D 代码简析

Irrlicht 是四大开源 3D 引擎之一(其余三者为 Orge、Nebula 与 KlayGE)。 Changes in 1.8.4 (9th July 2016, svn r5321)

几个有用的工具,用来抓取图形渲染帧,在分析其它项目以及排查渲染方面的 bug 时非常有用。 渲染帧抓取工具

Textures and Mapping

  • Bump mapping
  • Parallax mapping
  • Light maps
  • Sphere mapping

一些资料


Inigo Quilez’s Metaball on Shadertoy

okay

Shading and Lighting

irrlicht 引擎:真实的水面渲染

前置代码检查

git 检出指定版本代码

# [irrlicht] 提交原始 Irrlicht 代码
git checkout ea8f3ada185a44c77087a6735bf9a4c77fe875f6

比较版本差异

E:\kSource\pythonx>python codecompare.py allcode
3806
targetCount 4257 diffCount 0 missCount 0

irrlicht Android

ghd214/irrlichtAndroidGame [9 years ago]

a game demo on android using irrlicht,编译出来了,包含音乐等,还不错。

nonameentername/irrlicht-android [9 years ago]

通过 swig 链接,实现了基本的 JNI,是一个完整的例子,但是没有跑起来。

$(shell swig -c++ -java -package $(PACKAGE_NAME) \
    -outdir $(JAVA_DIR) \
    -o $(NDK_DIR)/wrapper_wrap.cpp \
    $(LOCAL_PATH)/wrapper.i \
)
#ifndef __IRRLICHT_NATIVE_H__
#define __IRRLICHT_NATIVE_H__

#include <string>

class NativeIrrlicht {
public:
    NativeIrrlicht();
    ~NativeIrrlicht();

    void onCreate();
    void onPause();
    void onResume();
    void onDestroy();
    void init();
    void initGL(int w, int h);
    void onResize(int w, int h);
    void sendEvent(int action, float x, float y);
    bool getStatus();
    void setPath(std::string path);
    void drawIteration();
};

dschaefer/irrlicht-android [11 years ago]

没找到 AndroidManifest.xml。

reizencroft/irrAndroid [9 years ago]

非 JNI 模式。

skylicht-lab/skylicht-engine [2 months ago]

  • Skylicht Engine, which is an evolution of the Irrlicht Project. We have upgraded more features: Sound Engine, Physics Engine, Particle Engine…
  • Irrlicht 引擎升级,涉及到一些纹理的处理,SPARK 粒子引擎值得研究一下。是一个非常完整的引擎,官网:skylicht.com。
  • Skylicht Particle Component is a cleanup version of SPARK. We have optimized by GPU Billboard Instancing.

nailgun/android_irrlicht_vuforia [9 years ago]

  • Vuforia 扩增实境软件开发工具包(英语:Vuforia Augmented Reality SDK),是高通推出的针对移动设备扩增实境应用的软件开发工具包。 它利用计算机视觉技术实时识别和捕捉平面图像或简单的三维物体(例如盒子), 然后允许开发者通过照相机取景器放置虚拟物体并调整物体在镜头前实体背景上的位置。没跑起来。
  • Demo android application with irrlicht and vuforia. Source based on image targets vuforia sample.

iaco79/IrrGameDemo [8 years ago]

  • 具备参考价值。Game Demo for Android / Win32 with Irrlicht, sdl2.0, librocket, box2d。
  • 更新,而且是 EDT_OGLES2。

  • $(call import-module, box2d)
  • $(call import-module, irrlicht)
  • $(call import-module, freetype2_static)
  • $(call import-module, librocket) 最主要的理念是以 css 和 html 的形式来设计界面,可以极大的降低开发界面的成本。
  • $(call import-module, libogg-1.3.0) The libogg package contains the Ogg file structure. This is useful for creating (encoding) or playing (decoding) a single physical bit stream.
  • $(call import-module, tremor) This README covers the Ogg Vorbis 'Tremor' integer playback codec source as of date 2002 09 02, version 1.0.0.
  • $(call import-module, sdl) SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用 C 语言写成。SDL 提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X 等)的应用软件。目前 SDL 多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。
  • $(call import-module, sdl_mixer) SDL_mixer is a sound mixing library that is used with the SDL library, and almost as portable.
  1. https://github.com/dschaefer/irrlicht-examples
  2. https://github.com/havlenapetr/gamekit
  3. https://github.com/cskeyn/BulletAndroid
  4. https://github.com/marky0720/IrrlichtAndroid
  5. https://github.com/nonameentername/pyirrlicht-android
  6. https://github.com/xiaomingzhong/IrrlichtAndroid-master

  7. https://github.com/vell001/irrlicht-android
  8. https://github.com/xiaomingzhong/irrlicht-android
  9. https://github.com/disktree/irrlicht
  10. https://github.com/xiaomingzhong/irrlicht-android-studio
  11. https://github.com/xiaobenshu/irrlicht_Android
  12. https://github.com/okuoku/irrlicht-android
  13. https://github.com/nailgun/irrlicht_android
  14. https://github.com/marky0720/irrlicht_Android_ogl_es 非 JNI 模式。
  15. https://github.com/arris69/IrrLicht-Android
  16. https://github.com/nailgun/irrlicht_android_viewer
  17. https://github.com/vell001/Irrlicht-vell
  18. https://github.com/danyr/gamekit
  19. https://github.com/antmuse/AntThread
  20. https://github.com/Picaroon/gamekit

https://github.com/wangtianhang/irrlicht https://github.com/Synxis/SPARK

这几个还需要 gitee 查找资料。

https://code.google.com/archive/p/wrapirrlicht-for-android/source https://www.codeproject.com/articles/333135/wrapping-irrlicht-for-android https://gitee.com/panqingyun/E3D-Engine

irrlicht Android


参考资料快照
参考资料快照

本文短链接:
If you have any questions or feedback, please reach out .