Skip to content

Implement wavelength-dependent refraction (spectral eta) dielectric materials, and conductor brdf #393

Implement wavelength-dependent refraction (spectral eta) dielectric materials, and conductor brdf

Implement wavelength-dependent refraction (spectral eta) dielectric materials, and conductor brdf #393

Workflow file for this run

name: Building
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
env:
BUILD_TYPE: Release # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
OptiX_INSTALL_DIR: ${{github.workspace}}/optix
jobs:
build:
# The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac.
# You can convert this to a matrix build if you need cross-platform coverage.
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
strategy:
fail-fast: false
matrix:
cuda: ["11.4.0", "12.1.0"]
cuda_arch: ["75"]
os: ["windows-2019"]
spectral: ["ON", "OFF"]
visual_studio: ["Visual Studio 16 2019"]
runs-on: ${{matrix.os}}
steps:
- name: Configure Pagefile
if: ${{matrix.os == 'windows-2019'}}
uses: al-cheb/configure-pagefile-action@v1.3
with:
minimum-size: 4GB
maximum-size: 64GB
- name: Set up pagefile
if: ${{matrix.os == 'windows-2019'}}
run: |
(Get-CimInstance Win32_PageFileUsage).AllocatedBaseSize
- name: Checkout Kiraray
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Download optix include
uses: actions/checkout@v4
with:
repository: cuteday/optix-headers
path: optix
- name: Install OpenGL
if: ${{matrix.os != 'windows-2019'}}
run: sudo apt-get install -y --no-install-recommends libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libxext-dev libxfixes-dev libgl1-mesa-dev
- name: Install cmake
uses: lukka/get-cmake@latest
with:
cmakeVersion: "~3.25.0"
- name: Install CUDA
uses: Jimver/cuda-toolkit@master
with:
# Cuda version
cuda: ${{matrix.cuda}}
# Only installs specified subpackages, must be in the form of a JSON array. For example, if you only want to install nvcc and visual studio integration: ["nvcc", "visual_studio_integration"] double quotes required! Note that if you want to use this on Linux, 'network' method MUST be used.
# sub-packages: '["nvcc", "visual_studio_integration", "cublas_dev", "curand_dev", "nvrtc_dev", "cudart"]'
# Installation method, can be either 'local' or 'network'. 'local' downloads the entire installer with all packages and runs that (you can still only install certain packages with sub-packages on Windows). 'network' downloads a smaller executable which only downloads necessary packages which you can define in subPackages
method: "local"
- name: Check CUDA compiler
run: nvcc -V
- name: Install Vulkan SDK
uses: humbletim/install-vulkan-sdk@v1.1.1
with:
version: latest
cache: true
- name: Configure CMake
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
env:
CUDA_ARCH: ${{matrix.cuda_arch}}
run: |
cmake -B ${{github.workspace}}/build -DCMAKE_CUDA_ARCHITECTURES=${{matrix.cuda_arch}}-virtual -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DOptiX_INSTALL_DIR=${{env.OptiX_INSTALL_DIR}} -DKRR_RENDER_SPECTRAL=${{matrix.spectral}}
- name: Build
run: |
cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --parallel 2