# Goal Create a PNG file from a glb (= glTF binary = Graphics Library Transmission Format https://en.wikipedia.org/wiki/GlTF). ## Introduction This exercise will walk thorugh the creation of a PNG from the included glb. The purpose is to show the steps taken to create the PNG which can be duplicated in a mass conversion script. You will be using the command console. The scripts run will create a small server; however, it will automatically select a port needed for the process so you do not have to be concerned of a port conflict, e.g. 3001, if you have another server running elsewhere on the system. The kernel selects a currently unused high-numbered port (typically in the 32768–60999 range on Linux). ## Prerequisites Node package: puppeteer ## Steps Open a command console and change to the following subdirectory: cd web/batch_glb_png/glbs for this exercise, create a soft link within glbs to just one file, we're only goint to perform a single PNG to demonstrate the scripts. Normally, directory glbs will have links to the actual glbs staged (how those links are created is another exercise) ln -s ../../'[o]_stealthburner_LED_carrier.stl.glb' . Example: ~/work/Voron/voronstl/web/batch_glb_png/glbs $ ln -s ../../'[o]_stealthburner_LED_carrier.stl.glb' . Change to to the upper directory from within ```web/batch_glb_png``` and then launch the conversion script. Note the run will use the job.json I created, when time comes when you want to use yours, then specify the path and filename to your PNG profile: cd ../batch_glb_png date;time node batch_render.js job.json Example: jlpoole@jp ~/work/Voron/voronstl/web/batch_glb_png $ date;time node batch_render.js job.json Wed Mar 4 18:17:13 PST 2026 PAGE console: error Failed to load resource: the server responded with a status of 404 (Not Found) PAGE console: warn [.WebGL-0x7a40014ea00]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels PAGE console: warn [.WebGL-0x7a40014ea00]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels PAGE console: warn [.WebGL-0x7a40014ea00]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels WROTE /home/jlpoole/work/Voron/voronstl/web/batch_glb_png/pngs/[o]_stealthburner_LED_carrier.stl.png real 0m1.667s user 0m1.327s sys 0m0.423s jlpoole@jp ~/work/Voron/voronstl/web/batch_glb_png $ Result: a PNG 1227 × 994: ![]([o]_stealthburner_LED_carrier.stl.png) # Conclusion Using the steps above, you created a single PNG from a glb. The next step is to fill the glbs directory with links to the glbs perviously generated by Blender and then execute the same/similar command from within the '''web/batch_glb_png ''' directory: node batch_render.js [your PNG specification, if you want] that will create a PNG for every glb.