Skip to content

Support for preprocessor features #95

@athyfr

Description

@athyfr

It would be great if this included completion for preprocessor variables.

For example:

shadow_cast.glsl:

// ...
#define SHADOW_CAST_RAYCASTER_STEP 0
#define SHADOW_CAST_RAYCASTER_GRID 1
#define SHADOW_CAST_RAYCASTER_MAX 2
// ...
#ifndef SHADOW_CAST_RAYCASTER
#define SHADOW_CAST_RAYCASTER SHADOW_CAST_RAYCASTER_STEP
#endif
// ...

shader_test.glsl:

// This statement should be easy to create using autocomplete.
#define SHADOW_CAST_RAYCASTER SHADOW_CAST_RAYCASTER_GRID

#include "shadow_cast.glsl"

//...

Preprocessor variables can also be used to define numbers, and statements. They should therefore be able to be used anywhere. For example:

shader_test.glsl:

#define SHADOW_CAST_OCCLUSION_MODE height_map_occlude && dir_map_occlude

shadow_cast.glsl:

//...
  // height_map_occlude and dir_map_occlude defined in this file.

  bool occlude = SHADOW_CAST_OCCLUSION_MODE;
//...

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions