Skip to content

ubuntunux/PyEngine3D

Repository files navigation

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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published