mirror of
https://github.com/JulianGro/overte.git
synced 2025-05-05 12:47:50 +02:00
Merge branch 'master' into fix/gltf-colors
This commit is contained in:
commit
f67410a5e9
59 changed files with 350 additions and 230 deletions
26
.github/workflows/pr_build.yml
vendored
26
.github/workflows/pr_build.yml
vendored
|
@ -36,6 +36,8 @@ jobs:
|
||||||
build_type: full
|
build_type: full
|
||||||
- os: macOS-latest
|
- os: macOS-latest
|
||||||
build_type: full
|
build_type: full
|
||||||
|
- os: macOS-latest
|
||||||
|
build_type: client
|
||||||
- os: ubuntu-18.04
|
- os: ubuntu-18.04
|
||||||
build_type: full
|
build_type: full
|
||||||
apt-dependencies: mesa-common-dev libegl1 libglvnd-dev libdouble-conversion1 libpulse0
|
apt-dependencies: mesa-common-dev libegl1 libglvnd-dev libdouble-conversion1 libpulse0
|
||||||
|
@ -52,25 +54,39 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
echo ::set-output name=github_sha_short::`echo $GIT_COMMIT | cut -c1-7`
|
echo ::set-output name=github_sha_short::`echo $GIT_COMMIT | cut -c1-7`
|
||||||
echo "JOB_NAME=build (${{matrix.os}}, ${{matrix.build_type}})" >> $GITHUB_ENV
|
echo "JOB_NAME=build (${{matrix.os}}, ${{matrix.build_type}})" >> $GITHUB_ENV
|
||||||
|
echo "APP_TARGET_NAME=$APP_NAME" >> $GITHUB_ENV
|
||||||
|
|
||||||
# Linux build variables
|
# Linux build variables
|
||||||
if [[ "${{ matrix.os }}" = "ubuntu-"* ]]; then
|
if [[ "${{ matrix.os }}" = "ubuntu-"* ]]; then
|
||||||
echo "PYTHON_EXEC=python3" >> $GITHUB_ENV
|
echo "PYTHON_EXEC=python3" >> $GITHUB_ENV
|
||||||
echo "INSTALLER_EXT=*" >> $GITHUB_ENV
|
echo "INSTALLER_EXT=*" >> $GITHUB_ENV
|
||||||
echo "CMAKE_BUILD_EXTRA=-- -j3" >> $GITHUB_ENV
|
echo "CMAKE_BUILD_EXTRA=-- -j3" >> $GITHUB_ENV
|
||||||
|
if [ "${{ matrix.build_type }}" = "full" ]; then
|
||||||
echo "CMAKE_EXTRA=-DBUILD_TOOLS:BOOLEAN=FALSE -DHIFI_PYTHON_EXEC:FILEPATH=$(which python3)" >> $GITHUB_ENV
|
echo "CMAKE_EXTRA=-DBUILD_TOOLS:BOOLEAN=FALSE -DHIFI_PYTHON_EXEC:FILEPATH=$(which python3)" >> $GITHUB_ENV
|
||||||
|
else
|
||||||
|
echo "CMAKE_EXTRA=-DCLIENT_ONLY=1 -DBUILD_TOOLS:BOOLEAN=FALSE -DHIFI_PYTHON_EXEC:FILEPATH=$(which python3)" >> $GITHUB_ENV
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
# Mac build variables
|
# Mac build variables
|
||||||
if [ "${{ matrix.os }}" = "macOS-latest" ]; then
|
if [ "${{ matrix.os }}" = "macOS-latest" ]; then
|
||||||
echo "PYTHON_EXEC=python3" >> $GITHUB_ENV
|
echo "PYTHON_EXEC=python3" >> $GITHUB_ENV
|
||||||
echo "INSTALLER_EXT=dmg" >> $GITHUB_ENV
|
echo "INSTALLER_EXT=dmg" >> $GITHUB_ENV
|
||||||
|
if [ "${{ matrix.build_type }}" = "full" ]; then
|
||||||
echo "CMAKE_EXTRA=-DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED=OFF -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -G Xcode" >> $GITHUB_ENV
|
echo "CMAKE_EXTRA=-DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED=OFF -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -G Xcode" >> $GITHUB_ENV
|
||||||
|
else
|
||||||
|
echo "CMAKE_EXTRA=-DCLIENT_ONLY=1 -DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED=OFF -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -G Xcode" >> $GITHUB_ENV
|
||||||
|
fi
|
||||||
|
echo "APP_TARGET_NAME=Vircadia" >> $GITHUB_ENV
|
||||||
fi
|
fi
|
||||||
# Windows build variables
|
# Windows build variables
|
||||||
if [ "${{ matrix.os }}" = "windows-latest" ]; then
|
if [ "${{ matrix.os }}" = "windows-latest" ]; then
|
||||||
echo "PYTHON_EXEC=python" >> $GITHUB_ENV
|
echo "PYTHON_EXEC=python" >> $GITHUB_ENV
|
||||||
echo "INSTALLER_EXT=exe" >> $GITHUB_ENV
|
echo "INSTALLER_EXT=exe" >> $GITHUB_ENV
|
||||||
|
if [ "${{ matrix.build_type }}" = "full" ]; then
|
||||||
echo "CMAKE_EXTRA=-A x64" >> $GITHUB_ENV
|
echo "CMAKE_EXTRA=-A x64" >> $GITHUB_ENV
|
||||||
|
else
|
||||||
|
echo "CMAKE_EXTRA=-A x64 -DCLIENT_ONLY=1" >> $GITHUB_ENV
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
# Android + Quest build variables
|
# Android + Quest build variables
|
||||||
if [[ "${{ matrix.build_type }}" == "android" ]]; then
|
if [[ "${{ matrix.build_type }}" == "android" ]]; then
|
||||||
|
@ -86,9 +102,13 @@ jobs:
|
||||||
echo "${{ steps.buildenv1.outputs.symbols_archive }}"
|
echo "${{ steps.buildenv1.outputs.symbols_archive }}"
|
||||||
echo "GIT_COMMIT_SHORT=${{ steps.buildenv1.outputs.github_sha_short }}" >> $GITHUB_ENV
|
echo "GIT_COMMIT_SHORT=${{ steps.buildenv1.outputs.github_sha_short }}" >> $GITHUB_ENV
|
||||||
if [[ "${{ matrix.build_type }}" != "android" ]]; then
|
if [[ "${{ matrix.build_type }}" != "android" ]]; then
|
||||||
|
if [ "${{ matrix.build_type }}" = "full" ]; then
|
||||||
echo "ARTIFACT_PATTERN=Vircadia-PR${{ github.event.number }}-*.$INSTALLER_EXT" >> $GITHUB_ENV
|
echo "ARTIFACT_PATTERN=Vircadia-PR${{ github.event.number }}-*.$INSTALLER_EXT" >> $GITHUB_ENV
|
||||||
# Build type variables
|
|
||||||
echo "INSTALLER=Vircadia-$RELEASE_NUMBER-$GIT_COMMIT_SHORT.$INSTALLER_EXT" >> $GITHUB_ENV
|
echo "INSTALLER=Vircadia-$RELEASE_NUMBER-$GIT_COMMIT_SHORT.$INSTALLER_EXT" >> $GITHUB_ENV
|
||||||
|
else
|
||||||
|
echo "ARTIFACT_PATTERN=Vircadia-Interface-PR${{ github.event.number }}-*.$INSTALLER_EXT" >> $GITHUB_ENV
|
||||||
|
echo "INSTALLER=Vircadia-Interface-$RELEASE_NUMBER-$GIT_COMMIT_SHORT.$INSTALLER_EXT" >> $GITHUB_ENV
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo "ARTIFACT_PATTERN=*.$INSTALLER_EXT" >> $GITHUB_ENV
|
echo "ARTIFACT_PATTERN=*.$INSTALLER_EXT" >> $GITHUB_ENV
|
||||||
fi
|
fi
|
||||||
|
@ -124,7 +144,7 @@ jobs:
|
||||||
if: matrix.build_type == 'full' || matrix.build_type == 'client'
|
if: matrix.build_type == 'full' || matrix.build_type == 'client'
|
||||||
working-directory: ${{runner.workspace}}/build
|
working-directory: ${{runner.workspace}}/build
|
||||||
shell: bash
|
shell: bash
|
||||||
run: cmake --build . --config $BUILD_TYPE --target $APP_NAME $CMAKE_BUILD_EXTRA
|
run: cmake --build . --config $BUILD_TYPE --target $APP_TARGET_NAME $CMAKE_BUILD_EXTRA
|
||||||
- name: Build Domain Server
|
- name: Build Domain Server
|
||||||
if: matrix.build_type == 'full'
|
if: matrix.build_type == 'full'
|
||||||
working-directory: ${{runner.workspace}}/build
|
working-directory: ${{runner.workspace}}/build
|
||||||
|
@ -136,7 +156,7 @@ jobs:
|
||||||
shell: bash
|
shell: bash
|
||||||
run: cmake --build . --config $BUILD_TYPE --target assignment-client $CMAKE_BUILD_EXTRA
|
run: cmake --build . --config $BUILD_TYPE --target assignment-client $CMAKE_BUILD_EXTRA
|
||||||
- name: Build Console
|
- name: Build Console
|
||||||
if: matrix.build_type == 'full'
|
if: matrix.build_type == 'full' || matrix.os == 'windows-latest'
|
||||||
working-directory: ${{runner.workspace}}/build
|
working-directory: ${{runner.workspace}}/build
|
||||||
shell: bash
|
shell: bash
|
||||||
run: cmake --build . --config $BUILD_TYPE --target packaged-server-console $CMAKE_BUILD_EXTRA
|
run: cmake --build . --config $BUILD_TYPE --target packaged-server-console $CMAKE_BUILD_EXTRA
|
||||||
|
|
|
@ -132,6 +132,15 @@ else()
|
||||||
set(MOBILE 0)
|
set(MOBILE 0)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
set(SCREENSHARE 0)
|
||||||
|
if (WIN32)
|
||||||
|
set(SCREENSHARE 1)
|
||||||
|
endif()
|
||||||
|
if (APPLE AND NOT CLIENT_ONLY)
|
||||||
|
# Don't include Screenshare in OSX client-only builds.
|
||||||
|
set(SCREENSHARE 1)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Use default time server if none defined in environment
|
# Use default time server if none defined in environment
|
||||||
set_from_env(TIMESERVER_URL TIMESERVER_URL "http://timestamp.comodoca.com?td=sha256")
|
set_from_env(TIMESERVER_URL TIMESERVER_URL "http://timestamp.comodoca.com?td=sha256")
|
||||||
|
|
||||||
|
@ -323,8 +332,11 @@ endif()
|
||||||
|
|
||||||
if (BUILD_CLIENT)
|
if (BUILD_CLIENT)
|
||||||
add_subdirectory(interface)
|
add_subdirectory(interface)
|
||||||
add_subdirectory(screenshare)
|
if (APPLE)
|
||||||
|
set_target_properties(Vircadia PROPERTIES FOLDER "Apps")
|
||||||
|
else()
|
||||||
set_target_properties(interface PROPERTIES FOLDER "Apps")
|
set_target_properties(interface PROPERTIES FOLDER "Apps")
|
||||||
|
endif()
|
||||||
|
|
||||||
option(USE_SIXENSE "Build Interface with sixense library/plugin" OFF)
|
option(USE_SIXENSE "Build Interface with sixense library/plugin" OFF)
|
||||||
endif()
|
endif()
|
||||||
|
@ -334,6 +346,10 @@ if (BUILD_CLIENT OR BUILD_SERVER)
|
||||||
add_subdirectory(server-console)
|
add_subdirectory(server-console)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if (SCREENSHARE)
|
||||||
|
add_subdirectory(screenshare)
|
||||||
|
endif()
|
||||||
|
|
||||||
# BUILD_TOOLS option will be handled inside the tools's CMakeLists.txt because 'scribe' tool is required for build anyway
|
# BUILD_TOOLS option will be handled inside the tools's CMakeLists.txt because 'scribe' tool is required for build anyway
|
||||||
add_subdirectory(tools)
|
add_subdirectory(tools)
|
||||||
|
|
||||||
|
|
32
README.md
32
README.md
|
@ -1,33 +1,43 @@
|
||||||
# Vircadia (Codename Athena)
|
<p align="center"><a href="https://vircadia.com/"><img src="interface/resources/images/vircadia-banner.svg" alt="Vircadia - Codename Athena" width="350"/></a></p>
|
||||||
|
<h3 align="center"><a href="https://vircadia.com/">Website</a> | <a href="https://discordapp.com/invite/Pvx2vke">Discord</a> | <a href="https://vircadia.com/download-vircadia/">Download</a></h3>
|
||||||
|
|
||||||
### What is this?
|
### What is this?
|
||||||
|
|
||||||
Vircadia™ is a 3D social software project seeking to incrementally bring about a truly free and open metaverse, in desktop and XR.
|
Vircadia™ is a 3D social software project seeking to incrementally bring about a truly free and open metaverse.
|
||||||
|
|
||||||
### [Website](https://vircadia.com/) | [Discord](https://discordapp.com/invite/Pvx2vke) | [Download](https://vircadia.com/download-vircadia/)
|
* Desktop and VR use
|
||||||
|
* Hundreds of users simultaneously
|
||||||
|
* Full-body avatars
|
||||||
|
* FBX, glTF, and OBJ support
|
||||||
|
* JavaScript scripting engine
|
||||||
|
* 16km^3 world space in a server
|
||||||
|
* Fully self-hosted
|
||||||
|
* Apache 2.0
|
||||||
|
|
||||||
### Releases
|
### Releases
|
||||||
|
|
||||||
[View Releases here](https://github.com/vircadia/vircadia/releases/)
|
[View Releases here](https://github.com/vircadia/vircadia/releases/)
|
||||||
|
|
||||||
### How to build the Interface
|
### How to deploy a Server
|
||||||
|
|
||||||
|
- [For Windows and Linux](https://vircadia.com/deploy-a-server/)
|
||||||
|
|
||||||
|
### Building
|
||||||
|
|
||||||
|
#### How to build the Interface
|
||||||
|
|
||||||
- [For Windows](https://github.com/vircadia/vircadia/blob/master/BUILD_WIN.md)
|
- [For Windows](https://github.com/vircadia/vircadia/blob/master/BUILD_WIN.md)
|
||||||
- [For Mac](https://github.com/vircadia/vircadia/blob/master/BUILD_OSX.md)
|
- [For Mac](https://github.com/vircadia/vircadia/blob/master/BUILD_OSX.md)
|
||||||
- [For Linux](https://github.com/vircadia/vircadia/blob/master/BUILD_LINUX.md)
|
- [For Linux](https://github.com/vircadia/vircadia/blob/master/BUILD_LINUX.md)
|
||||||
- [For Linux - Vircadia Builder](https://github.com/vircadia/vircadia-builder)
|
- [For Linux - Vircadia Builder](https://github.com/vircadia/vircadia-builder)
|
||||||
|
|
||||||
### How to deploy a Server
|
#### How to build a Server
|
||||||
|
|
||||||
- [For Windows and Linux](https://vircadia.com/deploy-a-server/)
|
|
||||||
|
|
||||||
### How to build a Server
|
|
||||||
|
|
||||||
- [For Windows](https://github.com/vircadia/vircadia/blob/master/BUILD_WIN.md)
|
- [For Windows](https://github.com/vircadia/vircadia/blob/master/BUILD_WIN.md)
|
||||||
- [For Linux](https://github.com/vircadia/vircadia/blob/master/BUILD_LINUX.md)
|
- [For Linux](https://github.com/vircadia/vircadia/blob/master/BUILD_LINUX.md)
|
||||||
- [For Linux - Vircadia Builder](https://github.com/vircadia/vircadia-builder)
|
- [For Linux - Vircadia Builder](https://github.com/vircadia/vircadia-builder)
|
||||||
|
|
||||||
### How to generate an Installer
|
#### How to generate an Installer
|
||||||
|
|
||||||
- [For Windows - Interface & Server](https://github.com/vircadia/vircadia/blob/master/INSTALLER.md)
|
- [For Windows - Interface & Server](https://github.com/vircadia/vircadia/blob/master/INSTALLER.md)
|
||||||
- [For Mac - Interface](https://github.com/vircadia/vircadia/blob/master/INSTALLER.md#os-x)
|
- [For Mac - Interface](https://github.com/vircadia/vircadia/blob/master/INSTALLER.md#os-x)
|
||||||
|
@ -48,7 +58,7 @@ Vircadia consists of many projects and codebases with its unifying structure's g
|
||||||
- The UI Framework (Codename Nyx) - Codebase coming soon.
|
- The UI Framework (Codename Nyx) - Codebase coming soon.
|
||||||
- [The Metaverse (Codename Iamus)](https://github.com/vircadia/Iamus/)
|
- [The Metaverse (Codename Iamus)](https://github.com/vircadia/Iamus/)
|
||||||
- [The Metaverse Dashboard (Codename Iamus)](https://github.com/vircadia/project-iamus-dashboard/)
|
- [The Metaverse Dashboard (Codename Iamus)](https://github.com/vircadia/project-iamus-dashboard/)
|
||||||
- [The Launcher (Codename Pantheon)](https://github.com/vircadia/pantheon-launcher/)
|
- [The Launcher (Codename Pantheon)](https://github.com/vircadia/pantheon-launcher/) - Currently Windows only.
|
||||||
|
|
||||||
#### Child Projects
|
#### Child Projects
|
||||||
- [Vircadia Builder for Linux](https://github.com/vircadia/vircadia-builder/)
|
- [Vircadia Builder for Linux](https://github.com/vircadia/vircadia-builder/)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
set(TARGET_NAME native-lib)
|
set(TARGET_NAME native-lib)
|
||||||
setup_hifi_library()
|
setup_hifi_library()
|
||||||
link_hifi_libraries(shared task networking gl gpu qml image fbx hfm render-utils physics entities octree ${PLATFORM_GL_BACKEND})
|
link_hifi_libraries(shared task networking gl gpu qml image model-serializers hfm render-utils physics entities octree ${PLATFORM_GL_BACKEND})
|
||||||
target_opengl()
|
target_opengl()
|
||||||
target_bullet()
|
target_bullet()
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ set(TARGET_NAME questInterface)
|
||||||
setup_hifi_library()
|
setup_hifi_library()
|
||||||
link_hifi_libraries(
|
link_hifi_libraries(
|
||||||
shared task networking qml
|
shared task networking qml
|
||||||
image fbx hfm render-utils physics entities octree
|
image model-serializers hfm render-utils physics entities octree
|
||||||
oculusMobile oculusMobilePlugin
|
oculusMobile oculusMobilePlugin
|
||||||
gl gpu ${PLATFORM_GL_BACKEND}
|
gl gpu ${PLATFORM_GL_BACKEND}
|
||||||
)
|
)
|
||||||
|
|
|
@ -12,7 +12,7 @@ setup_thread_debugger()
|
||||||
|
|
||||||
# link in the shared libraries
|
# link in the shared libraries
|
||||||
link_hifi_libraries(
|
link_hifi_libraries(
|
||||||
audio avatars octree gpu graphics shaders fbx hfm entities
|
audio avatars octree gpu graphics shaders model-serializers hfm entities
|
||||||
networking animation recording shared script-engine embedded-webserver
|
networking animation recording shared script-engine embedded-webserver
|
||||||
controllers physics plugins midi image
|
controllers physics plugins midi image
|
||||||
material-networking model-networking ktx shaders
|
material-networking model-networking ktx shaders
|
||||||
|
|
|
@ -96,6 +96,8 @@ macro(GENERATE_INSTALLERS)
|
||||||
set(CPACK_PACKAGING_INSTALL_PREFIX /)
|
set(CPACK_PACKAGING_INSTALL_PREFIX /)
|
||||||
set(CPACK_OSX_PACKAGE_VERSION ${CMAKE_OSX_DEPLOYMENT_TARGET})
|
set(CPACK_OSX_PACKAGE_VERSION ${CMAKE_OSX_DEPLOYMENT_TARGET})
|
||||||
|
|
||||||
|
# Create folder if used.
|
||||||
|
if (NOT INTERFACE_INSTALL_DIR STREQUAL ".")
|
||||||
# make sure a High Fidelity directory exists, in case this hits prior to other installs
|
# make sure a High Fidelity directory exists, in case this hits prior to other installs
|
||||||
install(CODE "file(MAKE_DIRECTORY \"\${CMAKE_INSTALL_PREFIX}/${DMG_SUBFOLDER_NAME}\")")
|
install(CODE "file(MAKE_DIRECTORY \"\${CMAKE_INSTALL_PREFIX}/${DMG_SUBFOLDER_NAME}\")")
|
||||||
|
|
||||||
|
@ -111,6 +113,8 @@ macro(GENERATE_INSTALLERS)
|
||||||
install(CODE "execute_process(COMMAND SetFile -a V \${CMAKE_INSTALL_PREFIX}/${ESCAPED_DMG_SUBFOLDER_NAME}/Icon\\r)")
|
install(CODE "execute_process(COMMAND SetFile -a V \${CMAKE_INSTALL_PREFIX}/${ESCAPED_DMG_SUBFOLDER_NAME}/Icon\\r)")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
endif ()
|
||||||
|
|
||||||
# configure a cpack properties file for custom variables in template
|
# configure a cpack properties file for custom variables in template
|
||||||
set(CPACK_CONFIGURED_PROP_FILE "${CMAKE_CURRENT_BINARY_DIR}/CPackCustomProperties.cmake")
|
set(CPACK_CONFIGURED_PROP_FILE "${CMAKE_CURRENT_BINARY_DIR}/CPackCustomProperties.cmake")
|
||||||
configure_file("${HF_CMAKE_DIR}/templates/CPackProperties.cmake.in" ${CPACK_CONFIGURED_PROP_FILE})
|
configure_file("${HF_CMAKE_DIR}/templates/CPackProperties.cmake.in" ${CPACK_CONFIGURED_PROP_FILE})
|
||||||
|
|
|
@ -17,14 +17,19 @@ if ("$ENV{VIRCADIA_MEMORY_DEBUGGING}")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if (VIRCADIA_MEMORY_DEBUGGING)
|
if (VIRCADIA_MEMORY_DEBUGGING)
|
||||||
if (UNIX)
|
|
||||||
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||||
# for clang on Linux
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-omit-frame-pointer -fsanitize=undefined -fsanitize=address -fsanitize-recover=address")
|
||||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-omit-frame-pointer -fsanitize=undefined -fsanitize=address -fsanitize=leak -fsanitize-recover=address")
|
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=undefined -fsanitize=address -fsanitize-recover=address")
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=undefined -fsanitize=address -fsanitize=leak -fsanitize-recover=address")
|
SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=undefined -fsanitize=address -fsanitize-recover=address")
|
||||||
SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=undefined -fsanitize=address -fsanitize=leak -fsanitize-recover=address")
|
if (UNIX)
|
||||||
else ()
|
# Only supported on Linux and OSX
|
||||||
# for gcc on Linux
|
# https://clang.llvm.org/docs/LeakSanitizer.html
|
||||||
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=leak")
|
||||||
|
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=leak")
|
||||||
|
SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=leak")
|
||||||
|
endif()
|
||||||
|
elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
|
||||||
|
# for gcc
|
||||||
# For some reason, using -fstack-protector results in this error:
|
# For some reason, using -fstack-protector results in this error:
|
||||||
# usr/bin/ld: ../../libraries/audio/libaudio.so: undefined reference to `FIR_1x4_AVX512(float*, float*, float*, float*, float*, float (*) [64], int)'
|
# usr/bin/ld: ../../libraries/audio/libaudio.so: undefined reference to `FIR_1x4_AVX512(float*, float*, float*, float*, float*, float (*) [64], int)'
|
||||||
# The '-DSTACK_PROTECTOR' argument below disables the usage of this function in the code. This should be fine as it only works on the latest Intel hardware,
|
# The '-DSTACK_PROTECTOR' argument below disables the usage of this function in the code. This should be fine as it only works on the latest Intel hardware,
|
||||||
|
@ -33,9 +38,13 @@ if (VIRCADIA_MEMORY_DEBUGGING)
|
||||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=undefined -fsanitize=address -fsanitize=leak -U_FORTIFY_SOURCE -DSTACK_PROTECTOR -fstack-protector-strong -fno-omit-frame-pointer")
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=undefined -fsanitize=address -fsanitize=leak -U_FORTIFY_SOURCE -DSTACK_PROTECTOR -fstack-protector-strong -fno-omit-frame-pointer")
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=undefined -fsanitize=address -fsanitize=leak ")
|
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=undefined -fsanitize=address -fsanitize=leak ")
|
||||||
SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=undefined -fsanitize=address -fsanitize=leak")
|
SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=undefined -fsanitize=address -fsanitize=leak")
|
||||||
endif()
|
elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
||||||
|
# https://docs.microsoft.com/en-us/cpp/sanitizers/asan?view=msvc-160
|
||||||
|
# Supported experimentally starting from VS2019 v16.4, and officially from v16.9.
|
||||||
|
# UBSan and leak detection don't seem to be implemented yet.
|
||||||
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /fsanitize=address /Zi")
|
||||||
else()
|
else()
|
||||||
message(FATAL_ERROR "Memory debugging is not supported on this platform." )
|
message(FATAL_ERROR "Memory debugging is not supported on this compiler.")
|
||||||
endif()
|
endif()
|
||||||
endif ()
|
endif ()
|
||||||
endmacro(SETUP_MEMORY_DEBUGGER)
|
endmacro(SETUP_MEMORY_DEBUGGER)
|
||||||
|
|
|
@ -38,6 +38,12 @@ macro(SET_PACKAGING_PARAMETERS)
|
||||||
set(CLIENT_COMPONENT client)
|
set(CLIENT_COMPONENT client)
|
||||||
set(SERVER_COMPONENT server)
|
set(SERVER_COMPONENT server)
|
||||||
|
|
||||||
|
if (APPLE)
|
||||||
|
set(INTERFACE_BUNDLE_NAME "Vircadia")
|
||||||
|
else()
|
||||||
|
set(INTERFACE_BUNDLE_NAME "interface")
|
||||||
|
endif()
|
||||||
|
|
||||||
if (RELEASE_TYPE STREQUAL "PRODUCTION")
|
if (RELEASE_TYPE STREQUAL "PRODUCTION")
|
||||||
set(DEPLOY_PACKAGE TRUE)
|
set(DEPLOY_PACKAGE TRUE)
|
||||||
set(PRODUCTION_BUILD 1)
|
set(PRODUCTION_BUILD 1)
|
||||||
|
@ -45,7 +51,6 @@ macro(SET_PACKAGING_PARAMETERS)
|
||||||
set(BUILD_ORGANIZATION "Vircadia")
|
set(BUILD_ORGANIZATION "Vircadia")
|
||||||
set(HIGH_FIDELITY_PROTOCOL "hifi")
|
set(HIGH_FIDELITY_PROTOCOL "hifi")
|
||||||
set(HIGH_FIDELITY_APP_PROTOCOL "hifiapp")
|
set(HIGH_FIDELITY_APP_PROTOCOL "hifiapp")
|
||||||
set(INTERFACE_BUNDLE_NAME "interface")
|
|
||||||
set(INTERFACE_ICON_PREFIX "interface")
|
set(INTERFACE_ICON_PREFIX "interface")
|
||||||
|
|
||||||
# add definition for this release type
|
# add definition for this release type
|
||||||
|
@ -68,7 +73,6 @@ macro(SET_PACKAGING_PARAMETERS)
|
||||||
set(PR_BUILD 1)
|
set(PR_BUILD 1)
|
||||||
set(BUILD_VERSION "PR${RELEASE_NUMBER}")
|
set(BUILD_VERSION "PR${RELEASE_NUMBER}")
|
||||||
set(BUILD_ORGANIZATION "Vircadia - PR${RELEASE_NUMBER}")
|
set(BUILD_ORGANIZATION "Vircadia - PR${RELEASE_NUMBER}")
|
||||||
set(INTERFACE_BUNDLE_NAME "interface")
|
|
||||||
set(INTERFACE_ICON_PREFIX "interface-beta")
|
set(INTERFACE_ICON_PREFIX "interface-beta")
|
||||||
|
|
||||||
# add definition for this release type
|
# add definition for this release type
|
||||||
|
@ -77,7 +81,6 @@ macro(SET_PACKAGING_PARAMETERS)
|
||||||
set(DEV_BUILD 1)
|
set(DEV_BUILD 1)
|
||||||
set(BUILD_VERSION "dev")
|
set(BUILD_VERSION "dev")
|
||||||
set(BUILD_ORGANIZATION "Vircadia - ${BUILD_VERSION}")
|
set(BUILD_ORGANIZATION "Vircadia - ${BUILD_VERSION}")
|
||||||
set(INTERFACE_BUNDLE_NAME "interface")
|
|
||||||
set(INTERFACE_ICON_PREFIX "interface-beta")
|
set(INTERFACE_ICON_PREFIX "interface-beta")
|
||||||
|
|
||||||
# add definition for this release type
|
# add definition for this release type
|
||||||
|
@ -85,7 +88,11 @@ macro(SET_PACKAGING_PARAMETERS)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
set(NITPICK_BUNDLE_NAME "nitpick")
|
set(NITPICK_BUNDLE_NAME "nitpick")
|
||||||
|
if (RELEASE_TYPE STREQUAL "PRODUCTION")
|
||||||
set(NITPICK_ICON_PREFIX "nitpick")
|
set(NITPICK_ICON_PREFIX "nitpick")
|
||||||
|
else ()
|
||||||
|
set(NITPICK_ICON_PREFIX "nitpick-beta")
|
||||||
|
endif ()
|
||||||
|
|
||||||
string(TIMESTAMP BUILD_TIME "%d/%m/%Y")
|
string(TIMESTAMP BUILD_TIME "%d/%m/%Y")
|
||||||
|
|
||||||
|
@ -125,10 +132,10 @@ macro(SET_PACKAGING_PARAMETERS)
|
||||||
|
|
||||||
set(DMG_SUBFOLDER_ICON "${HF_CMAKE_DIR}/installer/install-folder.rsrc")
|
set(DMG_SUBFOLDER_ICON "${HF_CMAKE_DIR}/installer/install-folder.rsrc")
|
||||||
|
|
||||||
set(CONSOLE_INSTALL_DIR ${DMG_SUBFOLDER_NAME})
|
set(CONSOLE_INSTALL_DIR ".")
|
||||||
set(INTERFACE_INSTALL_DIR ${DMG_SUBFOLDER_NAME})
|
set(INTERFACE_INSTALL_DIR ".")
|
||||||
set(SCREENSHARE_INSTALL_DIR ${DMG_SUBFOLDER_NAME})
|
set(SCREENSHARE_INSTALL_DIR ".")
|
||||||
set(NITPICK_INSTALL_DIR ${DMG_SUBFOLDER_NAME})
|
set(NITPICK_INSTALL_DIR ".")
|
||||||
|
|
||||||
if (CLIENT_ONLY)
|
if (CLIENT_ONLY)
|
||||||
set(CONSOLE_EXEC_NAME "Console.app")
|
set(CONSOLE_EXEC_NAME "Console.app")
|
||||||
|
@ -147,7 +154,7 @@ macro(SET_PACKAGING_PARAMETERS)
|
||||||
|
|
||||||
set(SCREENSHARE_APP_CONTENTS "${SCREENSHARE_INSTALL_APP_PATH}/Contents")
|
set(SCREENSHARE_APP_CONTENTS "${SCREENSHARE_INSTALL_APP_PATH}/Contents")
|
||||||
|
|
||||||
set(INTERFACE_INSTALL_APP_PATH "${CONSOLE_INSTALL_DIR}/${INTERFACE_BUNDLE_NAME}.app")
|
set(INTERFACE_INSTALL_APP_PATH "${INTERFACE_INSTALL_DIR}/${INTERFACE_BUNDLE_NAME}.app")
|
||||||
set(INTERFACE_ICON_FILENAME "${INTERFACE_ICON_PREFIX}.icns")
|
set(INTERFACE_ICON_FILENAME "${INTERFACE_ICON_PREFIX}.icns")
|
||||||
set(NITPICK_ICON_FILENAME "${NITPICK_ICON_PREFIX}.icns")
|
set(NITPICK_ICON_FILENAME "${NITPICK_ICON_PREFIX}.icns")
|
||||||
else ()
|
else ()
|
||||||
|
|
|
@ -11,8 +11,12 @@ macro(SETUP_HIFI_CLIENT_SERVER_PLUGIN)
|
||||||
setup_hifi_library()
|
setup_hifi_library()
|
||||||
|
|
||||||
if (BUILD_CLIENT)
|
if (BUILD_CLIENT)
|
||||||
|
if (APPLE)
|
||||||
|
add_dependencies(Vircadia ${TARGET_NAME})
|
||||||
|
else()
|
||||||
add_dependencies(interface ${TARGET_NAME})
|
add_dependencies(interface ${TARGET_NAME})
|
||||||
endif()
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
if (BUILD_SERVER)
|
if (BUILD_SERVER)
|
||||||
add_dependencies(assignment-client ${TARGET_NAME})
|
add_dependencies(assignment-client ${TARGET_NAME})
|
||||||
|
|
|
@ -9,8 +9,12 @@ macro(SETUP_HIFI_PLUGIN)
|
||||||
set(${TARGET_NAME}_SHARED 1)
|
set(${TARGET_NAME}_SHARED 1)
|
||||||
setup_hifi_library(${ARGV})
|
setup_hifi_library(${ARGV})
|
||||||
if (BUILD_CLIENT)
|
if (BUILD_CLIENT)
|
||||||
|
if (APPLE)
|
||||||
|
add_dependencies(Vircadia ${TARGET_NAME})
|
||||||
|
else()
|
||||||
add_dependencies(interface ${TARGET_NAME})
|
add_dependencies(interface ${TARGET_NAME})
|
||||||
endif()
|
endif()
|
||||||
|
endif()
|
||||||
target_link_libraries(${TARGET_NAME} ${CMAKE_THREAD_LIBS_INIT})
|
target_link_libraries(${TARGET_NAME} ${CMAKE_THREAD_LIBS_INIT})
|
||||||
set_target_properties(${TARGET_NAME} PROPERTIES FOLDER "Plugins")
|
set_target_properties(${TARGET_NAME} PROPERTIES FOLDER "Plugins")
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,10 @@
|
||||||
|
if (APPLE)
|
||||||
|
# Make the OSX DMG app be Vircadia.app.
|
||||||
|
set(TARGET_NAME Vircadia)
|
||||||
|
else()
|
||||||
set(TARGET_NAME interface)
|
set(TARGET_NAME interface)
|
||||||
|
endif()
|
||||||
|
|
||||||
project(${TARGET_NAME})
|
project(${TARGET_NAME})
|
||||||
|
|
||||||
file(GLOB_RECURSE QML_SRC resources/qml/*.qml resources/qml/*.js)
|
file(GLOB_RECURSE QML_SRC resources/qml/*.qml resources/qml/*.js)
|
||||||
|
@ -192,9 +198,12 @@ if (BUILD_TOOLS AND NPM_EXECUTABLE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (WIN32 OR APPLE)
|
if (WIN32 OR APPLE)
|
||||||
add_dependencies(${TARGET_NAME} resources screenshare)
|
add_dependencies(${TARGET_NAME} resources)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if (SCREENSHARE)
|
||||||
|
add_dependencies(${TARGET_NAME} screenshare)
|
||||||
|
endif()
|
||||||
|
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
# These are external plugins, but we need to do the 'add dependency' here so that their
|
# These are external plugins, but we need to do the 'add dependency' here so that their
|
||||||
|
@ -219,7 +228,7 @@ endif()
|
||||||
# link required hifi libraries
|
# link required hifi libraries
|
||||||
link_hifi_libraries(
|
link_hifi_libraries(
|
||||||
shared workload task octree ktx gpu gl procedural graphics graphics-scripting render
|
shared workload task octree ktx gpu gl procedural graphics graphics-scripting render
|
||||||
pointers recording hfm fbx networking material-networking
|
pointers recording hfm model-serializers networking material-networking
|
||||||
model-networking model-baker entities avatars
|
model-networking model-baker entities avatars
|
||||||
audio audio-client animation script-engine physics
|
audio audio-client animation script-engine physics
|
||||||
render-utils entities-renderer avatars-renderer ui qml auto-updater midi
|
render-utils entities-renderer avatars-renderer ui qml auto-updater midi
|
||||||
|
@ -334,10 +343,6 @@ if (APPLE)
|
||||||
COMMAND "${CMAKE_COMMAND}" -E copy_directory
|
COMMAND "${CMAKE_COMMAND}" -E copy_directory
|
||||||
"${CMAKE_SOURCE_DIR}/scripts"
|
"${CMAKE_SOURCE_DIR}/scripts"
|
||||||
"${RESOURCES_DEV_DIR}/scripts"
|
"${RESOURCES_DEV_DIR}/scripts"
|
||||||
# copy screenshare app to the resource folder
|
|
||||||
COMMAND "${CMAKE_COMMAND}" -E copy_directory
|
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/../screenshare/hifi-screenshare-darwin-x64/hifi-screenshare.app"
|
|
||||||
"${RESOURCES_DEV_DIR}/hifi-screenshare.app"
|
|
||||||
# copy JSDoc files beside the executable
|
# copy JSDoc files beside the executable
|
||||||
COMMAND "${CMAKE_COMMAND}" -E copy_directory
|
COMMAND "${CMAKE_COMMAND}" -E copy_directory
|
||||||
"${CMAKE_SOURCE_DIR}/tools/jsdoc/out"
|
"${CMAKE_SOURCE_DIR}/tools/jsdoc/out"
|
||||||
|
@ -364,6 +369,15 @@ if (APPLE)
|
||||||
"${RESOURCES_DEV_DIR}/serverless/redirect.json"
|
"${RESOURCES_DEV_DIR}/serverless/redirect.json"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if (SCREENSHARE)
|
||||||
|
add_custom_command(TARGET ${TARGET_NAME} POST_BUILD
|
||||||
|
# copy screenshare app to the resource folder
|
||||||
|
COMMAND "${CMAKE_COMMAND}" -E copy_directory
|
||||||
|
"${CMAKE_CURRENT_BINARY_DIR}/../screenshare/hifi-screenshare-darwin-x64/hifi-screenshare.app"
|
||||||
|
"${RESOURCES_DEV_DIR}/hifi-screenshare.app"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
# call the fixup_interface macro to add required bundling commands for installation
|
# call the fixup_interface macro to add required bundling commands for installation
|
||||||
fixup_interface()
|
fixup_interface()
|
||||||
|
|
||||||
|
|
|
@ -1011,7 +1011,7 @@ const bool DEFAULT_HMD_TABLET_BECOMES_TOOLBAR = false;
|
||||||
const bool DEFAULT_PREFER_STYLUS_OVER_LASER = false;
|
const bool DEFAULT_PREFER_STYLUS_OVER_LASER = false;
|
||||||
const bool DEFAULT_PREFER_AVATAR_FINGER_OVER_STYLUS = false;
|
const bool DEFAULT_PREFER_AVATAR_FINGER_OVER_STYLUS = false;
|
||||||
const QString DEFAULT_CURSOR_NAME = "DEFAULT";
|
const QString DEFAULT_CURSOR_NAME = "DEFAULT";
|
||||||
const bool DEFAULT_MINI_TABLET_ENABLED = true;
|
const bool DEFAULT_MINI_TABLET_ENABLED = false;
|
||||||
const bool DEFAULT_AWAY_STATE_WHEN_FOCUS_LOST_IN_VR_ENABLED = true;
|
const bool DEFAULT_AWAY_STATE_WHEN_FOCUS_LOST_IN_VR_ENABLED = true;
|
||||||
|
|
||||||
QSharedPointer<OffscreenUi> getOffscreenUI() {
|
QSharedPointer<OffscreenUi> getOffscreenUI() {
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
//
|
//
|
||||||
// Created by Clement on 1/16/15.
|
// Created by Clement on 1/16/15.
|
||||||
// Copyright 2015 High Fidelity, Inc.
|
// Copyright 2015 High Fidelity, Inc.
|
||||||
|
// Copyright 2021 Vircadia contributors.
|
||||||
//
|
//
|
||||||
// Distributed under the Apache License, Version 2.0.
|
// Distributed under the Apache License, Version 2.0.
|
||||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
||||||
|
@ -19,8 +20,12 @@
|
||||||
#include "ui/DialogsManager.h"
|
#include "ui/DialogsManager.h"
|
||||||
#include "InterfaceLogging.h"
|
#include "InterfaceLogging.h"
|
||||||
|
|
||||||
Setting::Handle<int> desktopWorldDetailQuality("desktopWorldDetailQuality", (int)DEFAULT_WORLD_DETAIL_QUALITY);
|
const QString LOD_SETTINGS_PREFIX { "lodManager/" };
|
||||||
Setting::Handle<int> hmdWorldDetailQuality("hmdWorldDetailQuality", (int)DEFAULT_WORLD_DETAIL_QUALITY);
|
|
||||||
|
Setting::Handle<bool> automaticLODAdjust(LOD_SETTINGS_PREFIX + "automaticLODAdjust", (bool)DEFAULT_LOD_AUTO_ADJUST);
|
||||||
|
Setting::Handle<float> lodHalfAngle(LOD_SETTINGS_PREFIX + "lodHalfAngle", (float)getHalfAngleFromVisibilityDistance(DEFAULT_VISIBILITY_DISTANCE_FOR_UNIT_ELEMENT));
|
||||||
|
Setting::Handle<int> desktopWorldDetailQuality(LOD_SETTINGS_PREFIX + "desktopWorldDetailQuality", (int)DEFAULT_WORLD_DETAIL_QUALITY);
|
||||||
|
Setting::Handle<int> hmdWorldDetailQuality(LOD_SETTINGS_PREFIX + "hmdWorldDetailQuality", (int)DEFAULT_WORLD_DETAIL_QUALITY);
|
||||||
|
|
||||||
LODManager::LODManager() {
|
LODManager::LODManager() {
|
||||||
}
|
}
|
||||||
|
@ -188,12 +193,14 @@ void LODManager::setVisibilityDistance(float distance) {
|
||||||
// Maintain behavior with deprecated _boundaryLevelAdjust property
|
// Maintain behavior with deprecated _boundaryLevelAdjust property
|
||||||
float userDistance = distance / powf(2.0f, _boundaryLevelAdjust);
|
float userDistance = distance / powf(2.0f, _boundaryLevelAdjust);
|
||||||
_lodHalfAngle = getHalfAngleFromVisibilityDistance(userDistance);
|
_lodHalfAngle = getHalfAngleFromVisibilityDistance(userDistance);
|
||||||
|
saveSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
void LODManager::setLODAngleDeg(float lodAngle) {
|
void LODManager::setLODAngleDeg(float lodAngle) {
|
||||||
auto newLODAngleDeg = std::max(0.001f, std::min(lodAngle, 90.f));
|
auto newLODAngleDeg = std::max(0.001f, std::min(lodAngle, 90.f));
|
||||||
auto newLODHalfAngle = glm::radians(newLODAngleDeg * 0.5f);
|
auto newLODHalfAngle = glm::radians(newLODAngleDeg * 0.5f);
|
||||||
_lodHalfAngle = newLODHalfAngle;
|
_lodHalfAngle = newLODHalfAngle;
|
||||||
|
saveSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
void LODManager::setSmoothScale(float t) {
|
void LODManager::setSmoothScale(float t) {
|
||||||
|
@ -244,6 +251,7 @@ void LODManager::resetLODAdjust() {
|
||||||
void LODManager::setAutomaticLODAdjust(bool value) {
|
void LODManager::setAutomaticLODAdjust(bool value) {
|
||||||
std::lock_guard<std::mutex> { _automaticLODLock };
|
std::lock_guard<std::mutex> { _automaticLODLock };
|
||||||
_automaticLODAdjust = value;
|
_automaticLODAdjust = value;
|
||||||
|
saveSettings();
|
||||||
emit autoLODChanged();
|
emit autoLODChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -331,13 +339,18 @@ void LODManager::loadSettings() {
|
||||||
hmdQuality = WORLD_DETAIL_HIGH;
|
hmdQuality = WORLD_DETAIL_HIGH;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_automaticLODAdjust = automaticLODAdjust.get();
|
||||||
|
_lodHalfAngle = lodHalfAngle.get();
|
||||||
|
|
||||||
setWorldDetailQuality(desktopQuality, false);
|
setWorldDetailQuality(desktopQuality, false);
|
||||||
setWorldDetailQuality(hmdQuality, true);
|
setWorldDetailQuality(hmdQuality, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void LODManager::saveSettings() {
|
void LODManager::saveSettings() {
|
||||||
|
automaticLODAdjust.set((bool)_automaticLODAdjust);
|
||||||
desktopWorldDetailQuality.set((int)_desktopWorldDetailQuality);
|
desktopWorldDetailQuality.set((int)_desktopWorldDetailQuality);
|
||||||
hmdWorldDetailQuality.set((int)_hmdWorldDetailQuality);
|
hmdWorldDetailQuality.set((int)_hmdWorldDetailQuality);
|
||||||
|
lodHalfAngle.set((float)_lodHalfAngle);
|
||||||
}
|
}
|
||||||
|
|
||||||
const float MIN_DECREASE_FPS = 0.5f;
|
const float MIN_DECREASE_FPS = 0.5f;
|
||||||
|
@ -405,6 +418,7 @@ void LODManager::setWorldDetailQuality(WorldDetailQuality quality, bool isHMDMod
|
||||||
|
|
||||||
void LODManager::setWorldDetailQuality(WorldDetailQuality quality) {
|
void LODManager::setWorldDetailQuality(WorldDetailQuality quality) {
|
||||||
setWorldDetailQuality(quality, qApp->isHMDMode());
|
setWorldDetailQuality(quality, qApp->isHMDMode());
|
||||||
|
saveSettings();
|
||||||
emit worldDetailQualityChanged();
|
emit worldDetailQualityChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
//
|
//
|
||||||
// Created by Clement on 1/16/15.
|
// Created by Clement on 1/16/15.
|
||||||
// Copyright 2015 High Fidelity, Inc.
|
// Copyright 2015 High Fidelity, Inc.
|
||||||
|
// Copyright 2021 Vircadia contributors.
|
||||||
//
|
//
|
||||||
// Distributed under the Apache License, Version 2.0.
|
// Distributed under the Apache License, Version 2.0.
|
||||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
||||||
|
@ -44,10 +45,12 @@ enum WorldDetailQuality {
|
||||||
};
|
};
|
||||||
Q_DECLARE_METATYPE(WorldDetailQuality);
|
Q_DECLARE_METATYPE(WorldDetailQuality);
|
||||||
|
|
||||||
|
const bool DEFAULT_LOD_AUTO_ADJUST = false; // true for auto, false for manual.
|
||||||
|
|
||||||
#ifdef Q_OS_ANDROID
|
#ifdef Q_OS_ANDROID
|
||||||
const float LOD_DEFAULT_QUALITY_LEVEL = 0.2f; // default quality level setting is High (lower framerate)
|
const float DEFAULT_LOD_QUALITY_LEVEL = 0.2f; // default quality level setting is High (lower framerate)
|
||||||
#else
|
#else
|
||||||
const float LOD_DEFAULT_QUALITY_LEVEL = 0.5f; // default quality level setting is Mid
|
const float DEFAULT_LOD_QUALITY_LEVEL = 0.5f; // default quality level setting is Mid
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef Q_OS_ANDROID
|
#ifdef Q_OS_ANDROID
|
||||||
|
@ -255,7 +258,6 @@ public:
|
||||||
*/
|
*/
|
||||||
Q_INVOKABLE float getLODTargetFPS() const;
|
Q_INVOKABLE float getLODTargetFPS() const;
|
||||||
|
|
||||||
|
|
||||||
float getPresentTime() const { return _presentTime; }
|
float getPresentTime() const { return _presentTime; }
|
||||||
float getEngineRunTime() const { return _engineRunTime; }
|
float getEngineRunTime() const { return _engineRunTime; }
|
||||||
float getBatchTime() const { return _batchTime; }
|
float getBatchTime() const { return _batchTime; }
|
||||||
|
@ -351,7 +353,7 @@ private:
|
||||||
void setWorldDetailQuality(WorldDetailQuality quality, bool isHMDMode);
|
void setWorldDetailQuality(WorldDetailQuality quality, bool isHMDMode);
|
||||||
|
|
||||||
std::mutex _automaticLODLock;
|
std::mutex _automaticLODLock;
|
||||||
bool _automaticLODAdjust = true;
|
bool _automaticLODAdjust = DEFAULT_LOD_AUTO_ADJUST;
|
||||||
|
|
||||||
float _presentTime{ 0.0f }; // msec
|
float _presentTime{ 0.0f }; // msec
|
||||||
float _engineRunTime{ 0.0f }; // msec
|
float _engineRunTime{ 0.0f }; // msec
|
||||||
|
@ -362,7 +364,7 @@ private:
|
||||||
float _smoothScale{ 10.0f }; // smooth is evaluated over 10 times longer than now
|
float _smoothScale{ 10.0f }; // smooth is evaluated over 10 times longer than now
|
||||||
float _smoothRenderTime{ 0.0f }; // msec
|
float _smoothRenderTime{ 0.0f }; // msec
|
||||||
|
|
||||||
float _lodQualityLevel{ LOD_DEFAULT_QUALITY_LEVEL };
|
float _lodQualityLevel{ DEFAULT_LOD_QUALITY_LEVEL };
|
||||||
|
|
||||||
WorldDetailQuality _desktopWorldDetailQuality { DEFAULT_WORLD_DETAIL_QUALITY };
|
WorldDetailQuality _desktopWorldDetailQuality { DEFAULT_WORLD_DETAIL_QUALITY };
|
||||||
WorldDetailQuality _hmdWorldDetailQuality { DEFAULT_WORLD_DETAIL_QUALITY };
|
WorldDetailQuality _hmdWorldDetailQuality { DEFAULT_WORLD_DETAIL_QUALITY };
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
set(TARGET_NAME animation)
|
set(TARGET_NAME animation)
|
||||||
setup_hifi_library(Network Script)
|
setup_hifi_library(Network Script)
|
||||||
link_hifi_libraries(shared graphics fbx)
|
link_hifi_libraries(shared graphics model-serializers)
|
||||||
include_hifi_library_headers(networking)
|
include_hifi_library_headers(networking)
|
||||||
include_hifi_library_headers(gpu)
|
include_hifi_library_headers(gpu)
|
||||||
include_hifi_library_headers(hfm)
|
include_hifi_library_headers(hfm)
|
||||||
|
|
|
@ -4,7 +4,7 @@ link_hifi_libraries(shared shaders gpu graphics animation material-networking mo
|
||||||
include_hifi_library_headers(avatars)
|
include_hifi_library_headers(avatars)
|
||||||
include_hifi_library_headers(networking)
|
include_hifi_library_headers(networking)
|
||||||
include_hifi_library_headers(hfm)
|
include_hifi_library_headers(hfm)
|
||||||
include_hifi_library_headers(fbx)
|
include_hifi_library_headers(model-serializers)
|
||||||
include_hifi_library_headers(recording)
|
include_hifi_library_headers(recording)
|
||||||
include_hifi_library_headers(ktx)
|
include_hifi_library_headers(ktx)
|
||||||
include_hifi_library_headers(procedural)
|
include_hifi_library_headers(procedural)
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
set(TARGET_NAME baking)
|
set(TARGET_NAME baking)
|
||||||
setup_hifi_library(Concurrent)
|
setup_hifi_library(Concurrent)
|
||||||
|
|
||||||
link_hifi_libraries(shared shaders graphics networking procedural graphics-scripting ktx image fbx model-baker task)
|
link_hifi_libraries(shared shaders graphics networking procedural graphics-scripting ktx image model-serializers model-baker task)
|
||||||
include_hifi_library_headers(gpu)
|
include_hifi_library_headers(gpu)
|
||||||
include_hifi_library_headers(hfm)
|
include_hifi_library_headers(hfm)
|
||||||
include_hifi_library_headers(material-networking)
|
include_hifi_library_headers(material-networking)
|
|
@ -7,7 +7,7 @@ include_hifi_library_headers(model-networking)
|
||||||
include_hifi_library_headers(networking)
|
include_hifi_library_headers(networking)
|
||||||
include_hifi_library_headers(graphics)
|
include_hifi_library_headers(graphics)
|
||||||
include_hifi_library_headers(hfm)
|
include_hifi_library_headers(hfm)
|
||||||
include_hifi_library_headers(fbx)
|
include_hifi_library_headers(model-serializers)
|
||||||
include_hifi_library_headers(image)
|
include_hifi_library_headers(image)
|
||||||
include_hifi_library_headers(ktx)
|
include_hifi_library_headers(ktx)
|
||||||
include_hifi_library_headers(render)
|
include_hifi_library_headers(render)
|
||||||
|
|
|
@ -9,7 +9,7 @@ include_hifi_library_headers(audio)
|
||||||
include_hifi_library_headers(physics)
|
include_hifi_library_headers(physics)
|
||||||
include_hifi_library_headers(animation)
|
include_hifi_library_headers(animation)
|
||||||
include_hifi_library_headers(hfm)
|
include_hifi_library_headers(hfm)
|
||||||
include_hifi_library_headers(fbx)
|
include_hifi_library_headers(model-serializers)
|
||||||
include_hifi_library_headers(entities)
|
include_hifi_library_headers(entities)
|
||||||
include_hifi_library_headers(avatars)
|
include_hifi_library_headers(avatars)
|
||||||
include_hifi_library_headers(controllers)
|
include_hifi_library_headers(controllers)
|
||||||
|
|
|
@ -2,7 +2,7 @@ set(TARGET_NAME entities)
|
||||||
setup_hifi_library(Network Script)
|
setup_hifi_library(Network Script)
|
||||||
target_include_directories(${TARGET_NAME} PRIVATE "${OPENSSL_INCLUDE_DIR}")
|
target_include_directories(${TARGET_NAME} PRIVATE "${OPENSSL_INCLUDE_DIR}")
|
||||||
include_hifi_library_headers(hfm)
|
include_hifi_library_headers(hfm)
|
||||||
include_hifi_library_headers(fbx)
|
include_hifi_library_headers(model-serializers)
|
||||||
include_hifi_library_headers(gpu)
|
include_hifi_library_headers(gpu)
|
||||||
include_hifi_library_headers(image)
|
include_hifi_library_headers(image)
|
||||||
include_hifi_library_headers(ktx)
|
include_hifi_library_headers(ktx)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
set(TARGET_NAME graphics-scripting)
|
set(TARGET_NAME graphics-scripting)
|
||||||
setup_hifi_library()
|
setup_hifi_library()
|
||||||
link_hifi_libraries(shared networking graphics fbx image material-networking model-networking script-engine)
|
link_hifi_libraries(shared networking graphics model-serializers image material-networking model-networking script-engine)
|
||||||
include_hifi_library_headers(gpu)
|
include_hifi_library_headers(gpu)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
set(TARGET_NAME model-networking)
|
set(TARGET_NAME model-networking)
|
||||||
setup_hifi_library()
|
setup_hifi_library()
|
||||||
link_hifi_libraries(shared shaders networking graphics fbx procedural model-baker)
|
link_hifi_libraries(shared shaders networking graphics model-serializers procedural model-baker)
|
||||||
include_hifi_library_headers(hfm)
|
include_hifi_library_headers(hfm)
|
||||||
include_hifi_library_headers(task)
|
include_hifi_library_headers(task)
|
||||||
include_hifi_library_headers(gpu)
|
include_hifi_library_headers(gpu)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
set(TARGET_NAME fbx)
|
set(TARGET_NAME model-serializers)
|
||||||
setup_hifi_library()
|
setup_hifi_library()
|
||||||
|
|
||||||
link_hifi_libraries(shared graphics networking image hfm)
|
link_hifi_libraries(shared graphics networking image hfm)
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// FBX.h
|
// FBX.h
|
||||||
// libraries/fbx/src
|
// libraries/model-serializers/src
|
||||||
//
|
//
|
||||||
// Created by Ryan Huffman on 9/5/17.
|
// Created by Ryan Huffman on 9/5/17.
|
||||||
// Copyright 2017 High Fidelity, Inc.
|
// Copyright 2017 High Fidelity, Inc.
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// FBXSerializer.cpp
|
// FBXSerializer.cpp
|
||||||
// libraries/fbx/src
|
// libraries/model-serializers/src
|
||||||
//
|
//
|
||||||
// Created by Andrzej Kapolka on 9/18/13.
|
// Created by Andrzej Kapolka on 9/18/13.
|
||||||
// Copyright 2013 High Fidelity, Inc.
|
// Copyright 2013 High Fidelity, Inc.
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// FBXSerializer.h
|
// FBXSerializer.h
|
||||||
// libraries/fbx/src
|
// libraries/model-serializers/src
|
||||||
//
|
//
|
||||||
// Created by Andrzej Kapolka on 9/18/13.
|
// Created by Andrzej Kapolka on 9/18/13.
|
||||||
// Copyright 2013 High Fidelity, Inc.
|
// Copyright 2013 High Fidelity, Inc.
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// FBXSerializer_Material.cpp
|
// FBXSerializer_Material.cpp
|
||||||
// interface/src/fbx
|
// libraries/model-serializers/src
|
||||||
//
|
//
|
||||||
// Created by Sam Gateau on 8/27/2015.
|
// Created by Sam Gateau on 8/27/2015.
|
||||||
// Copyright 2015 High Fidelity, Inc.
|
// Copyright 2015 High Fidelity, Inc.
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// FBXSerializer_Mesh.cpp
|
// FBXSerializer_Mesh.cpp
|
||||||
// interface/src/fbx
|
// libraries/model-serializers/src
|
||||||
//
|
//
|
||||||
// Created by Sam Gateau on 8/27/2015.
|
// Created by Sam Gateau on 8/27/2015.
|
||||||
// Copyright 2015 High Fidelity, Inc.
|
// Copyright 2015 High Fidelity, Inc.
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// FBXSerializer_Node.cpp
|
// FBXSerializer_Node.cpp
|
||||||
// interface/src/fbx
|
// libraries/model-serializers/src
|
||||||
//
|
//
|
||||||
// Created by Sam Gateau on 8/27/2015.
|
// Created by Sam Gateau on 8/27/2015.
|
||||||
// Copyright 2015 High Fidelity, Inc.
|
// Copyright 2015 High Fidelity, Inc.
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// FBXToJSON.cpp
|
// FBXToJSON.cpp
|
||||||
// libraries/fbx/src
|
// libraries/model-serializers/src
|
||||||
//
|
//
|
||||||
// Created by Simon Walton on 5/4/2018.
|
// Created by Simon Walton on 5/4/2018.
|
||||||
// Copyright 2018 High Fidelity, Inc.
|
// Copyright 2018 High Fidelity, Inc.
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// FBXToJSON.h
|
// FBXToJSON.h
|
||||||
// libraries/fbx/src
|
// libraries/model-serializers/src
|
||||||
//
|
//
|
||||||
// Created by Simon Walton on 5/4/2018.
|
// Created by Simon Walton on 5/4/2018.
|
||||||
// Copyright 2018 High Fidelity, Inc.
|
// Copyright 2018 High Fidelity, Inc.
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// FBXWriter.cpp
|
// FBXWriter.cpp
|
||||||
// libraries/fbx/src
|
// libraries/model-serializers/src
|
||||||
//
|
//
|
||||||
// Created by Ryan Huffman on 9/5/17.
|
// Created by Ryan Huffman on 9/5/17.
|
||||||
// Copyright 2017 High Fidelity, Inc.
|
// Copyright 2017 High Fidelity, Inc.
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// FBXWriter.h
|
// FBXWriter.h
|
||||||
// libraries/fbx/src
|
// libraries/model-serializers/src
|
||||||
//
|
//
|
||||||
// Created by Ryan Huffman on 9/5/17.
|
// Created by Ryan Huffman on 9/5/17.
|
||||||
// Copyright 2017 High Fidelity, Inc.
|
// Copyright 2017 High Fidelity, Inc.
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// GLTFSerializer.cpp
|
// GLTFSerializer.cpp
|
||||||
// libraries/fbx/src
|
// libraries/model-serializers/src
|
||||||
//
|
//
|
||||||
// Created by Luis Cuenca on 8/30/17.
|
// Created by Luis Cuenca on 8/30/17.
|
||||||
// Copyright 2017 High Fidelity, Inc.
|
// Copyright 2017 High Fidelity, Inc.
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// GLTFSerializer.h
|
// GLTFSerializer.h
|
||||||
// libraries/fbx/src
|
// libraries/model-serializers/src
|
||||||
//
|
//
|
||||||
// Created by Luis Cuenca on 8/30/17.
|
// Created by Luis Cuenca on 8/30/17.
|
||||||
// Copyright 2017 High Fidelity, Inc.
|
// Copyright 2017 High Fidelity, Inc.
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// OBJSerializer.cpp
|
// OBJSerializer.cpp
|
||||||
// libraries/fbx/src/
|
// libraries/model-serializers/src
|
||||||
//
|
//
|
||||||
// Created by Seth Alves on 3/7/15.
|
// Created by Seth Alves on 3/7/15.
|
||||||
// Copyright 2013 High Fidelity, Inc.
|
// Copyright 2013 High Fidelity, Inc.
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// OBJSerializer.h
|
// OBJSerializer.h
|
||||||
// libraries/fbx/src/
|
// libraries/model-serializers/src
|
||||||
//
|
//
|
||||||
// Created by Seth Alves on 3/6/15.
|
// Created by Seth Alves on 3/6/15.
|
||||||
// Copyright 2015 High Fidelity, Inc.
|
// Copyright 2015 High Fidelity, Inc.
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// OBJWriter.cpp
|
// OBJWriter.cpp
|
||||||
// libraries/fbx/src/
|
// libraries/model-serializers/src
|
||||||
//
|
//
|
||||||
// Created by Seth Alves on 2017-1-27.
|
// Created by Seth Alves on 2017-1-27.
|
||||||
// Copyright 2017 High Fidelity, Inc.
|
// Copyright 2017 High Fidelity, Inc.
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// OBJWriter.h
|
// OBJWriter.h
|
||||||
// libraries/fbx/src/
|
// libraries/model-serializers/src
|
||||||
//
|
//
|
||||||
// Created by Seth Alves on 2017-1-27.
|
// Created by Seth Alves on 2017-1-27.
|
||||||
// Copyright 2017 High Fidelity, Inc.
|
// Copyright 2017 High Fidelity, Inc.
|
|
@ -12,7 +12,7 @@ include_hifi_library_headers(image)
|
||||||
include_hifi_library_headers(ktx)
|
include_hifi_library_headers(ktx)
|
||||||
include_hifi_library_headers(gpu)
|
include_hifi_library_headers(gpu)
|
||||||
include_hifi_library_headers(hfm)
|
include_hifi_library_headers(hfm)
|
||||||
include_hifi_library_headers(fbx)
|
include_hifi_library_headers(model-serializers)
|
||||||
include_hifi_library_headers(graphics)
|
include_hifi_library_headers(graphics)
|
||||||
|
|
||||||
target_bullet()
|
target_bullet()
|
||||||
|
|
|
@ -3,7 +3,7 @@ set(TARGET_NAME render-utils)
|
||||||
# pull in the resources.qrc file
|
# pull in the resources.qrc file
|
||||||
qt5_add_resources(QT_RESOURCES_FILE "${CMAKE_CURRENT_SOURCE_DIR}/res/fonts/fonts.qrc")
|
qt5_add_resources(QT_RESOURCES_FILE "${CMAKE_CURRENT_SOURCE_DIR}/res/fonts/fonts.qrc")
|
||||||
setup_hifi_library(Gui Network Qml Quick Script)
|
setup_hifi_library(Gui Network Qml Quick Script)
|
||||||
link_hifi_libraries(shared task ktx gpu shaders graphics graphics-scripting material-networking model-networking render animation fbx image procedural)
|
link_hifi_libraries(shared task ktx gpu shaders graphics graphics-scripting material-networking model-networking render animation model-serializers image procedural)
|
||||||
include_hifi_library_headers(audio)
|
include_hifi_library_headers(audio)
|
||||||
include_hifi_library_headers(networking)
|
include_hifi_library_headers(networking)
|
||||||
include_hifi_library_headers(octree)
|
include_hifi_library_headers(octree)
|
||||||
|
|
|
@ -7,7 +7,7 @@ if (NOT ANDROID)
|
||||||
target_quazip()
|
target_quazip()
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
link_hifi_libraries(shared networking shaders material-networking model-networking recording avatars fbx entities controllers animation audio midi)
|
link_hifi_libraries(shared networking shaders material-networking model-networking recording avatars model-serializers entities controllers animation audio midi)
|
||||||
include_hifi_library_headers(gl)
|
include_hifi_library_headers(gl)
|
||||||
include_hifi_library_headers(hfm)
|
include_hifi_library_headers(hfm)
|
||||||
include_hifi_library_headers(gpu)
|
include_hifi_library_headers(gpu)
|
||||||
|
|
|
@ -12,7 +12,7 @@ if ((WIN32 OR UNIX AND NOT APPLE) AND NOT USE_GLES)
|
||||||
setup_hifi_plugin(Gui Qml Multimedia)
|
setup_hifi_plugin(Gui Qml Multimedia)
|
||||||
link_hifi_libraries(shared task gl qml networking controllers ui
|
link_hifi_libraries(shared task gl qml networking controllers ui
|
||||||
plugins display-plugins ui-plugins input-plugins script-engine
|
plugins display-plugins ui-plugins input-plugins script-engine
|
||||||
audio-client render-utils graphics shaders gpu render material-networking model-networking model-baker hfm fbx ktx image procedural ${PLATFORM_GL_BACKEND})
|
audio-client render-utils graphics shaders gpu render material-networking model-networking model-baker hfm model-serializers ktx image procedural ${PLATFORM_GL_BACKEND})
|
||||||
include_hifi_library_headers(octree)
|
include_hifi_library_headers(octree)
|
||||||
|
|
||||||
target_openvr()
|
target_openvr()
|
||||||
|
|
|
@ -563,7 +563,7 @@
|
||||||
|
|
||||||
// Tablet targets.
|
// Tablet targets.
|
||||||
isGoto = false,
|
isGoto = false,
|
||||||
TABLET_ADDRESS_DIALOG = "hifi/tablet/TabletAddressDialog.qml",
|
TABLET_EXPLORE_APP_UI = Script.resolvePath("../communityScripts/explore/explore.html"),
|
||||||
|
|
||||||
// Trigger values.
|
// Trigger values.
|
||||||
leftTriggerOn = 0,
|
leftTriggerOn = 0,
|
||||||
|
@ -907,7 +907,7 @@
|
||||||
var miniTabletProperties;
|
var miniTabletProperties;
|
||||||
|
|
||||||
if (isGoto) {
|
if (isGoto) {
|
||||||
tablet.loadQMLSource(TABLET_ADDRESS_DIALOG);
|
tablet.gotoWebScreen(TABLET_EXPLORE_APP_UI);
|
||||||
} else {
|
} else {
|
||||||
tablet.gotoHomeScreen();
|
tablet.gotoHomeScreen();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
set(TARGET_NAME packaged-server-console)
|
set(TARGET_NAME packaged-server-console)
|
||||||
|
|
||||||
|
if (CLIENT_ONLY AND APPLE)
|
||||||
|
# Don't include Console.app in client-only OSX DMGs.
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
if (PRODUCTION_BUILD)
|
if (PRODUCTION_BUILD)
|
||||||
set(PRODUCTION_OPTION "--production")
|
set(PRODUCTION_OPTION "--production")
|
||||||
endif()
|
endif()
|
||||||
|
@ -24,8 +29,12 @@ set_target_properties(${TARGET_NAME}-npm-install PROPERTIES FOLDER "hidden/Serve
|
||||||
|
|
||||||
# add a dependency from the package target to the server components
|
# add a dependency from the package target to the server components
|
||||||
if (BUILD_CLIENT)
|
if (BUILD_CLIENT)
|
||||||
|
if (APPLE)
|
||||||
|
add_dependencies(${TARGET_NAME} Vircadia)
|
||||||
|
else()
|
||||||
add_dependencies(${TARGET_NAME} interface)
|
add_dependencies(${TARGET_NAME} interface)
|
||||||
endif()
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
if (BUILD_SERVER)
|
if (BUILD_SERVER)
|
||||||
add_dependencies(${TARGET_NAME} assignment-client domain-server)
|
add_dependencies(${TARGET_NAME} assignment-client domain-server)
|
||||||
|
|
|
@ -21,21 +21,28 @@ endfunction()
|
||||||
if (BUILD_TOOLS)
|
if (BUILD_TOOLS)
|
||||||
set(ALL_TOOLS
|
set(ALL_TOOLS
|
||||||
udt-test
|
udt-test
|
||||||
vhacd-util
|
|
||||||
gpu-frame-player
|
gpu-frame-player
|
||||||
ice-client
|
ice-client
|
||||||
ktx-tool
|
ktx-tool
|
||||||
ac-client
|
ac-client
|
||||||
skeleton-dump
|
skeleton-dump
|
||||||
atp-client
|
atp-client
|
||||||
oven
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Don't include oven or vhacd-til in OSX client-only DMGs.
|
||||||
|
if (NOT CLIENT_ONLY OR NOT APPLE)
|
||||||
|
list(APPEND ALL_TOOLS oven)
|
||||||
|
list(APPEND ALL_TOOLS vhacd-util)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Allow different tools for stable builds
|
# Allow different tools for stable builds
|
||||||
if (STABLE_BUILD)
|
if (STABLE_BUILD)
|
||||||
else()
|
else()
|
||||||
|
# Don't include nitpick in OSX client-only DMGs.
|
||||||
|
if (NOT APPLE OR NOT CLIENT_ONLY)
|
||||||
list(APPEND ALL_TOOLS nitpick)
|
list(APPEND ALL_TOOLS nitpick)
|
||||||
endif()
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
foreach(TOOL ${ALL_TOOLS})
|
foreach(TOOL ${ALL_TOOLS})
|
||||||
check_test(${TOOL})
|
check_test(${TOOL})
|
||||||
|
|
|
@ -44,7 +44,7 @@ exports.handlers = {
|
||||||
'../../libraries/controllers/src/controllers/impl/',
|
'../../libraries/controllers/src/controllers/impl/',
|
||||||
'../../libraries/display-plugins/src/display-plugins/',
|
'../../libraries/display-plugins/src/display-plugins/',
|
||||||
'../../libraries/entities/src',
|
'../../libraries/entities/src',
|
||||||
'../../libraries/fbx/src',
|
'../../libraries/model-serializers/src',
|
||||||
'../../libraries/graphics/src/graphics/',
|
'../../libraries/graphics/src/graphics/',
|
||||||
'../../libraries/graphics-scripting/src/graphics-scripting/',
|
'../../libraries/graphics-scripting/src/graphics-scripting/',
|
||||||
'../../libraries/image/src/image',
|
'../../libraries/image/src/image',
|
||||||
|
|
BIN
tools/nitpick/icon/nitpick-beta.icns
Normal file
BIN
tools/nitpick/icon/nitpick-beta.icns
Normal file
Binary file not shown.
BIN
tools/nitpick/icon/nitpick-beta.ico
Normal file
BIN
tools/nitpick/icon/nitpick-beta.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 28 KiB |
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 37 KiB |
|
@ -2,7 +2,7 @@ set(TARGET_NAME oven)
|
||||||
|
|
||||||
setup_hifi_project(Widgets Gui Concurrent)
|
setup_hifi_project(Widgets Gui Concurrent)
|
||||||
|
|
||||||
link_hifi_libraries(shared shaders image gpu ktx fbx hfm baking graphics networking procedural material-networking model-baker task)
|
link_hifi_libraries(shared shaders image gpu ktx model-serializers hfm baking graphics networking procedural material-networking model-baker task)
|
||||||
|
|
||||||
setup_memory_debugger()
|
setup_memory_debugger()
|
||||||
setup_thread_debugger()
|
setup_thread_debugger()
|
||||||
|
|
|
@ -2,6 +2,6 @@ set(TARGET_NAME skeleton-dump)
|
||||||
setup_hifi_project(Core)
|
setup_hifi_project(Core)
|
||||||
setup_memory_debugger()
|
setup_memory_debugger()
|
||||||
setup_thread_debugger()
|
setup_thread_debugger()
|
||||||
link_hifi_libraries(shared fbx hfm graphics gpu gl animation)
|
link_hifi_libraries(shared model-serializers hfm graphics gpu gl animation)
|
||||||
|
|
||||||
include_hifi_library_headers(image)
|
include_hifi_library_headers(image)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
set(TARGET_NAME vhacd-util)
|
set(TARGET_NAME vhacd-util)
|
||||||
setup_hifi_project(Core)
|
setup_hifi_project(Core)
|
||||||
link_hifi_libraries(shared fbx hfm graphics gpu gl)
|
link_hifi_libraries(shared model-serializers hfm graphics gpu gl)
|
||||||
|
|
||||||
include_hifi_library_headers(image)
|
include_hifi_library_headers(image)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue