10 Commits

Author SHA1 Message Date
fe12015d0d Remove stale changes. 2026-02-14 20:40:25 -05:00
9a87c1df10 Reapply "ToolBar buttons to add and remove objects. (#18)"
This reverts commit 0c16b7d879.
2026-02-14 17:31:17 -05:00
9397e3117b Fix linting CI. 2026-02-14 17:29:42 -05:00
a2f849ec72 Install NSIS for windows pt2. 2026-02-14 16:33:18 -05:00
67fcf4619b Update assimp to fix Mac CI.
Zlib no longer uses fdopen.
Zlib previously had redefined fdopen, causing conflicts in apple things.
Zlib has since updated to remove these defines, fixing the issue.
2026-02-14 16:33:10 -05:00
6d9689720d Remove deprecated GLSL. 2026-02-14 14:30:56 -05:00
4f76d37ea0 Install NSIS on windows. 2026-02-14 14:08:35 -05:00
0770b0ea65 Update clang-format action. 2026-02-14 13:54:30 -05:00
0c16b7d879 Revert "ToolBar buttons to add and remove objects. (#18)"
This reverts commit ed604eb655.
2026-02-14 13:41:18 -05:00
ed604eb655 ToolBar buttons to add and remove objects. (#18) 2025-04-12 16:53:40 +00:00
7 changed files with 44 additions and 15 deletions

View File

@@ -43,13 +43,16 @@ jobs:
with: with:
version: ${{ env.QT_VERSION }} version: ${{ env.QT_VERSION }}
# Windows - name: Install pkgconfiglite
- name: Chocolatey Action
if: matrix.os == 'windows-latest' if: matrix.os == 'windows-latest'
uses: crazy-max/ghaction-chocolatey@v2 uses: crazy-max/ghaction-chocolatey@v2
with: with:
args: install pkgconfiglite --checksum e87b5ea3c9142256af60f2d5b917aa63b571e6a0 --checksum-type sha1 args: install pkgconfiglite --checksum e87b5ea3c9142256af60f2d5b917aa63b571e6a0 --checksum-type sha1
- name: Install nsis
if: matrix.os == 'windows-latest'
uses: crazy-max/ghaction-chocolatey@v2
with:
args: install nsis
- name: Install Debian packaging dependencies - name: Install Debian packaging dependencies
if: matrix.os == 'ubuntu-latest' if: matrix.os == 'ubuntu-latest'
@@ -191,6 +194,11 @@ jobs:
uses: crazy-max/ghaction-chocolatey@v2 uses: crazy-max/ghaction-chocolatey@v2
with: with:
args: install pkgconfiglite --checksum e87b5ea3c9142256af60f2d5b917aa63b571e6a0 --checksum-type sha1 args: install pkgconfiglite --checksum e87b5ea3c9142256af60f2d5b917aa63b571e6a0 --checksum-type sha1
- name: Install nsis
if: matrix.os == 'windows-latest'
uses: crazy-max/ghaction-chocolatey@v2
with:
args: install nsis
- name: Configure Qtk Library - name: Configure Qtk Library
shell: bash shell: bash

View File

@@ -39,7 +39,7 @@ jobs:
# Check the entire repo for source files to tidy # Check the entire repo for source files to tidy
files-changed-only: false files-changed-only: false
# Ignore qtk build and external assimp directories # Ignore qtk build and external assimp directories
ignore: '.github|build|extern/assimp/assimp' ignore: '.github|build|extern'
# Point to compile_commands.json produced by build # Point to compile_commands.json produced by build
database: 'build' database: 'build'
# Use thread comments as feedback # Use thread comments as feedback
@@ -61,8 +61,12 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: clang-format Check - uses: cpp-linter/cpp-linter-action@v2
uses: jidicula/clang-format-action@v4.9.0
with: with:
clang-format-version: '18' version: '18'
check-path: ${{ matrix.path }} style: 'file'
tidy-checks: ''
files-changed-only: false
ignore: '.github|build|extern'
extensions: 'cpp,h'
files: ${{ matrix.path }}

View File

@@ -157,8 +157,15 @@ list(APPEND VAR_NAMES QT6_INSTALL_PLUGINS)
# Find Assimp. # Find Assimp.
if(QTK_SUBMODULES) if(QTK_SUBMODULES)
# Required to statically link. if(APPLE)
add_compile_options(-fPIC) # Avoid zlib redefining fdopen, causing build failures in apple clang.
# https://github.com/assimp/assimp/issues/6118
add_compile_definitions(-Dfdopen=fdopen)
endif()
if(NOT WIN32)
# Required to statically link.
add_compile_options(-fPIC)
endif()
set(BUILD_SHARED_LIBS OFF CACHE STRING "Build static assimp libs" FORCE) set(BUILD_SHARED_LIBS OFF CACHE STRING "Build static assimp libs" FORCE)
set(ASSIMP_BUILD_ZLIB ON CACHE STRING "Build Zlib with assimp." FORCE) set(ASSIMP_BUILD_ZLIB ON CACHE STRING "Build Zlib with assimp." FORCE)
set( set(
@@ -175,6 +182,14 @@ if(QTK_SUBMODULES)
"${CMAKE_CURRENT_SOURCE_DIR}/extern/assimp/assimp/" "${CMAKE_CURRENT_SOURCE_DIR}/extern/assimp/assimp/"
EXCLUDE_FROM_ALL EXCLUDE_FROM_ALL
) )
install(
TARGETS assimp zlibstatic
EXPORT qtk_export
COMPONENT qtk
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
RUNTIME DESTINATION bin
)
else() else()
find_package(assimp REQUIRED) find_package(assimp REQUIRED)
endif() endif()

View File

@@ -90,7 +90,7 @@ The Ubuntu apt repositories contain all the packages we need to build all target
To build Qtk desktop application with the scene in the screenshots below run the following commands. To build Qtk desktop application with the scene in the screenshots below run the following commands.
```bash ```bash
sudo apt update && sudo apt install cmake build-essential git ccache libxkbcommon-dev libassimp-dev qt6-base-dev qt6-tools-dev sudo apt update && sudo apt install cmake build-essential git ccache libxkbcommon-dev libassimp-dev qt6-base-dev qt6-tools-dev zlib1g-dev
cmake -DQTK_GUI_SCENE=ON -B build cmake -DQTK_GUI_SCENE=ON -B build
cmake --build build cmake --build build
./build/bin/qtk_gui ./build/bin/qtk_gui

View File

@@ -152,7 +152,8 @@ class MainWindow : public QMainWindow
{ {
const QUrl file = QFileDialog::getOpenFileName( const QUrl file = QFileDialog::getOpenFileName(
this, tr("Load Model"), QDir::homePath(), tr("Object Files (*.obj)")); this, tr("Load Model"), QDir::homePath(), tr("Object Files (*.obj)"));
getQtkWidget()->getScene()->loadModel(file.fileName(), file.toString()); getQtkWidget()->getScene()->loadModel(file.fileName().replace(".obj", ""),
file.toString());
} }
/** /**

View File

@@ -109,11 +109,12 @@ void main()
#version 330 #version 330
uniform samplerCube uTexture; uniform samplerCube uTexture;
varying vec3 vTexCoord; in vec3 vTexCoord;
out vec4 FragColor;
void main() void main()
{ {
gl_FragColor = texture(uTexture, vTexCoord); FragColor = texture(uTexture, vTexCoord);
} }
)" )"