Skip to content

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

License

Notifications You must be signed in to change notification settings

RubenRRuboger/PyEngine3D

 
 

Repository files navigation

PyEngine3D

Welcome to PyEngine3D

Requirements

  • OpenGL 4.3 ( Shading language 430 )
  • python 3.6 ( python 3.7 has a pyopengl bug )
  • 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 Screen Space Relfection
    • 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 Screen Space Relfection
    • Atmoshpere & Sky Screen Space Relfection Screen Space Relfection Screen Space Relfection Screen Space Relfection Screen Space Relfection
    • Road
    • Wind
    • FFT Ocean Screen Space Relfection Screen Space Relfection
    • 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 Screen Space Relfection
    • 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 Screen Space Relfection
    • Tone mapping
    • Glare
    • Film Grain
    • Color Correction
    • Color Grading
    • Light Shaft Screen Space Relfection
    • 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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 75.5%
  • GLSL 20.8%
  • HLSL 3.5%
  • C++ 0.2%