.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "gallery/offscreen_hdr.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_gallery_offscreen_hdr.py: Render offscreen using a 16bit (HDR) render target -------------------------------------------------- Render a wgpu example offscreen, safe to 16bit PNG, and show the result. .. GENERATED FROM PYTHON SOURCE LINES 8-48 .. code-block:: Python import os import tempfile import webbrowser import numpy as np import png # provided by the pypng package from rendercanvas.offscreen import RenderCanvas try: from .triangle import setup_drawing_sync except ImportError: from triangle import setup_drawing_sync canvas = RenderCanvas(size=(640, 480), pixel_ratio=2) draw_frame = setup_drawing_sync(canvas.get_wgpu_context(), format="rgba16float") canvas.request_draw(draw_frame) image = canvas.draw() image = np.asarray(image) # Convert to RGB image = image[:, :, :3] # Convert float16 to uint16 image = (image.astype(np.float32) * 65535).astype("uint16") # Save with pypng. It's API is not great, but imageio/pillow cannot do 16bit png filename = os.path.join(tempfile.gettempdir(), "wgpuexample.png") with open(filename, "wb") as f: writer = png.Writer( width=image.shape[1], height=image.shape[0], bitdepth=16, greyscale=False ) writer.write(f, image.reshape(image.shape[0], -1).tolist()) # Show the written file webbrowser.open("file://" + filename) .. _sphx_glr_download_gallery_offscreen_hdr.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: offscreen_hdr.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: offscreen_hdr.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: offscreen_hdr.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_