ubuntunux / PyEngine3D

PyEngine3D is open source opengl 3d engine project wirtten in python.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PyEngine3D

Welcome to PyEngine3D

Requirements

  • OpenGL 4.3 ( Shading language 430 )
  • numpy
  • pillow
  • pyglet or pygame
  • PyOpenGL
  • PyOpenGL-accelerate ( optional )
  • Windows, Linux, Mac(not tested)

How to install PyEngine3D

  git clone https://github.com/ubuntunux/PyEngine3D
  cd PyEngine3D
  pip install -r requirements.txt
  python main.py

Trouble Shooting

Crash issue using anaconda

Traceback (most recent call last):
  File "main.py", line 44, in <module>
    from PyEngine3D.Common import CustomQueue, CustomPipe
  File "C:\Users\quint\OneDrive\Documents\Git BASH FOLDER\PyEngine3D\PyEngine3D\Common\__init__.py", line 3, in <module>
    from PyEngine3D.Utilities import Logger
  File "C:\Users\quint\OneDrive\Documents\Git BASH FOLDER\PyEngine3D\PyEngine3D\Utilities\__init__.py", line 4, in <module>
    from .ImageProcessing import *
  File "C:\Users\quint\OneDrive\Documents\Git BASH FOLDER\PyEngine3D\PyEngine3D\Utilities\ImageProcessing.py", line 6, in <module>
    from PIL import Image
  File "C:\Users\quint\Anaconda3\lib\site-packages\PIL\Image.py", line 90, in <module>
    from . import _imaging as core
ImportError: DLL load failed
Solution1)
conda install -c anaconda pillow

Solution2)
conda install --channel conda-forge pillow=5

Solution3)
conda remove pillow
pip install pillow

Features

  • Features : https://www.youtube.com/watch?v=Lpuxi2O5fiA

  • pybullet example : https://github.com/ubuntunux/PyBullet3D

  • Import

    • Mesh
      • .obj, .dae ( colada )
      • .fbx
      • gltf, blender
    • Texture
      • .png, .tga, .bmp etc
      • Compressed Texture (ETC, DDS)
  • Light

    • Directional light & Shadow mapping
    • Spot light
    • Area light
    • Point light
      • shadow map using dual paraboloid mapping
  • Particle System

    • CPU Based Particle
    • GPU Based Particle GPU Based Particle
    • Vector Field
    • Particle spawn on polygon surface
    • Bitonic Sorting
    • Memory Pool
    • Attractor
    • Noise
    • Curl Noise
  • Object

    • Select, Move, Modify
    • Gizmo
    • Skeleton Mesh
    • Static Mesh
    • Tree, Foliage, Grass
    • Terrain Terrain
    • Atmoshpere & Sky Atmoshpere0 Atmoshpere1 Atmoshpere2 Atmoshpere3 Atmoshpere4
    • Road
    • Wind
    • FFT Ocean FFT Ocean0 FFT Ocean1
    • River
  • Rendering

    • Culling
      • occlusion culling
      • distance culling
      • view frustum culling
    • VTF Skinning
    • Calculate the animation in gpu
    • Distance Field Font
    • Real time light probe
    • PBR PBR
    • Temporal AA
    • SSAA
    • MSAA
    • Temporal Upsacle
    • Screen Space Relfection Screen Space Relfection
    • Screen Space Ambient Occlusion
    • Screen Space Bevel
    • Screen Space SSS
    • Depth Of Field
      • Bokeh
    • Bloom Bloom
    • Tone mapping
    • Glare
    • Film Grain
    • Color Correction
    • Color Grading
    • Light Shaft Light Shaft
    • Motion Blur
      • Recursive Velocity
    • Parallax Occlusion Rendering
    • Paraboloid environment map
    • Voxel Based GI
    • Volumtric Scattering
    • Fur Rendering
  • Resource Manager

    • Load / Save / Import / Export
    • Unload / Reload system
    • Duplicate resource
    • Sound Manager
    • Script Manager
  • Blender3D plugin

    • transfer geometry, animation, scene datas
    • edit animation, scene, sequence, particles in blender
  • InGame GUI

    • input / output
    • progress bar
    • button
  • Optimize

    • Only dynamic shadows are updated on every frame, and static shadows are not updated every time.
    • SSR ray reuse in compute shader
    • Postprocessing in compute shader
    • FFT in compute shader
    • Precomputed atmosphere in compute shader

References

About

PyEngine3D is open source opengl 3d engine project wirtten in python.

License:BSD 2-Clause "Simplified" License


Languages

Language:Python 75.5%Language:GLSL 20.8%Language:HLSL 3.5%Language:C++ 0.2%