Skip to main content

Python bindings of Ocean™ illumination engine

Project description

ocean_banner

Ocean™ – Physically accurate material & appearance simulation

Introduction

Ocean™ is a high-end simulation and rendering engine that delivers physically accurate renderings of complex materials—such as glass, coatings, and plastics—under real-world lighting and environmental conditions. It combines spectral measurements, advanced optical simulation, and CAD integration to help engineers, designers, and researchers evaluate appearance and performance before physical prototyping. With the Ocean Python bindings, users can automate simulations, batch process material combinations, customize visualization workflows, and integrate Ocean’s predictive capabilities into their own tools or pipelines.

Installation

Supported platforms

  • Linux x86_64 with glibc >= 2.39
  • Windows 10/11 x86_64

Python versions supported

  • 3.8 to 3.13

Install using pip :

pip install eclatdigital-ocean

Getting started

This code snippet renders a cornellbox scene and dumps result as a png file.

import time
from ocean import abyss, examples

# License and initialization
abyss.Licensing().setDemoMode() # use demo mode (watermarks will be present)
abyss.Licensing().check()

abyss.init()

# Main message handling
def onmessage(msg, type):
    print(msg)

abyss.onMessage(onmessage)

# Create a renderer
renderer = abyss.Renderer()

# stop rendering when samples per pixel reach 50
time_cond = 0 # 0: unlimited
spp_cond = 25

renderer.setHaltCondition(time_cond, spp_cond, abyss.Renderer.halt_cond.stops)

# add a local renderer node (computation is performed on the machine running this script)
# using 4 threads
renderer.setParameter("num_threads", 4)
renderer.addLocalNode()

# Call back triggered when computation ends.
finished=False
def onfinish(raw: abyss.Raw):
    raw.writeAuto("cornellbox.png") # Write results to the drive
    global finished
    finished = True
    
renderer.onFinish(onfinish)

# Start the renderer
# WARNING! This is an asynchronous function
renderer.start(examples["cornellbox"])

# Wait for the rendering to finish
while not finished:
    time.sleep(3)

Documentation

License

Eclat-Digital Recherche Company (Eclat-Digital) hereby gives you a non-exclusive license to use the software Ocean Light Simulator (the Software). For evaluation, the license is granted, provided that produced image watermarks stay visible and the Eclat-Digital Recherche and Ocean trademarks are credited in any public use of the results. For registered release and unrestricted use of the software and its produced output, you have to purchase a license. More information can be found by contacting Eclat-Digital at info@eclat-digital.com More informations on LICENSE.md file of this wheel package metadata.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

eclatdigital_ocean-12.2.8-cp313-cp313-win_amd64.whl (86.1 MB view details)

Uploaded CPython 3.13Windows x86-64

eclatdigital_ocean-12.2.8-cp313-cp313-manylinux_2_39_x86_64.whl (101.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ x86-64

eclatdigital_ocean-12.2.8-cp312-cp312-win_amd64.whl (86.1 MB view details)

Uploaded CPython 3.12Windows x86-64

eclatdigital_ocean-12.2.8-cp312-cp312-manylinux_2_39_x86_64.whl (101.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

eclatdigital_ocean-12.2.8-cp311-cp311-win_amd64.whl (86.1 MB view details)

Uploaded CPython 3.11Windows x86-64

eclatdigital_ocean-12.2.8-cp311-cp311-manylinux_2_39_x86_64.whl (101.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ x86-64

eclatdigital_ocean-12.2.8-cp310-cp310-win_amd64.whl (86.1 MB view details)

Uploaded CPython 3.10Windows x86-64

eclatdigital_ocean-12.2.8-cp310-cp310-manylinux_2_39_x86_64.whl (101.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ x86-64

eclatdigital_ocean-12.2.8-cp39-cp39-win_amd64.whl (86.1 MB view details)

Uploaded CPython 3.9Windows x86-64

eclatdigital_ocean-12.2.8-cp39-cp39-manylinux_2_39_x86_64.whl (101.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.39+ x86-64

eclatdigital_ocean-12.2.8-cp38-cp38-win_amd64.whl (86.1 MB view details)

Uploaded CPython 3.8Windows x86-64

eclatdigital_ocean-12.2.8-cp38-cp38-manylinux_2_39_x86_64.whl (101.0 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.39+ x86-64

File details

Details for the file eclatdigital_ocean-12.2.8-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.8-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f3bd03a98f6f7d4eb755881c4f709c579b34d2556c008c2a72bf418802e0cdd3
MD5 48d4be759ad66e9bd3f009abb345bb37
BLAKE2b-256 7b50975f3e2ae79019d502239054e85582fe07107d194800a1a03f3fe87a1e30

See more details on using hashes here.

File details

Details for the file eclatdigital_ocean-12.2.8-cp313-cp313-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.8-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 29be7cfd4585c85eef4737221db1285342b8f1e70778c59978b85355e6278c07
MD5 68935ccb18b2ef3d186a1d9e2f884078
BLAKE2b-256 9c3d493e8b2adcbe1898e5de67413a0b780047d4432bc288e3fa65901f9f8d98

See more details on using hashes here.

File details

Details for the file eclatdigital_ocean-12.2.8-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 83f27eebea72a50d49ae4e77e7602c2022c911039a30d764a82c818793bac3e7
MD5 da23d356ec4241d365896b4bd293e44a
BLAKE2b-256 d2359c39a5ee6620670d4829511887008c14e024199b4c1a931f6b4d6e4ca26c

See more details on using hashes here.

File details

Details for the file eclatdigital_ocean-12.2.8-cp312-cp312-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.8-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 75f79923e796698f1fe42a8904c5dd52fb96694f4b3968e4401e44acd47e2924
MD5 5a46269a121fd3fab559bf1fe2ceba4e
BLAKE2b-256 361664d147e140043acda848f095896359ab2b2f2d8e3328fdb6c91658f9fd56

See more details on using hashes here.

File details

Details for the file eclatdigital_ocean-12.2.8-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0f2d8e28e41a5804964b7e6dcc0ebb59442ca059721d24178505b70c5118335e
MD5 0c064bae424766b2429ed9eabe7c005c
BLAKE2b-256 e30bd3adc2c9999f104974bf811cba459946329a8e1f8381b81b2950501e3e2d

See more details on using hashes here.

File details

Details for the file eclatdigital_ocean-12.2.8-cp311-cp311-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.8-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 b10b673c4eb99c4d0606a607f502d31ef0e0e1be80a15f05409ee4bacf35b819
MD5 d4374468eea7e80d41fb5c7e3bc5a69e
BLAKE2b-256 50dcbf5a6fe7e3a0a97f97f8e8df3beb632394bba90f1d562741baf440058d76

See more details on using hashes here.

File details

Details for the file eclatdigital_ocean-12.2.8-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.8-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 294afa310bbe486b9c9e715ab9cbd7368024ce00c218c6a306ae9fb0417dcc4d
MD5 a4bc9175c1d58add9783488cb5c304f1
BLAKE2b-256 739717ccb4a837a2157a9b4f9b55b9a26dc2678458864ce404655e03a5bd9c36

See more details on using hashes here.

File details

Details for the file eclatdigital_ocean-12.2.8-cp310-cp310-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.8-cp310-cp310-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 a2b1157dad7f751c433efbcbd39ccb2ec07ff8954c258b9fad77a569eee16713
MD5 7b10f6a068c000a120b3c47b7c8204ca
BLAKE2b-256 5f2e5e2aa50401c6007934ad7c109a2f83c478eb1b7f268582131e8ce2adbe86

See more details on using hashes here.

File details

Details for the file eclatdigital_ocean-12.2.8-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.8-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 a0152e2d642a0ddfa29274b7d3ee9aeac7caf1a0ec5329e8de2a2033a5cb54ff
MD5 754b2b8b39da59d8664359f96f8c6937
BLAKE2b-256 86e55434ffe0dc42f618a58ecabcb7af68f349e4249d02ebe367b7e47cd936bf

See more details on using hashes here.

File details

Details for the file eclatdigital_ocean-12.2.8-cp39-cp39-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.8-cp39-cp39-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 f0f0bbb95396d1a22dbde3fb329c3ac0d68a083e848d804cd9b515ad3ceee6c7
MD5 66aa559332ad036305731ebabb0a6fd2
BLAKE2b-256 041313d3415f02e90c17125f24f43dc88616248bb7865a20849d5c179b52b3f0

See more details on using hashes here.

File details

Details for the file eclatdigital_ocean-12.2.8-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.8-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 d2c9c9b575c9e7db208c5bc46e429adfbf6faa29d40be3098ae0b2cbd977fe0e
MD5 7b2a8915b0f821e3cc0664c5f77a5576
BLAKE2b-256 f0e2e05905293a6e24ca975cf04d74af21d3f993422d0206f9bf7ec50ef3ad52

See more details on using hashes here.

File details

Details for the file eclatdigital_ocean-12.2.8-cp38-cp38-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.8-cp38-cp38-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 dadc02428b7be922b76f48a654a66aaef3c44e726a679c11f16e5c88dce7b007
MD5 b2baaa0f6d20bb29676a28c5b5f8f614
BLAKE2b-256 01212277bc2da687fcfd02d52712eee443fa3ccee3fd1a55fafb5083e27ad84a

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