Powerful 3D rendering engine for Python
Project description
ManoRender - Advanced 3D Rendering Engine
ManoRender is a powerful and flexible 3D rendering engine built with Python. It provides a comprehensive set of tools for creating, manipulating, and rendering 3D scenes.
Features
- Advanced 3D Object Rendering
- Scene Management
- Camera Control
- Lighting System
- Material System
- Real-time Rendering
- GUI Support
- Web-based Rendering
- Error Handling
- Entity System
- Physics Integration
- Shader Support
- Texture Management
Installation
# Install basic requirements
pip install -r renderer.mano
# Install development tools (optional)
pip install manorender[dev]
# Install documentation tools (optional)
pip install manorender[docs]
Usage
from manorender import ManoRender
# Create a new renderer
renderer = ManoRender()
# Create a new scene
scene = renderer.scene_new("main_scene")
# Camera settings
renderer.camera_new(0, 0, 10, 0, 0, 0)
# Add light
renderer.add_light(position=(0, 0, 10), color=(1, 1, 1))
# Entity operations
entity = renderer.sins_entity("main_entity")
entity.move(1, 2, 3).rotate(0, 45, 0).scale(2, 2, 2)
# Start rendering
renderer.render_start()
renderer.render(scene)
renderer.complete_ren()
Advanced Features
Error Handling
# Check for errors
entity.add_error("Test error")
renderer.command_line("main_entity")
entity.clear_errors()
Entity Management
# Create and destroy entities
entity = renderer.sins_entity("entity1")
# ... do something with entity ...
renderer.point_entity("entity1")
Physics Integration
# Add physics properties
entity.physics.mass = 1.0
entity.physics.friction = 0.5
entity.physics.restitution = 0.8
Development
The project is actively developed and new features are continuously being added. We welcome contributions from the community.
Documentation
For detailed documentation, please visit: https://manorender.readthedocs.io
Support
- GitHub Issues: https://github.com/zubag/manorender/issues
Texture Kullanımı
Texture'ları kullanmak için şu adımları takip edin:
- Texture'ı yükle:
# Temel texture yükleme
renderer.get_texture("wood_texture", "wood.png")
# Gelişmiş texture yükleme
renderer.get_texture(
id="wood_texture",
file="wood.png",
mipmaps=True, # Mipmapping etkin
anisotropic=True, # Anizotropik filtreleme etkin
compression=True, # Texture sıkıştırma etkin
srgb=True # sRGB renk uzayı etkin
)
- Objeye texture uygula:
# Temel texture uygulama
renderer.set_texture("wood_texture", "cube")
# Gelişmiş texture uygulama
renderer.set_texture(
id="wood_texture",
object="cube",
uv_scale=2.0, # UV ölçeklendirme
uv_offset=(0.5, 0.5),# UV kaydırma
repeat=True, # Tekrarlama etkin
clamp=False # Kenar kırma etkin
)
Gelişmiş Texture Özellikleri
Texture Atlas
# Texture atlas oluştur
renderer.create_texture_atlas(
atlas_id="terrain_atlas",
textures={
"grass": (0, 0),
"dirt": (512, 0),
"rock": (0, 512)
},
size=(2048, 2048)
)
Cubemap
# Cubemap oluştur
renderer.create_cubemap(
cubemap_id="skybox",
faces={
"right": "right.png",
"left": "left.png",
"top": "top.png",
"bottom": "bottom.png",
"front": "front.png",
"back": "back.png"
}
)
Normal Map
# Normal map oluştur
renderer.create_normal_map(
id="normal_map",
file="heightmap.png",
strength=1.0
)
Specular Map
# Specular map oluştur
renderer.create_specular_map(
id="specular_map",
file="specular.png",
glossiness=0.8
)
Emissive Map
# Emissive map oluştur
renderer.create_emissive_map(
id="emissive_map",
file="emissive.png",
intensity=0.5
)
Roughness Map
# Roughness map oluştur
renderer.create_roughness_map(
id="roughness_map",
file="roughness.png",
strength=0.7
)
Parallax Map
# Parallax map oluştur
renderer.create_parallax_map(
id="parallax_map",
file="heightmap.png",
height=0.1,
layers=8
)
Displacement Map
# Displacement map oluştur
renderer.create_displacement_map(
id="displacement_map",
file="displacement.png",
strength=1.0
)
Flow Map
# Flow map oluştur
renderer.create_flow_map(
id="flow_map",
file="flow.png",
speed=1.0
)
Emissive Gradient
# Emissive gradient oluştur
renderer.create_emissive_gradient(
id="gradient",
colors=[
(255, 0, 0),
(0, 255, 0),
(0, 0, 255)
],
positions=[0.0, 0.5, 1.0]
)
Procedural Texture
# Yordamsal texture oluştur
renderer.create_procedural_texture(
id="noise_texture",
type="noise",
parameters={
"size": (1024, 1024),
"octaves": 6,
"persistence": 0.5,
"lacunarity": 2.0,
"scale": 1.0
}
)
Texture Animation
# Texture animasyonu oluştur
renderer.create_texture_animation(
id="animation",
frames=[
"frame1.png",
"frame2.png",
"frame3.png"
],
fps=24
)
# Animasyonu güncelle
renderer.update_texture_animation("animation")
Texture Filter
# Blur filtresi oluştur
renderer.create_texture_filter(
id="blur_filter",
type="blur",
parameters={
"size": 3,
"sigma": 1.0
}
)
# Texture'e filtre uygula
renderer.apply_texture_filter("blur_filter", "texture_id")
Texture Composite
# Texture bileşimi oluştur
renderer.create_texture_composite(
id="composite",
textures=["texture1", "texture2"],
blend_mode="add",
opacity=1.0
)
Texture Mask
# Texture maskesi oluştur
renderer.create_texture_mask(
id="masked_texture",
mask_file="mask.png",
texture_file="texture.png"
)
Texture Array
# Texture dizisi oluştur
renderer.create_texture_array(
id="texture_array",
textures=["tex1", "tex2", "tex3"],
layers=3
)
Cubemap Array
# Cubemap dizisi oluştur
renderer.create_cubemap_array(
id="cubemap_array",
cubemaps=["cubemap1", "cubemap2"],
layers=2
)
## License
Plazma Licence
Local Projects
Avaible Projects
Setupable Projects
Line up!
<profile> Engine </profile>
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file manorender-0.1.0.tar.gz.
File metadata
- Download URL: manorender-0.1.0.tar.gz
- Upload date:
- Size: 14.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
870a24bc0fdb8d69cacee46c4403a8d209c12deeabeb1729247504b6e9dcdf1c
|
|
| MD5 |
df31ed8a0281048039cfc5aa5d2ebd6f
|
|
| BLAKE2b-256 |
9811a2e6d21f57173f262bfc489c518438245a2df8ced3c37ede0dc32c177707
|
File details
Details for the file manorender-0.1.0-py3-none-any.whl.
File metadata
- Download URL: manorender-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1778e3a75866a473b76efae11ab03ef3e4478a0e19ab7f28e0726b819a3c7274
|
|
| MD5 |
c136139f72ce81c279ba2884928de4b6
|
|
| BLAKE2b-256 |
a4411b1ba6a276538a8ea9904b0ec3f898e664335506831b0cf4bf216c655848
|