Skip to main content

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:

  1. 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
)
  1. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

manorender-0.1.1.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

manorender-0.1.1-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

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

Hashes for manorender-0.1.1.tar.gz
Algorithm Hash digest
SHA256 3b89e1836dd0fcc62c79863c58707e8efbe46acb319bb701cf39abfd2b27acc7
MD5 cbf67d2308acdb82b82afab864567db4
BLAKE2b-256 d2b2970df028ed4f15fa9969541a6579636dcafbec6db726b2d727b20e4466a5

See more details on using hashes here.

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

Hashes for manorender-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b6d54f82973820cb5a04909d79708d164cfa7aaa5ba0af8417713ea798e0f3b0
MD5 808ba50e0f3ece45d5c137616d02ed4e
BLAKE2b-256 2ee2bfef0930da1d79fcf5dc9eccbb343bf16bec94b1d81642d282ec24f82d57

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page