Repository navigation
Accept optional texture vector components - #157
Open
civilwarinfrance wants to merge 1 commit into
Open
civilwarinfrance wants to merge 1 commit into
civilwarinfrance wants to merge 1 commit into
Conversation
Preserve filenames and subsequent options after one- or two-component scale, offset and turbulence vectors. Add parser and OBJ/MTL regressions. Prepared with Codex assistance.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Loading a material containing
map_Kd -s 2 diffuse.pngcurrently raisesValueErrorbecause the texture parser requires all three vector components and tries to convert the filename to a number. Offset (-o) and turbulence (-t) have the same problem.The Alias/Wavefront format manual makes the second and third components optional. Read up to three numbers, preserve the next option or filename, and fill omitted components with the documented defaults: 1 for scale, 0 for offset/turbulence.
Tests cover abbreviated/full vectors, negative and scientific values, following flags, filenames with spaces, repeated options and a complete OBJ/MTL load. The original code fails 14 cases; all 114 tests pass after the fix on macOS/Python 3.11. The CI blocking Flake8 check passes; the advisory check adds no diagnostics in the touched files. Other platforms and GPU rendering were not tested.
AI assistance: Codex investigated, implemented, tested and drafted this contribution under the account owner's authorization.