From f83a75a314313863483553cdc7c8abc26c7f73c5 Mon Sep 17 00:00:00 2001 From: Alexandre Vaillancourt Date: Thu, 2 Oct 2025 11:47:33 -0400 Subject: [PATCH] Fix default shader bug when there is no vertex tan info; fix CMake inclusion of osgText. --- CMakeLists.txt | 2 +- applications/vsgwithosg/CMakeLists.txt | 1 + data/shaders/fbxshader.vert | 2 +- src/osg2vsg/shaders/fbxshader_vert.cpp | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 596d355a..ed50db28 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,7 +13,7 @@ find_package(OpenGL REQUIRED) # Find OpenSceneGraph packages for reference # set preference for using modern OpenGL library. -find_package(OpenSceneGraph REQUIRED COMPONENTS osgDB osgTerrain osgUtil osgGA osgViewer) +find_package(OpenSceneGraph REQUIRED COMPONENTS osgDB osgTerrain osgUtil osgGA osgViewer osgText) if (VULKAN_SDK) set(ENV{VULKAN_SDK} ${VULKAN_SDK}) diff --git a/applications/vsgwithosg/CMakeLists.txt b/applications/vsgwithosg/CMakeLists.txt index a502d53f..6ea21858 100644 --- a/applications/vsgwithosg/CMakeLists.txt +++ b/applications/vsgwithosg/CMakeLists.txt @@ -16,6 +16,7 @@ target_link_libraries(vsgwithosg ${OSGUTIL_LIBRARIES} ${OSGDB_LIBRARIES} ${OSGGA_LIBRARIES} + ${OSGTEXT_LIBRARIES} ${OSGVIEWER_LIBRARIES} ${OPENGL_LIBRARIES} ) diff --git a/data/shaders/fbxshader.vert b/data/shaders/fbxshader.vert index 0ff7510d..ffc2b921 100644 --- a/data/shaders/fbxshader.vert +++ b/data/shaders/fbxshader.vert @@ -77,7 +77,7 @@ void main() #endif #ifdef VSG_LIGHTING vec4 lpos = /*osg_LightSource.position*/ vec4(0.0, 0.25, 1.0, 0.0); -#ifdef VSG_NORMAL_MAP +#if defined(VSG_NORMAL_MAP) && defined(VSG_TANGENT) vec3 t = (modelView * vec4(osg_Tangent.xyz, 0.0)).xyz; vec3 b = cross(n, t); vec3 dir = -vec3(modelView * vec4(osg_Vertex, 1.0)); diff --git a/src/osg2vsg/shaders/fbxshader_vert.cpp b/src/osg2vsg/shaders/fbxshader_vert.cpp index 4e390f7e..8b6227b6 100644 --- a/src/osg2vsg/shaders/fbxshader_vert.cpp +++ b/src/osg2vsg/shaders/fbxshader_vert.cpp @@ -89,7 +89,7 @@ void main() #endif #ifdef VSG_LIGHTING vec4 lpos = /*osg_LightSource.position*/ vec4(0.0, 0.25, 1.0, 0.0); -#ifdef VSG_NORMAL_MAP +#if defined(VSG_NORMAL_MAP) && defined(VSG_TANGENT) vec3 t = (modelView * vec4(osg_Tangent.xyz, 0.0)).xyz; vec3 b = cross(n, t); vec3 dir = -vec3(modelView * vec4(osg_Vertex, 1.0));