AcademySoftwareFoundation / AcademySoftwareFoundation/OpenImageIO

an example program using OIIO's batched environment lookup

Open
#4,186 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
2.4k
Forks
698
Avg merge
3d 4h
Merged PRs (30d)
47

Description

I've worked my way into some of the texture system code and wrote an example program using the batched version of OIIO::environment. I found the OIIO documentation sufficient but terse, so I think others may find my program helpful - it consists largely of comments. At the same time I'm trying to promote my library zimt, which I use for the boilerplate code to deal with the workload with multithreaded SIMD code. It turns out that zimt and OIIO work together nicely, there is little friction due to argument passing. zimt produces and accepts SIMDized data with 16 lanes, OIIO handles these data as batches and uses it's own flavour of SIMD internally. To make the program even more fun, there's a bit of Imath quaternion magic to deal with the directional vectors. Have a look, the code is [here](https://github.com/kfjahnke/zimt/blob/main/examples/rectilinear.cc)

The program is even quite useful: it produces an arbitrarily oriented and sized rectilinear view of the environment. Comments welcome - and if you lot at OIIO don't appreciate posts like this, let me know and I'll not do it again.

Contributor guide

Open the contributing guide

Research direction

Start by reading the linked zimt example, examples/rectilinear.cc, and identify which parts demonstrate OIIO::environment's batched lookup. The issue does not name an OIIO file or requested change; first determine whether this external example should become project documentation or an in-tree example. Done would require an agreed scope and location, followed by a documented or integrated example.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-graphics, documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.