From c733281598adf06072b474d4e6c0eefbc4e624c1 Mon Sep 17 00:00:00 2001 From: jiegeaiai Date: Thu, 23 Jan 2025 21:46:41 +0800 Subject: [PATCH] modify conewave --- src/CMakeLists.txt | 4 ++-- src/effects/ConeWave.cpp | 12 +++++++++--- src/translations/Dyt_zh_CN.ts | 2 +- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index d2b30754..23046735 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -103,7 +103,7 @@ INCLUDE_DIRECTORIES( if(MSVC) - set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi") #/Od + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi /Od") #/Od set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /DEBUG /OPT:REF /OPT:ICF") foreach(var @@ -185,7 +185,7 @@ endif() SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${ProjectDIR}/bin) TARGET_LINK_LIBRARIES(${PROJECT_NAME}) -#SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:CONSOLE") +SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:CONSOLE") add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD diff --git a/src/effects/ConeWave.cpp b/src/effects/ConeWave.cpp index 60a1b6bb..cf3b5177 100644 --- a/src/effects/ConeWave.cpp +++ b/src/effects/ConeWave.cpp @@ -93,6 +93,7 @@ void ConeWave::CreateTexturedCone(osg::Geode* geode) { //return; static const char* vertSource = { + "#version 330\n" "varying vec3 pos;\n" "void main()\n" "{\n" @@ -103,6 +104,7 @@ void ConeWave::CreateTexturedCone(osg::Geode* geode) { "}\n" }; static const char* fragSource = { + "#version 330\n" "uniform float num; \n" "uniform float height; \n" "uniform vec4 baseColor;\n" @@ -134,9 +136,13 @@ void ConeWave::CreateTexturedCone(osg::Geode* geode) { stateset->setRenderBinDetails(120, "RenderBin"); osg::ref_ptr blendFunc = new osg::BlendFunc(); stateset->setAttributeAndModes(blendFunc, osg::StateAttribute::ON); - osg::ref_ptr program = new osg::Program(); - program->addShader(vertexShader); - program->addShader(fragmentShader); + //osg::ref_ptr program = new osg::Program(); + //program->addShader(vertexShader); + //program->addShader(fragmentShader); + VirtualProgram* vp = VirtualProgram::getOrCreate(outlineSS); + vp->setFunction("VS", VS, ShaderComp::LOCATION_VERTEX_CLIP); + vp->setFunction("FS", FS, ShaderComp::LOCATION_FRAGMENT_COLORING); + outline->addChild(node); baseColorUniform_ = new osg::Uniform("baseColor", baseColor_); stateset->setMode(GL_CULL_FACE, osg::StateAttribute::ON); diff --git a/src/translations/Dyt_zh_CN.ts b/src/translations/Dyt_zh_CN.ts index d678dd1b..0b2572cd 100644 --- a/src/translations/Dyt_zh_CN.ts +++ b/src/translations/Dyt_zh_CN.ts @@ -1300,7 +1300,7 @@ Path - + 路径