Powerful 3D rendering engine with advanced features
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
Project Documentation Deleted.
Support
Contact from profile and search for debug.
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.1.tar.gz.
File metadata
- Download URL: manorender-0.1.1.tar.gz
- Upload date:
- Size: 14.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b89e1836dd0fcc62c79863c58707e8efbe46acb319bb701cf39abfd2b27acc7
|
|
| MD5 |
cbf67d2308acdb82b82afab864567db4
|
|
| BLAKE2b-256 |
d2b2970df028ed4f15fa9969541a6579636dcafbec6db726b2d727b20e4466a5
|
File details
Details for the file manorender-0.1.1-py3-none-any.whl.
File metadata
- Download URL: manorender-0.1.1-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 |
b6d54f82973820cb5a04909d79708d164cfa7aaa5ba0af8417713ea798e0f3b0
|
|
| MD5 |
808ba50e0f3ece45d5c137616d02ed4e
|
|
| BLAKE2b-256 |
2ee2bfef0930da1d79fcf5dc9eccbb343bf16bec94b1d81642d282ec24f82d57
|