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

Uploaded CPython 3.13Windows x86-64

eclatdigital_ocean-13.2.1-cp313-cp313-manylinux_2_39_x86_64.whl (100.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ x86-64

eclatdigital_ocean-13.2.1-cp312-cp312-win_amd64.whl (86.0 MB view details)

Uploaded CPython 3.12Windows x86-64

eclatdigital_ocean-13.2.1-cp312-cp312-manylinux_2_39_x86_64.whl (100.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

eclatdigital_ocean-13.2.1-cp311-cp311-win_amd64.whl (86.0 MB view details)

Uploaded CPython 3.11Windows x86-64

eclatdigital_ocean-13.2.1-cp311-cp311-manylinux_2_39_x86_64.whl (100.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ x86-64

eclatdigital_ocean-13.2.1-cp310-cp310-win_amd64.whl (86.0 MB view details)

Uploaded CPython 3.10Windows x86-64

eclatdigital_ocean-13.2.1-cp310-cp310-manylinux_2_39_x86_64.whl (100.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ x86-64

eclatdigital_ocean-13.2.1-cp39-cp39-win_amd64.whl (86.0 MB view details)

Uploaded CPython 3.9Windows x86-64

eclatdigital_ocean-13.2.1-cp39-cp39-manylinux_2_39_x86_64.whl (100.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.39+ x86-64

eclatdigital_ocean-13.2.1-cp38-cp38-win_amd64.whl (86.0 MB view details)

Uploaded CPython 3.8Windows x86-64

eclatdigital_ocean-13.2.1-cp38-cp38-manylinux_2_39_x86_64.whl (100.8 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.39+ x86-64

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-13.2.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 a5b6ed07644828bcf7b350db4902eda5ccbabda6b6abd0e566f49a5af98c103f
MD5 15f207146e9c17a815a0b0f2342411b3
BLAKE2b-256 1a52649a128cf3b547c6f3b511c2a6752046eec32f5b73861a2de46730bb4f30

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-13.2.1-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 be3205fdd5e8a0bc726a2f2d1f9905e549a0dd61046480e88f53a245c07e719f
MD5 a07acf1dd87a598c763a56420503de6c
BLAKE2b-256 5b34fc9125c45ab3243d061caac1a18cdef3997e76bfeb776d9db3ae55e65d4e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-13.2.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 eb9a9793ae66824e704dbfb70dda2abc415340466e135c57f008e0e7eb50d72d
MD5 ab14480ca10a404adf29229db25ed7a0
BLAKE2b-256 7f0c58c432fb2387ccbe0da23eb2e45bc8af1d4823bdb3ad4b0f624b4604fa1b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-13.2.1-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 695f8fb495f8fb4ee9c8df9466e7001a8409936984ab2f1e2c127913b184468b
MD5 4d0cb311dc715c78dfcddbafc93d2c75
BLAKE2b-256 15de4b9a302d2bac4dc4852d9ea135b096c8bc86edb446e53af85aac17848d2f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-13.2.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9e40c06c760a91c92ff3361039b12273c13a4fc52132a0101d0377e9a1f26f85
MD5 04fd8be5d6df1b2efa281a02cc582dd5
BLAKE2b-256 eeec9c688c9e6369500fbf9e3e9bc35d8b50c40a6223615ce1396dee63293165

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-13.2.1-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 cfe5b573195095dca500345667ceee62e9fadff48c5fc7a91e5b4300fbf62828
MD5 eecef5ec558d2a34753a050ca3142302
BLAKE2b-256 342a0d0b1aa9971decfa96353ab902b2d2c1942622e7685e6c12407a1ecbdc01

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-13.2.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7f8df03d19a340a384f26713f3abdd0348307b0f07665ed63f1ea8cf9ea02c18
MD5 f7ef6454b30474109da2780c8a2d5e32
BLAKE2b-256 bc9ee8da802e73f41cced118ec056ab0b759d06959b1596f0ce7703f5c9295b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-13.2.1-cp310-cp310-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 acde4c0503109c771aeb49a6c17187a801e9ce85c257440b58b570eaf0cead8c
MD5 15028847db95447164daf7ac84a9828c
BLAKE2b-256 328c4f03f52dc9eb3c0fc2cdbc2a2c90579a079d1368e95f31dbe03ee854537c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-13.2.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 34a2c5337663a7698f6dff2007557b6f41b7182e0b391d9fb1918536a742fdfd
MD5 33e729271ea9fb9ee7d61269b69b8efe
BLAKE2b-256 44cb79d2bbcbcf4eaaf0f138f02e274c1b358dec7010e9e79b33cdd1b0e58229

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-13.2.1-cp39-cp39-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 4b713686043c5b6073e313003c7df0270dc10f272548978e3d3ccaa5644dfe1a
MD5 18d61f3a177c9be928aedfad66532d43
BLAKE2b-256 8ad7db8946a558624ff78c8402869800acc4e0ffd91e97dda862654b4314173a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-13.2.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 7b9a56eea2f9d99e5cea24fc85775984aa6c12742b3774a558ad604e7ef6c517
MD5 a27d713ef515e76c28bc09e418d7e535
BLAKE2b-256 43999a36d6c1ef8fbe8e8e42ee8a0859e5592e5b5e97f9189b011f231f55563c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-13.2.1-cp38-cp38-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 f46185232385e19a2fa372f82669eb659e520e173479a6f872c9a70e3d03a331
MD5 ef38a51cf0c6357ac2cfcecc0c737dfd
BLAKE2b-256 d1e8562308aae2de58e826dc9156d907c8f4028c49b5e229a3a47eb47bd4222e

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