H-uru / H-uru/korman

Occluder Support

Open
#194 0 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement feature hacktoberfest
Dominant language
Python
Stars
35
Forks
17
PR merge metrics
No merged PRs in 30d

Description

Occluders are geometry that block the rendering of objects fully behind them. This allows for render optimization without needing to manually set up visregions on all the objects.

The goal is adding a modifier to korman to mark an object (usually a plane or series of planes) as an occluder, and the associated export code to generate the plOccluder object. The python bindings already exist in PyHSPlasma, but may need updating.

Tasks:

  • Create a new korman modifier to mark an object as an occluder.
    • Put it with the rest of the rendering-related modifiers?
    • I don't think it needs any options? I guess it allows a list of visregions, but that might be overkill in a first version
  • Set up export code to take each face of the object and construct a plCullPoly for it

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating Korman's rendering-related modifiers and the export path, then inspect the existing PyHSPlasma Python bindings for occluder support. Done means an object can be marked as an occluder and each of its faces is exported as a plCullPoly; determine whether visregion options are needed for the first version.

Written by the indexing model from the issue text.

Assessment

Tech stack
blender, python
Domain
game-dev
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.