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

Uploaded CPython 3.13Windows x86-64

eclatdigital_ocean-12.2.9-cp313-cp313-manylinux_2_39_x86_64.whl (100.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ x86-64

eclatdigital_ocean-12.2.9-cp312-cp312-win_amd64.whl (85.9 MB view details)

Uploaded CPython 3.12Windows x86-64

eclatdigital_ocean-12.2.9-cp312-cp312-manylinux_2_39_x86_64.whl (100.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

eclatdigital_ocean-12.2.9-cp311-cp311-win_amd64.whl (85.9 MB view details)

Uploaded CPython 3.11Windows x86-64

eclatdigital_ocean-12.2.9-cp311-cp311-manylinux_2_39_x86_64.whl (100.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ x86-64

eclatdigital_ocean-12.2.9-cp310-cp310-win_amd64.whl (85.9 MB view details)

Uploaded CPython 3.10Windows x86-64

eclatdigital_ocean-12.2.9-cp310-cp310-manylinux_2_39_x86_64.whl (100.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ x86-64

eclatdigital_ocean-12.2.9-cp39-cp39-win_amd64.whl (85.9 MB view details)

Uploaded CPython 3.9Windows x86-64

eclatdigital_ocean-12.2.9-cp39-cp39-manylinux_2_39_x86_64.whl (100.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.39+ x86-64

eclatdigital_ocean-12.2.9-cp38-cp38-win_amd64.whl (85.9 MB view details)

Uploaded CPython 3.8Windows x86-64

eclatdigital_ocean-12.2.9-cp38-cp38-manylinux_2_39_x86_64.whl (100.7 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.39+ x86-64

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.9-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c036305384559e236d92e7754ca54584f20611e432e25961b216df54d02e142e
MD5 74b7b56f51ec889a9ee46dce65bbffe5
BLAKE2b-256 85aa2e6debd1b719ab209040034670b58d636b8835b37454dd7fa4a1c9f45d5e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.9-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 3b0c1485c9f5e3536b33fd86eb1d26219109fe2bf70e9b7f09f4011f5c1d03a1
MD5 a16951b3a971a27afc848ec4e2c2a610
BLAKE2b-256 7dd5160bf9b7bd0c8c804c3fc0de5243e50864e43874a7b1ab60f491244a1569

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fc4e16c7efd0bd8f57f8189ad315b2539be9a576229167a46fb53b1e28d406e0
MD5 3f141a967b41135c53d9f2e54fb267b2
BLAKE2b-256 d10727045f673b973d19c45794276829946e4f61e38ef5636bf2e6e4d8ec6f8e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.9-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 1d9d354fd5846c4a999b04b6299c1c9459a46f1837488dff3a0a35db3043ccfb
MD5 93e515ccb6d6a105ec15380e32d0e32b
BLAKE2b-256 4e70a8a7a03f99f3173079d20874044dd738ebcb642f60575959118447df84a0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f8bb1f9ceee7ec16921c1688fa651c26d57bbafd0afd743d4fd2d73058995831
MD5 3596be262c0710e8feebe7ae7a48a254
BLAKE2b-256 7d1018212b954074084be7642b2246da88281b356bc0bd79698aa6167f472b34

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.9-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 4554371db3c516b7d9004e11e739e25c9c6393bbe53661ecb6e8c9e8cf7c74f8
MD5 01fcd8fb6dba4a05b820f76105518a71
BLAKE2b-256 33b82b13b33afbed584f7420677934475b375e2acf4b8405139311db8d732d0d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.9-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b106b0c6af465acb31640bfec9883565ef9acc7af3438c3ed876065a27a7cbb9
MD5 2d47b6686049ce8a5aa8e1057e1c4636
BLAKE2b-256 70cccc74702b583c92bcf852a88427919d007540ee966cace248c3a77b533f86

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.9-cp310-cp310-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 1bbe0a6b47730f3aeb1de02c2a1efc29dc5897266b75e2b9eaa7278ea8dfee06
MD5 5abdca8af7e14ed0a082f55585eeeaaf
BLAKE2b-256 c53f129102dd4904d6614775f8455bf90b0d50c9306cd2ea07a40592724c8ed3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.9-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 643da389f37f49a79e71b96cb5aa518a1f4df3be5094c9b4454c4989a224004a
MD5 e20c14a3579b7ec649bfa1643791b29c
BLAKE2b-256 f837816f77f3f426a7de5e066bb6e0819d9b67e79e269c7366f20ee31b96ea3a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.9-cp39-cp39-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 7134ac54a25b9fac1676b15d672b4f601b7b1b36295a1661344cbf2bea1a3201
MD5 32a11d06a7a59ce9283de9d3092c7c78
BLAKE2b-256 592d94646fb40da0b864512633b51dd5b2cc83d863c51e1123bdb852e2e278de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.9-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 0083e36b2da6852434d214c2cc3443dc3effa34150edb67defc84810d9506b0d
MD5 87b5e1daf339a8b4510945ba29159cbc
BLAKE2b-256 756bfbc29d00a5337f8b521e1fb84a8f1a2cff1c03aa24098497f9fe6546c2df

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclatdigital_ocean-12.2.9-cp38-cp38-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 26c7c034d229e485ea9c064ecd44752a1f7bbf961654b3443d57db2b5820805b
MD5 27a8c58e2bc179340e790c5afbe1c33e
BLAKE2b-256 db29c4649492ea6f5c832592eb8ab77ea4d813a580462ad746d7af85a540613f

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