Skip to content

Occlusion culling will fail if REAL_T_IS_DOUBLE is defined by compiling with precision=double #94638

Closed
@jamie-pate

Description

@jamie-pate

Tested versions

not reproducible in standard builds, REAL_T_IS_DOUBLE is not defined by default. The engine needs to be compiled with precision=double to test this

System information

Godot v4.3.dev (cb5d78ed3) - Ubuntu 22.04.4 LTS 22.04 - X11 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3050 Laptop GPU () - 12th Gen Intel(R) Core(TM) i7-12700H (14 Threads)

Issue description

REAL_T_IS_DOUBLE will not work with embree occlusion culling (as of godot 4.3-beta3)
Godot passes RTC_FORMAT_FLOAT3 without checking if REAL_T_IS_DOUBLE is defined.

There doesn't seem to be a type flag for doubles so the Vector3 type would need to be converted to float[3] when precision is double.

Steps to reproduce

enable occlusion culling and compile with precision=double. The Vector3 type becomes double[3] but calls still pass RTC_FORMAT_FLOAT3

Minimal reproduction project (MRP)

icon

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions