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.7-cp313-cp313-win_amd64.whl (86.1 MB view details)

Uploaded CPython 3.13Windows x86-64

eclatdigital_ocean-12.2.7-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.7-cp312-cp312-win_amd64.whl (86.1 MB view details)

Uploaded CPython 3.12Windows x86-64

eclatdigital_ocean-12.2.7-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.7-cp311-cp311-win_amd64.whl (86.1 MB view details)

Uploaded CPython 3.11Windows x86-64

eclatdigital_ocean-12.2.7-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.7-cp310-cp310-win_amd64.whl (86.1 MB view details)

Uploaded CPython 3.10Windows x86-64

eclatdigital_ocean-12.2.7-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.7-cp39-cp39-win_amd64.whl (86.1 MB view details)

Uploaded CPython 3.9Windows x86-64

eclatdigital_ocean-12.2.7-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.7-cp38-cp38-win_amd64.whl (86.1 MB view details)

Uploaded CPython 3.8Windows x86-64

eclatdigital_ocean-12.2.7-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.7-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.7-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e914c9349b22e59f035f061dfe86e9bb9a36381e0ca7e6d74f1cf0ac8f876f61
MD5 4015719193b91b3b49103a1243964650
BLAKE2b-256 db6949edd247e4fc906c923eb45feb1dce1d28e40034c822319fe7084bf2e058

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.7-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 1ab2021315940869c3301ea6283b88710fe7692b0877a2728cd57a90ee635d31
MD5 3abd42cc812fa526d9aab2426dc14504
BLAKE2b-256 9b466b8a443a8f31909d71546be3fc9352b25a74c31fc0d3842de4a92eb54ed4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 288094b07e3e7c87629edebbfb4050125cda8d261d20f512f7f277f18dea594b
MD5 d1eb38a2c4da56611b62bf4939ff2036
BLAKE2b-256 8716571d484098a2fd359941ac6a39fa63a6375b8af5b34a50beadf0f230315b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.7-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 cd802349fbf650374a6e18c01e27d6a97866d6c44291c2d0cd97568fbec1240e
MD5 28df3176c232fabab5d9eb72cf7b3154
BLAKE2b-256 9a11fef73eaca2ab68e3014b457f8e5b8d41f3c92ca2050f1f67fa1a39f3ecd6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 25ebae2221258925ac0d05711cc689b5aab5bf584d28f0cb9f0f29ba84229dc5
MD5 de252e162b26c793d6701b8b2042581f
BLAKE2b-256 2a1590b2c3e54c8c65909a337eeae1de63c7f41782f88eda0191f011989106ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.7-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 d3ffd2c44b5c63cdccbd072a62d02a030642291a258ec84e97927526d3789c40
MD5 77ac333e880c276cf894ca7a6989a82f
BLAKE2b-256 c99d8c0e8fb8ac8b91657712a83a5a31bcdd017f74f1bb9175e99004e955ce6e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d014ea9654b9507c8fe73adf4b8033ca508d2e806a116d77e0e5a9aa3e0d9b86
MD5 b637d3fb4a0b000d135b4e387c9c09ca
BLAKE2b-256 05f8a6c3717e247a9baa1723be25ec550f61046b2f02a481beb3df6f369e8c60

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.7-cp310-cp310-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 b2df6e601a58c3686cb4b8d8731acc0fc8a95e04fb979bcb4935a93e93b5d182
MD5 106c51b003bd7a7871b35c2dda92ee42
BLAKE2b-256 7d25792a72a19235ce397b79ba0082a210477e0edc6c1c8c27cdf7ebc1692a66

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.7-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b2da24833cd6c5f7eee3a244fba3d6d2c3f9ea17ecee1fad0531f890ac34dc05
MD5 1e18fa00e66fdf32939a2f49e8895fa0
BLAKE2b-256 f86a8c87e140ee0ccc0f806cefcf7427c9f8d8260f7250b4800b5498f89b6a57

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.7-cp39-cp39-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 12f6953fd6b7faaab88ea89514214f2af1a7611d5365aae36da882f21a270c70
MD5 8c67ccb9a1baf23e9c3b8691c73296ca
BLAKE2b-256 8ef95e6b1e63653fa7f72be37a75b369bdc32622b0a9a69c80b10cf89d35bb61

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.7-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 1407d8401ea3b64d260cbc4ee38929d163366fa39e90e4f4c9e8f1ab9ddfda42
MD5 024f83512c44e6a994f8b262a576c1f4
BLAKE2b-256 dfe790847fc0c278ea8b3b98ae9b9a71c3c55584f628c74a28c67dd65af1a390

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.7-cp38-cp38-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 bc802d14f705b9911e8e05d5f4a04fb2f9125312c92d464b1a9c1e905e1971cb
MD5 5ff3950c7d7be009514017ef9f08e2e0
BLAKE2b-256 3f89ef486c2680720d87af9da75ae96861993787dba2f90b889834555af38b37

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