2012-04-04 07:30:07 +04:00
--
2022-01-15 22:59:06 +03:00
-- Copyright 2010-2022 Branimir Karadzic. All rights reserved.
-- License: https://github.com/bkaradzic/bgfx/blob/master/LICENSE
2012-04-04 07:30:07 +04:00
--
2020-09-05 21:24:50 +03:00
MODULE_DIR = path.getabsolute ( " ../ " )
2014-05-05 02:43:14 +04:00
newoption {
2015-03-22 03:42:46 +03:00
trigger = " with-amalgamated " ,
description = " Enable amalgamated build. " ,
2014-05-05 02:43:14 +04:00
}
2014-10-12 08:55:24 +04:00
newoption {
trigger = " with-sdl " ,
description = " Enable SDL entry. " ,
}
2015-03-25 08:19:21 +03:00
newoption {
trigger = " with-glfw " ,
description = " Enable GLFW entry. " ,
}
2019-03-05 13:21:19 +03:00
newoption {
trigger = " with-wayland " ,
description = " Use Wayland backend. " ,
}
2015-11-14 08:11:19 +03:00
newoption {
trigger = " with-profiler " ,
description = " Enable build with intrusive profiler. " ,
}
2014-10-20 08:29:27 +04:00
newoption {
2015-03-22 03:42:46 +03:00
trigger = " with-shared-lib " ,
description = " Enable building shared library. " ,
}
newoption {
trigger = " with-tools " ,
description = " Enable building tools. " ,
2014-10-20 08:29:27 +04:00
}
2017-06-26 08:54:17 +03:00
newoption {
trigger = " with-combined-examples " ,
description = " Enable building examples (combined as single executable). " ,
}
2016-09-10 18:23:02 +03:00
newoption {
trigger = " with-examples " ,
description = " Enable building examples. " ,
}
2020-05-09 20:24:23 +03:00
newoption {
trigger = " with-webgpu " ,
description = " Enable webgpu experimental renderer. " ,
}
2019-02-27 12:49:28 +03:00
newaction {
trigger = " idl " ,
description = " Generate bgfx interface source code " ,
2019-03-14 08:26:11 +03:00
execute = function ( )
local gen = require " bgfx-codegen "
local function generate ( tempfile , outputfile , indent )
local codes = gen.apply ( tempfile )
codes = gen.format ( codes , { indent = indent } )
gen.write ( codes , outputfile )
print ( " Generating: " .. outputfile )
end
generate ( " temp.bgfx.h " , " ../include/bgfx/c99/bgfx.h " , " " )
generate ( " temp.bgfx.idl.inl " , " ../src/bgfx.idl.inl " , " \t " )
2019-05-24 06:31:36 +03:00
generate ( " temp.defines.h " , " ../include/bgfx/defines.h " , " \t " )
2019-03-14 08:26:11 +03:00
2019-07-05 02:46:25 +03:00
do
2019-07-06 19:47:45 +03:00
local csgen = require " bindings-cs "
2019-07-05 02:46:25 +03:00
csgen.write ( csgen.gen ( ) , " ../bindings/cs/bgfx.cs " )
2020-02-05 22:28:05 +03:00
csgen.write ( csgen.gen_dllname ( ) , " ../bindings/cs/bgfx_dllname.cs " )
2020-03-12 07:51:55 +03:00
2019-10-09 17:23:17 +03:00
local dgen = require " bindings-d "
dgen.write ( dgen.gen_types ( ) , " ../bindings/d/types.d " )
dgen.write ( dgen.gen_funcs ( ) , " ../bindings/d/funcs.d " )
2020-10-19 16:54:18 +03:00
local csgen = require " bindings-bf "
csgen.write ( csgen.gen ( ) , " ../bindings/bf/bgfx.bf " )
2022-04-04 04:42:43 +03:00
local ziggen = require " bindings-zig "
ziggen.write ( ziggen.gen ( ) , " ../bindings/zig/bgfx.zig " )
2019-07-05 02:46:25 +03:00
end
2019-06-26 23:43:37 +03:00
os.exit ( )
end
}
2020-04-02 06:50:44 +03:00
newaction {
trigger = " version " ,
description = " Generate bgfx version.h " ,
execute = function ( )
local f = io.popen ( " git rev-list --count HEAD " )
local rev = string.match ( f : read ( " *a " ) , " .*%S " )
2022-04-01 06:21:32 +03:00
local codegen = require " codegen "
local idl = codegen.idl " bgfx.idl "
print ( " 1. " .. idl._version .. " . " .. rev )
2020-04-02 06:50:44 +03:00
f : close ( )
f = io.popen ( " git log --format=format:%H -1 " )
local sha1 = f : read ( " *a " )
f : close ( )
2020-09-05 21:24:50 +03:00
io.output ( path.join ( MODULE_DIR , " src/version.h " ) )
2020-04-02 06:50:44 +03:00
io.write ( " /* \n " )
2022-01-15 22:59:06 +03:00
io.write ( " * Copyright 2011-2022 Branimir Karadzic. All rights reserved. \n " )
io.write ( " * License: https://github.com/bkaradzic/bgfx/blob/master/LICENSE \n " )
2020-04-02 06:50:44 +03:00
io.write ( " */ \n " )
io.write ( " \n " )
io.write ( " /* \n " )
io.write ( " * \n " )
io.write ( " * AUTO GENERATED! DO NOT EDIT! \n " )
io.write ( " * \n " )
io.write ( " */ \n " )
io.write ( " \n " )
io.write ( " #define BGFX_REV_NUMBER " .. rev .. " \n " )
io.write ( " #define BGFX_REV_SHA1 \" " .. sha1 .. " \" \n " )
io.close ( )
os.exit ( )
end
}
2012-04-04 07:30:07 +04:00
solution " bgfx "
configurations {
" Debug " ,
" Release " ,
}
2020-07-12 06:40:33 +03:00
if _ACTION ~= nil and _ACTION : match " ^xcode " then
2015-01-14 21:50:45 +03:00
platforms {
2020-07-12 06:40:33 +03:00
" Native " , -- let xcode decide based on the target output
2015-03-22 03:42:46 +03:00
}
2015-01-14 21:50:45 +03:00
else
platforms {
" x32 " ,
" x64 " ,
-- "Xbox360",
" Native " , -- for targets where bitness is not specified
2015-03-22 03:42:46 +03:00
}
2015-01-14 21:50:45 +03:00
end
2012-04-04 07:30:07 +04:00
language " C++ "
2014-09-16 07:50:35 +04:00
startproject " example-00-helloworld "
2012-04-04 07:30:07 +04:00
2016-04-22 08:12:35 +03:00
BGFX_DIR = path.getabsolute ( " .. " )
BX_DIR = os.getenv ( " BX_DIR " )
2017-10-01 09:06:22 +03:00
BIMG_DIR = os.getenv ( " BIMG_DIR " )
2016-01-10 02:34:41 +03:00
2015-02-28 02:44:24 +03:00
local BGFX_BUILD_DIR = path.join ( BGFX_DIR , " .build " )
local BGFX_THIRD_PARTY_DIR = path.join ( BGFX_DIR , " 3rdparty " )
2016-01-10 02:34:41 +03:00
if not BX_DIR then
2016-01-10 07:30:15 +03:00
BX_DIR = path.getabsolute ( path.join ( BGFX_DIR , " ../bx " ) )
2016-01-10 02:34:41 +03:00
end
2012-09-17 04:36:08 +04:00
2017-10-01 09:06:22 +03:00
if not BIMG_DIR then
BIMG_DIR = path.getabsolute ( path.join ( BGFX_DIR , " ../bimg " ) )
end
if not os.isdir ( BX_DIR ) or not os.isdir ( BIMG_DIR ) then
if not os.isdir ( BX_DIR ) then
2020-05-09 20:24:23 +03:00
print ( " bx not found at \" " .. BX_DIR .. " \" . git clone https://github.com/bkaradzic/bx? " )
2017-10-01 09:06:22 +03:00
end
if not os.isdir ( BIMG_DIR ) then
2020-05-09 20:24:23 +03:00
print ( " bimg not found at \" " .. BIMG_DIR .. " \" . git clone https://github.com/bkaradzic/bimg? " )
2017-10-01 09:06:22 +03:00
end
2015-12-11 09:58:31 +03:00
print ( " For more info see: https://bkaradzic.github.io/bgfx/build.html " )
os.exit ( )
end
2020-05-09 20:24:23 +03:00
if _OPTIONS [ " with-webgpu " ] then
DAWN_DIR = os.getenv ( " DAWN_DIR " )
if not DAWN_DIR then
DAWN_DIR = path.getabsolute ( path.join ( BGFX_DIR , " ../dawn " ) )
end
2021-01-20 02:18:30 +03:00
if not os.isdir ( DAWN_DIR ) and " wasm* " ~= _OPTIONS [ " gcc " ] then
2020-05-09 20:24:23 +03:00
print ( " Dawn not found at \" " .. DAWN_DIR .. " \" . git clone https://dawn.googlesource.com/dawn? " )
print ( " For more info see: https://bkaradzic.github.io/bgfx/build.html " )
os.exit ( )
end
2020-05-08 18:53:53 +03:00
_OPTIONS [ " with-windows " ] = " 10.0 "
end
2015-02-28 02:44:24 +03:00
dofile ( path.join ( BX_DIR , " scripts/toolchain.lua " ) )
2014-11-16 04:00:51 +03:00
if not toolchain ( BGFX_BUILD_DIR , BGFX_THIRD_PARTY_DIR ) then
return -- no action specified
end
2012-04-04 07:30:07 +04:00
2012-06-02 08:56:20 +04:00
function copyLib ( )
end
2019-03-05 13:21:19 +03:00
if _OPTIONS [ " with-wayland " ] then
2019-03-09 12:53:14 +03:00
defines { " WL_EGL_PLATFORM=1 " }
2019-03-05 13:21:19 +03:00
end
2014-10-14 19:52:58 +04:00
if _OPTIONS [ " with-sdl " ] then
if os.is ( " windows " ) then
if not os.getenv ( " SDL2_DIR " ) then
Fix various typos (#2719)
Found via `codespell -q 3 -S ./3rdparty,*.ttf -L attribut,ba,clude,conly,indext,inout,lod,nclude,retur,utput`
2022-02-05 22:34:15 +03:00
print ( " Set SDL2_DIR environment variable. " )
2014-10-14 19:52:58 +04:00
end
end
end
2015-11-14 08:11:19 +03:00
if _OPTIONS [ " with-profiler " ] then
defines {
" ENTRY_CONFIG_PROFILER=1 " ,
2017-10-07 06:10:05 +03:00
" BGFX_CONFIG_PROFILER=1 " ,
2015-11-14 08:11:19 +03:00
}
end
2017-06-25 04:23:43 +03:00
function exampleProjectDefaults ( )
2013-01-27 04:30:02 +04:00
2015-05-24 20:16:18 +03:00
debugdir ( path.join ( BGFX_DIR , " examples/runtime " ) )
2013-01-27 04:30:02 +04:00
includedirs {
2017-04-04 08:42:27 +03:00
path.join ( BIMG_DIR , " include " ) ,
2015-02-28 02:44:24 +03:00
path.join ( BGFX_DIR , " include " ) ,
path.join ( BGFX_DIR , " 3rdparty " ) ,
path.join ( BGFX_DIR , " examples/common " ) ,
2013-01-27 04:30:02 +04:00
}
2017-03-13 04:25:23 +03:00
flags {
" FatalWarnings " ,
}
2013-01-27 04:30:02 +04:00
links {
2017-06-27 07:04:16 +03:00
" example-glue " ,
2019-08-15 07:19:03 +03:00
" example-common " ,
2013-01-27 04:30:02 +04:00
" bgfx " ,
2017-04-04 08:42:27 +03:00
" bimg_decode " ,
" bimg " ,
2013-01-27 04:30:02 +04:00
}
2021-10-26 04:59:32 +03:00
using_bx ( )
2020-05-09 20:24:23 +03:00
if _OPTIONS [ " with-webgpu " ] then
2020-05-08 18:53:53 +03:00
usesWebGPU ( )
end
2014-10-12 08:55:24 +04:00
if _OPTIONS [ " with-sdl " ] then
defines { " ENTRY_CONFIG_USE_SDL=1 " }
links { " SDL2 " }
2014-10-12 20:58:06 +04:00
2019-03-05 13:21:19 +03:00
configuration { " linux or freebsd " }
if _OPTIONS [ " with-wayland " ] then
links {
" wayland-egl " ,
}
end
2021-01-01 05:17:39 +03:00
configuration { " osx* " }
2016-01-24 08:07:44 +03:00
libdirs { " $(SDL2_DIR)/lib " }
2014-10-12 20:58:06 +04:00
configuration { }
2014-10-12 08:55:24 +04:00
end
2015-03-25 08:19:21 +03:00
if _OPTIONS [ " with-glfw " ] then
defines { " ENTRY_CONFIG_USE_GLFW=1 " }
2019-05-26 05:21:58 +03:00
links { " glfw3 " }
2015-03-25 08:19:21 +03:00
2015-04-10 17:46:49 +03:00
configuration { " linux or freebsd " }
2019-03-05 13:21:19 +03:00
if _OPTIONS [ " with-wayland " ] then
links {
" wayland-egl " ,
}
else
links {
" Xrandr " ,
" Xinerama " ,
" Xi " ,
" Xxf86vm " ,
" Xcursor " ,
}
end
2015-03-25 09:21:32 +03:00
2021-01-01 05:17:39 +03:00
configuration { " osx* " }
2015-03-25 08:19:21 +03:00
linkoptions {
" -framework CoreVideo " ,
}
configuration { }
end
2016-02-26 07:29:09 +03:00
configuration { " vs* " , " x32 or x64 " }
2013-10-12 07:38:47 +04:00
linkoptions {
" /ignore:4199 " , -- LNK4199: /DELAYLOAD:*.dll ignored; no imports found from *.dll
}
2013-10-11 09:57:42 +04:00
links { -- this is needed only for testing with GLES2/3 on Windows with VS2008
" DelayImp " ,
}
2016-02-26 07:29:09 +03:00
configuration { " vs201* " , " x32 or x64 " }
2013-10-11 09:57:42 +04:00
linkoptions { -- this is needed only for testing with GLES2/3 on Windows with VS201x
" /DELAYLOAD: \" libEGL.dll \" " ,
" /DELAYLOAD: \" libGLESv2.dll \" " ,
}
2015-01-06 07:59:58 +03:00
configuration { " mingw* " }
targetextension " .exe "
2016-02-26 07:29:09 +03:00
links {
" gdi32 " ,
" psapi " ,
}
2015-01-06 07:59:58 +03:00
2016-02-26 07:29:09 +03:00
configuration { " vs20* " , " x32 or x64 " }
2014-10-16 10:21:46 +04:00
links {
" gdi32 " ,
" psapi " ,
}
2016-02-26 07:29:09 +03:00
configuration { " durango " }
links {
" d3d11_x " ,
2016-03-09 03:39:59 +03:00
" d3d12_x " ,
2016-02-26 07:29:09 +03:00
" combase " ,
" kernelx " ,
}
2017-12-15 07:40:30 +03:00
configuration { " winstore* " }
2014-11-10 02:24:22 +03:00
removelinks {
" DelayImp " ,
" gdi32 " ,
" psapi "
}
2014-11-14 16:23:07 +03:00
links {
" d3d11 " ,
2017-12-14 10:40:39 +03:00
" d3d12 " ,
2014-11-14 16:23:07 +03:00
" dxgi "
}
2014-11-10 02:24:22 +03:00
linkoptions {
" /ignore:4264 " -- LNK4264: archiving object file compiled with /ZW into a static library; note that when authoring Windows Runtime types it is not recommended to link with a static library that contains Windows Runtime metadata
}
2015-05-24 20:16:18 +03:00
-- WinRT targets need their own output directories or build files stomp over each other
2017-12-15 07:40:30 +03:00
configuration { " x32 " , " winstore* " }
2015-05-24 20:16:18 +03:00
targetdir ( path.join ( BGFX_BUILD_DIR , " win32_ " .. _ACTION , " bin " , _name ) )
objdir ( path.join ( BGFX_BUILD_DIR , " win32_ " .. _ACTION , " obj " , _name ) )
2017-12-15 07:40:30 +03:00
configuration { " x64 " , " winstore* " }
2015-05-24 20:16:18 +03:00
targetdir ( path.join ( BGFX_BUILD_DIR , " win64_ " .. _ACTION , " bin " , _name ) )
objdir ( path.join ( BGFX_BUILD_DIR , " win64_ " .. _ACTION , " obj " , _name ) )
2017-12-15 07:40:30 +03:00
configuration { " ARM " , " winstore* " }
2015-02-28 02:44:24 +03:00
targetdir ( path.join ( BGFX_BUILD_DIR , " arm_ " .. _ACTION , " bin " , _name ) )
objdir ( path.join ( BGFX_BUILD_DIR , " arm_ " .. _ACTION , " obj " , _name ) )
2014-11-10 02:24:22 +03:00
2014-10-18 10:17:29 +04:00
configuration { " mingw-clang " }
kind " ConsoleApp "
2013-04-17 10:12:03 +04:00
configuration { " android* " }
2013-12-03 07:46:25 +04:00
kind " ConsoleApp "
2013-04-17 10:12:03 +04:00
targetextension " .so "
2013-12-03 07:46:25 +04:00
linkoptions {
" -shared " ,
}
2013-04-17 10:12:03 +04:00
links {
" EGL " ,
" GLESv2 " ,
}
2020-05-17 05:45:55 +03:00
configuration { " wasm* " }
2014-03-16 23:38:43 +04:00
kind " ConsoleApp "
2020-01-19 01:41:20 +03:00
linkoptions {
2020-05-17 05:45:55 +03:00
" -s TOTAL_MEMORY=32MB " ,
2020-06-18 20:32:10 +03:00
" -s ALLOW_MEMORY_GROWTH=1 " ,
" --preload-file ../../../examples/runtime@/ "
2020-01-19 01:41:20 +03:00
}
removeflags {
" OptimizeSpeed " ,
}
flags {
" Optimize "
}
2014-03-16 23:38:43 +04:00
2020-03-12 07:51:55 +03:00
configuration { " linux-* or freebsd " }
2013-01-27 04:30:02 +04:00
links {
2013-04-30 06:35:33 +04:00
" X11 " ,
2013-01-27 04:30:02 +04:00
" GL " ,
" pthread " ,
}
2014-08-25 04:41:41 +04:00
configuration { " rpi " }
links {
" X11 " ,
2017-10-20 07:57:24 +03:00
" brcmGLESv2 " ,
" brcmEGL " ,
2014-08-25 04:41:41 +04:00
" bcm_host " ,
2014-08-25 07:39:35 +04:00
" vcos " ,
" vchiq_arm " ,
2014-08-25 04:41:41 +04:00
" pthread " ,
}
2021-01-01 05:17:39 +03:00
configuration { " osx* " }
2015-10-07 01:27:54 +03:00
linkoptions {
" -framework Cocoa " ,
2021-12-20 10:11:33 +03:00
" -framework IOKit " ,
2015-10-07 01:27:54 +03:00
" -framework OpenGL " ,
2021-12-20 10:11:33 +03:00
" -framework QuartzCore " ,
2015-12-24 01:26:20 +03:00
" -weak_framework Metal " ,
2013-01-27 04:30:02 +04:00
}
2013-04-13 12:47:30 +04:00
2015-10-12 23:32:39 +03:00
configuration { " ios* or tvos* " }
2013-07-22 01:44:53 +04:00
kind " ConsoleApp "
2013-07-13 09:27:46 +04:00
linkoptions {
" -framework CoreFoundation " ,
" -framework Foundation " ,
2021-12-20 10:11:33 +03:00
" -framework IOKit " ,
2013-07-13 09:27:46 +04:00
" -framework OpenGLES " ,
2013-07-22 01:44:53 +04:00
" -framework QuartzCore " ,
2021-12-20 10:11:33 +03:00
" -framework UIKit " ,
2015-12-24 01:26:20 +03:00
" -weak_framework Metal " ,
2013-07-13 09:27:46 +04:00
}
2019-05-13 19:09:59 +03:00
configuration { " xcode* " , " ios " }
2015-01-14 21:50:45 +03:00
kind " WindowedApp "
files {
2015-02-28 02:44:24 +03:00
path.join ( BGFX_DIR , " examples/runtime/iOS-Info.plist " ) ,
2015-01-14 21:50:45 +03:00
}
2019-05-13 19:09:59 +03:00
configuration { " xcode* " , " tvos " }
2015-10-12 23:32:39 +03:00
kind " WindowedApp "
files {
path.join ( BGFX_DIR , " examples/runtime/tvOS-Info.plist " ) ,
}
2013-04-21 10:13:44 +04:00
configuration { }
strip ( )
2013-01-27 04:30:02 +04:00
end
2017-06-25 04:56:45 +03:00
function exampleProject ( _combined , ... )
2017-06-25 04:23:43 +03:00
2017-06-25 04:56:45 +03:00
if _combined then
2017-06-25 04:23:43 +03:00
project ( " examples " )
uuid ( os.uuid ( " examples " ) )
kind " WindowedApp "
for _ , name in ipairs ( { ... } ) do
files {
path.join ( BGFX_DIR , " examples " , name , " **.c " ) ,
path.join ( BGFX_DIR , " examples " , name , " **.cpp " ) ,
path.join ( BGFX_DIR , " examples " , name , " **.h " ) ,
}
removefiles {
path.join ( BGFX_DIR , " examples " , name , " **.bin.h " ) ,
}
end
2017-06-26 07:44:04 +03:00
files {
path.join ( BGFX_DIR , " examples/25-c99/helloworld.c " ) , -- hack for _main_
}
2017-06-25 04:23:43 +03:00
exampleProjectDefaults ( )
else
for _ , name in ipairs ( { ... } ) do
project ( " example- " .. name )
uuid ( os.uuid ( " example- " .. name ) )
kind " WindowedApp "
files {
path.join ( BGFX_DIR , " examples " , name , " **.c " ) ,
path.join ( BGFX_DIR , " examples " , name , " **.cpp " ) ,
path.join ( BGFX_DIR , " examples " , name , " **.h " ) ,
}
removefiles {
path.join ( BGFX_DIR , " examples " , name , " **.bin.h " ) ,
}
2017-06-26 07:44:04 +03:00
defines {
" ENTRY_CONFIG_IMPLEMENT_MAIN=1 " ,
}
2017-06-25 04:23:43 +03:00
exampleProjectDefaults ( )
end
end
end
2021-10-27 06:13:30 +03:00
group " libs "
2021-10-26 04:59:32 +03:00
dofile ( path.join ( BX_DIR , " scripts/bx.lua " ) )
dofile ( path.join ( BIMG_DIR , " scripts/bimg.lua " ) )
dofile ( path.join ( BIMG_DIR , " scripts/bimg_decode.lua " ) )
2012-06-02 06:55:56 +04:00
dofile " bgfx.lua "
2014-12-06 23:52:14 +03:00
2020-05-18 07:04:31 +03:00
local function userdefines ( )
local defines = { }
local BGFX_CONFIG = os.getenv ( " BGFX_CONFIG " )
if BGFX_CONFIG then
for def in BGFX_CONFIG : gmatch " [^%s:]+ " do
table.insert ( defines , " BGFX_CONFIG_ " .. def )
end
end
return defines
end
BGFX_CONFIG = userdefines ( )
bgfxProject ( " " , " StaticLib " , BGFX_CONFIG )
2014-09-11 10:01:22 +04:00
2021-10-27 06:13:30 +03:00
if _OPTIONS [ " with-shared-lib " ] then
group " libs "
bgfxProject ( " -shared-lib " , " SharedLib " , BGFX_CONFIG )
end
2017-04-15 19:14:00 +03:00
if _OPTIONS [ " with-tools " ] then
2021-10-27 06:13:30 +03:00
group " libs "
2017-04-15 19:14:00 +03:00
dofile ( path.join ( BIMG_DIR , " scripts/bimg_encode.lua " ) )
end
2017-01-09 02:15:22 +03:00
2017-06-26 08:54:17 +03:00
if _OPTIONS [ " with-examples " ]
or _OPTIONS [ " with-combined-examples " ]
or _OPTIONS [ " with-tools " ] then
2016-09-10 19:53:29 +03:00
group " examples "
dofile " example-common.lua "
end
2017-06-26 08:54:17 +03:00
if _OPTIONS [ " with-examples " ]
or _OPTIONS [ " with-combined-examples " ] then
2016-09-10 18:23:02 +03:00
group " examples "
2017-06-25 04:23:43 +03:00
2017-06-26 08:54:17 +03:00
exampleProject ( _OPTIONS [ " with-combined-examples " ]
2017-06-25 04:23:43 +03:00
, " 00-helloworld "
, " 01-cubes "
, " 02-metaballs "
, " 03-raymarch "
, " 04-mesh "
, " 05-instancing "
, " 06-bump "
, " 07-callback "
, " 08-update "
, " 09-hdr "
, " 10-font "
, " 11-fontsdf "
, " 12-lod "
, " 13-stencil "
, " 14-shadowvolumes "
, " 15-shadowmaps-simple "
, " 16-shadowmaps "
, " 18-ibl "
, " 19-oit "
, " 20-nanovg "
, " 21-deferred "
, " 22-windows "
, " 23-vectordisplay "
, " 24-nbody "
, " 26-occlusion "
, " 27-terrain "
, " 28-wireframe "
, " 29-debugdraw "
, " 30-picking "
, " 31-rsm "
, " 32-particles "
, " 33-pom "
2017-08-19 20:58:06 +03:00
, " 34-mvs "
2017-09-18 06:32:11 +03:00
, " 35-dynamic "
2017-10-04 05:50:05 +03:00
, " 36-sky "
2018-03-05 03:11:05 +03:00
, " 37-gpudrivenrendering "
2018-09-19 22:24:52 +03:00
, " 38-bloom "
2018-12-15 01:27:03 +03:00
, " 39-assao "
2019-01-03 13:34:30 +03:00
, " 40-svt "
2019-07-21 03:04:35 +03:00
, " 41-tess "
2020-05-30 20:49:06 +03:00
, " 42-bunnylod "
2021-01-02 21:46:43 +03:00
, " 43-denoise "
2021-01-10 22:24:28 +03:00
, " 44-sss "
2021-01-31 21:07:49 +03:00
, " 45-bokeh "
2021-10-07 03:40:57 +03:00
, " 46-fsr "
2017-06-25 04:23:43 +03:00
)
2016-09-10 18:23:02 +03:00
2020-05-17 05:45:55 +03:00
-- 17-drawstress requires multithreading, does not compile for singlethreaded wasm
2022-06-02 22:02:51 +03:00
if premake.gcc . namestyle == nil or not premake.gcc . namestyle == " Emscripten " then
2020-05-17 05:45:55 +03:00
exampleProject ( false , " 17-drawstress " )
2022-06-02 22:02:51 +03:00
end
2020-05-17 05:45:55 +03:00
2016-09-10 18:23:02 +03:00
-- C99 source doesn't compile under WinRT settings
if not premake.vstudio . iswinrt ( ) then
2017-06-25 04:56:45 +03:00
exampleProject ( false , " 25-c99 " )
2016-09-10 18:23:02 +03:00
end
2015-05-24 20:16:18 +03:00
end
2013-12-11 07:37:51 +04:00
2014-05-05 02:43:14 +04:00
if _OPTIONS [ " with-tools " ] then
2014-12-06 23:52:14 +03:00
group " tools "
2014-05-05 02:43:14 +04:00
dofile " shaderc.lua "
dofile " texturec.lua "
2016-04-22 08:12:35 +03:00
dofile " texturev.lua "
2014-05-05 02:43:14 +04:00
dofile " geometryc.lua "
2019-06-19 22:37:35 +03:00
dofile " geometryv.lua "
2014-05-05 02:43:14 +04:00
end