Commit Graph

440 Commits

Author SHA1 Message Date
Jack Andersen 7a60440d58 Add shader mode for constant alpha overwrite 2018-02-04 20:54:35 -10:00
Jack Andersen 1b861eaa61 Non-clobbering YAML serialize operation 2018-01-22 18:40:09 -10:00
Phillip Stephens 2f840e5321 Merge commit 'f47d7d9' 2018-01-21 18:41:17 -08:00
Phillip Stephens 24abe43865 Restore old CVar system 2018-01-21 18:40:11 -08:00
Jack Andersen f546400cc1 Update boo 2018-01-21 12:03:48 -10:00
Jack Andersen ac29a724ba Deep color CVar and GLSL backend bug fixes 2018-01-15 20:30:37 -10:00
Phillip Stephens 8cef2f5192 Add ability to enable developer mode in-code 2018-01-15 05:18:03 -08:00
Phillip Stephens 5c66ffc5df Refactor CVar class 2018-01-15 04:34:02 -08:00
Phillip Stephens 4543e2a87e Merge commit 'c46f861' 2018-01-13 23:38:17 -08:00
Phillip Stephens 52c14848d9 Various minor fixes 2018-01-13 23:37:00 -08:00
Jack Andersen 7a815e2962 Add missing <sstream> include 2018-01-13 20:40:42 -10:00
Phillip Stephens f777d034f2 Implement core Console behavior and CVarManager commands 2018-01-13 18:39:32 -08:00
Phillip Stephens 7f6913e046 Fix linux build, initial logvisor integration into Console 2018-01-11 08:26:33 -08:00
Phillip Stephens 24ee3fa21e Windows build fix 2018-01-11 04:38:35 -08:00
Phillip Stephens e247733d04 Initial `Console` implementation 2018-01-11 01:36:00 -08:00
Jack Andersen 2d0f079991 Add CVarCommons; hecl-light library 2018-01-09 20:16:18 -10:00
Jack Andersen b3ca5b1e1e Changes to support MSAA rendering 2018-01-06 19:17:45 -10:00
Jack Andersen 308af03115 Disable cotire unity build 2017-12-31 16:53:17 -10:00
Jack Andersen 9daa74e08e Windows PCH fixes 2017-12-29 15:07:15 -10:00
Jack Andersen aae0dc56b7 Huge compile performance refactor 2017-12-28 21:56:31 -10:00
Phillip Stephens 0e4310903d Update boo; Add initial GUI mode support 2017-12-15 18:13:20 -08:00
Jack Andersen 758c602dc5 Add ASan build capability 2017-12-11 16:05:28 -10:00
Jack Andersen 93711460f8 More flexible cull-mode options for shader extensions 2017-12-09 19:29:23 -10:00
Jack Andersen a60a02a31e Add flip flag for collision triangles 2017-12-08 19:15:26 -10:00
Jack Andersen 79f0336588 UWP fixes 2017-12-06 18:09:27 -10:00
Jack Andersen 559096feeb UWP support 2017-12-05 17:22:31 -10:00
Jack Andersen d4ce1d4913 ProjectPath bug fixes 2017-12-01 19:49:45 -10:00
Jack Andersen 1987a6e3d3 Implement asprintf for Windows 2017-11-24 16:49:50 -10:00
Jack Andersen b382188a5c Remove debugging changes 2017-11-21 00:22:36 -10:00
Jack Andersen ddf7c983da Major refactor of hecl parser using @hackyourlife architecture 2017-11-20 23:33:28 -10:00
Jack Andersen b41b21cb4b Windows fixes 2017-11-13 17:34:05 -10:00
Jack Andersen 4111d49d64 string_view refactor 2017-11-12 20:13:53 -10:00
Jack Andersen b9490877a4 Iterator fix 2017-11-06 22:05:40 -10:00
Jack Andersen a3b9a32633 Remaining object tracker platforms 2017-11-05 20:56:17 -10:00
Jack Andersen d2fda8a373 Changes to support new boo object tracker API 2017-11-04 20:15:03 -10:00
Jack Andersen 3e18e519ce Windows fixes 2017-10-29 21:29:07 -10:00
Jack Andersen a2c5d891b5 Various bug fixes 2017-10-27 00:10:08 -10:00
Jack Andersen 5e99ee1d95 Minor improvements 2017-10-25 19:37:15 -10:00
Jack Andersen b7208bfc5f Implement `hecl package` 2017-10-24 21:46:32 -10:00
Jack Andersen a5b7a7b96c Windows fixes 2017-10-23 17:11:44 -10:00
Jack Andersen 48ec4cf6eb Various bug fixes 2017-10-21 20:10:59 -10:00
Jack Andersen ebad51dc2e Add DCLN blend type 2017-10-16 19:51:13 -10:00
Jack Andersen 7c3bac2951 Add perspective division to texture matrix processing 2017-09-30 18:25:49 -10:00
Phillip Stephens cc8415b4f6 update boo 2017-09-10 01:08:52 -07:00
Jack Andersen 2674989a4a Generate pool skin index for CPU-based skinning operations 2017-08-20 19:46:26 -10:00
Jack Andersen 6d997e4ffa NULL path bug fix 2017-08-17 17:18:52 -10:00
Jack Andersen f761810e8c Other platforms for SteamFinder 2017-07-23 13:44:17 -10:00
Jack Andersen 14277fa386 Add Steam app finder, fix missing blender cube bug 2017-07-22 23:20:28 -10:00
Jack Andersen d8ed2fd157 Isolate hecl::SystemChar in single header 2017-06-10 08:22:40 -10:00
Phillip Stephens c72ee72f6f Conform other platforms 2017-05-29 01:18:54 -07:00
Phillip Stephens 145c152012 Fix GLSL reflection shader compile errors. 2017-05-28 23:00:17 -07:00
Jack Andersen 8bfac09158 Add map visibility mode property 2017-04-18 13:38:23 -10:00
Jack Andersen 21e2a26e36 HLSL reflection fix 2017-03-26 08:21:01 -10:00
Jack Andersen b860d962ae Reflection shader support 2017-03-25 19:51:58 -10:00
Jack Andersen ed5085e42b MAPA/MAPU bug fixes 2017-03-20 11:14:20 -10:00
Jack Andersen 87ae8aaa57 Windows fixes 2017-03-19 20:59:14 -10:00
Jack Andersen 53521a0eea Initial blender addon support for MAPA and MAPU types 2017-03-19 19:08:51 -10:00
Jack Andersen 9cc364c4fd Updated rendering interface for boo 2017-03-17 13:32:18 -10:00
Jack Andersen 626056f3b9 Refactor for boo upgrades 2017-03-13 21:03:22 -10:00
Jack Andersen 21194f43db Update Metal for frontface culling support 2017-03-10 11:07:55 -10:00
Jack Andersen 56aacdacde backface culling support 2017-03-10 10:38:34 -10:00
Jack Andersen e698a27d1c Use HECL_MULTIPROCESSOR macro for enabling multithreaded work 2017-03-10 07:58:43 -10:00
Jack Andersen 3b7c7cf0fc Texture identifier collision avoidance for Metal 2017-03-05 13:34:55 -10:00
Jack Andersen 437fd54400 Ensure shader extension textures don't conflict 2017-03-05 13:00:37 -10:00
Jack Andersen 6b4351d689 Missing #include for linux 2017-02-25 16:42:57 -10:00
Jack Andersen 89f216d94f Add hecl::PathRelative() 2017-02-24 21:58:36 -10:00
Jack Andersen 8c3a7da616 Updates to support VISI generation 2017-02-23 22:27:07 -10:00
Jack Andersen 86f9f62ef6 Targeted subresource generation for Actor and World blends 2017-02-12 20:51:15 -10:00
Jack Andersen 154a44e21f Add master mulColor to programmable shader output 2017-02-09 23:00:23 -10:00
Jack Andersen ae9b2309cf Add RecrusiveMakeDir 2017-02-03 17:45:39 -10:00
Jack Andersen 1bfef7ddf8 ShaderCacheManager read fix 2017-02-02 20:22:54 -10:00
Jack Andersen 1c9708f261 EINTR recovery for BlenderConnection I/O 2017-02-01 15:53:51 -10:00
Jack Andersen 4a7b47200a Include alpha component in opaque shaders 2017-01-29 18:15:35 -10:00
Phillip Stephens c840625080 Add Char16ToWide helper function 2017-01-23 23:55:26 -08:00
Jack Andersen b8abd466dd char16_t formatting support 2017-01-23 21:40:09 -10:00
Phillip Stephens d505f2d30a Fix FRME cook crash when path contains spaces 2017-01-21 20:25:49 -08:00
Jack Andersen 7326f01b5b Update boo 2017-01-18 23:01:54 -10:00
Jack Andersen 2147abfbaa Work on Gui Frame exporter 2017-01-16 21:12:49 -10:00
Jack Andersen aecaab27a4 Create directory chains at a late point during extract 2017-01-16 15:21:13 -10:00
Phillip Stephens c4ee610169 Fix stack related crash in getGlobResults 2017-01-01 15:19:03 -08:00
Phillip Stephens 279b4b1d68 Update Collision cook process 2016-12-28 11:41:03 -08:00
Phillip Stephens 7bc98872a6 Fix linux build 2016-12-25 21:54:23 -08:00
Jack Andersen ecb722ae43 Make console API errors non-fatal 2016-12-25 12:50:11 -10:00
Jack Andersen 77c3d1e184 BlenderConnection stability improvements for Windows 2016-12-25 12:15:31 -10:00
Jack Andersen d7c5dff1f0 Windows fixes 2016-12-24 21:02:34 -10:00
Jack Andersen 75847c67d3 Better thread contention handling for BlenderConnection 2016-12-24 15:35:30 -10:00
Jack Andersen 46b04925c3 More graceful handling of non-installed blender 2016-12-12 10:09:53 -10:00
Jack Andersen b12b858f3d Integrate llvm BitVector and MathExtras 2016-12-09 16:32:20 -10:00
Jack Andersen aa408ccfec Move LTO-problematic definitions out of header 2016-10-10 15:21:15 -10:00
Jack Andersen 7f5ba744da Additional BlenderConnection World capabilities 2016-10-07 17:40:08 -10:00
Jack Andersen d307e645b1 Remove unnecessary and RVO-detrimental moves 2016-10-02 18:39:10 -10:00
Jack Andersen e65fe14c53 BlenderConnection tweaks 2016-10-02 12:34:10 -10:00
Jack Andersen 4f53d886ce Implement world cooker 2016-10-01 13:18:52 -10:00
Jack Andersen 45794700f8 Merge branch 'master' of https://github.com/AxioDL/hecl 2016-09-30 12:41:28 -10:00
Jack Andersen 835976be56 BlenderConnection::compileWorld() stub 2016-09-30 12:41:01 -10:00
Jack Andersen ae348f111b use of reliable constant rather then iffy macro 2016-09-29 17:32:24 -10:00
Jack Andersen c0f060d6ad Remove unnecessary glob regex 2016-09-24 15:57:43 -10:00
Jack Andersen f6428c9407 Glob path fixes 2016-09-20 19:41:06 -10:00
Jack Andersen 6de25c1d1d Refinements to avoid bad level linkages 2016-09-18 13:46:49 -10:00
Jack Andersen 5303b9bda1 Dramatic shader cache performance improvement 2016-09-11 18:52:55 -10:00
Jack Andersen f0b1837300 Add handy StringUtils begin/end compare functions 2016-08-30 15:13:00 -10:00
Jack Andersen 07c21ec489 ProjectPath hashing fix 2016-08-28 14:28:24 -10:00
Jack Andersen 4795565dd9 OpenGL enum change 2016-08-23 18:34:26 -10:00
Jack Andersen f65e3d23b4 Athena YAML refactor 2016-08-21 17:46:45 -10:00
Jack Andersen 719c62f09f Add ResourceLock for detecting parallel resource collisions 2016-08-11 16:33:03 -10:00
Jack Andersen daeef99f83 More reliable Metal shader cache 2016-08-08 09:06:51 -10:00
Jack Andersen 6740d6d00d More reliable HLSL shader cache 2016-08-08 08:53:31 -10:00
Jack Andersen ca4d50c62b More reliable shader cache; update submodules 2016-08-08 08:22:32 -10:00
Jack Andersen 07fcc2db92 Metal extended shader fixes 2016-08-03 13:46:25 -10:00
Jack Andersen 5f60a33cce Windows build fixes 2016-08-03 13:15:59 -10:00
Jack Andersen e17d5c0b83 GLSL generation fixes 2016-08-01 19:54:40 -10:00
Jack Andersen b7143c7dca Default colorRegs when lighting uniform not available 2016-07-31 20:35:35 -10:00
Jack Andersen 7e42581cf0 HLSL extended shader support 2016-07-31 18:34:08 -10:00
Jack Andersen b0b955f83f Remove redundant line of GLSL 2016-07-31 14:21:02 -10:00
Jack Andersen dc2c636f33 Early fragment tests and alpha compare to emulate GX use 2016-07-31 14:12:10 -10:00
Jack Andersen 9806a34ef6 Vulkan build fix 2016-07-31 13:47:41 -10:00
Jack Andersen f9cae24c5d Add alpha-test functionality for applicable blend modes 2016-07-31 13:35:46 -10:00
Jack Andersen ec859598e9 Metal platform conformance 2016-07-31 10:26:08 -10:00
Jack Andersen 9531d2bb02 Fixes for extended shaders 2016-07-30 18:45:28 -10:00
Jack Andersen 0acf4865ca Initial extended shader refactor 2016-07-30 16:06:13 -10:00
Jack Andersen 30dabe5267 Cache decompression error handling 2016-07-26 17:38:25 -10:00
Jack Andersen 9c48e5e8b6 Metal backend fixes 2016-07-19 10:33:04 -10:00
Jack Andersen d73c12c61f Normalize must occur on 3-components 2016-07-19 10:12:04 -10:00
Jack Andersen 0decdce86d Update shaders for normalize TCG flag 2016-07-18 20:12:00 -10:00
Jack Andersen 23f52a1ead Add support for normalizing TCG configs 2016-07-18 17:41:55 -10:00
Jack Andersen d03f00938a Minor adjustments to silence MSVC warnings 2016-07-14 11:30:32 -10:00
Phillip Stephens bb62f84fe1 Add postMtx to uniform, update athena 2016-07-12 01:54:42 -07:00
Phillip Stephens bc91e4597d Fix Vulkan shader errors by not using nested definitions 2016-07-10 11:44:33 -07:00
Phillip Stephens bc170f1dc0 Fix TexMtx uniform for GLSL 2016-07-09 14:58:34 -07:00
Phillip Stephens e2523d1268 Add post transform matrix 2016-07-08 12:55:33 -07:00
Jack Andersen c544d99f98 Shader variable emit fixes 2016-07-07 14:05:45 -10:00
Jack Andersen 907ed3d674 Add interface method for entering cook thread transactions 2016-07-06 18:22:54 -10:00
Jack Andersen 66774da1be Update boo and GLSL backend for Vulkan 2016-06-30 16:31:23 -10:00
Jack Andersen e6cf759477 Use shared_ptr to maintain strong references to ClientProcess transactions 2016-04-18 14:15:41 -10:00
Jack Andersen 88276db37f ClientProcess fix 2016-04-15 10:42:19 -10:00
Jack Andersen 037404c5ff Function-scope statics aren't as efficient as file-scope ones 2016-04-14 17:24:51 -10:00
Jack Andersen 4da14b5d9b Safer pop location 2016-04-10 23:35:43 -10:00
Jack Andersen 6945ec94b8 Another race condition fix 2016-04-09 13:18:12 -10:00
Jack Andersen 5fc5442286 Fix ClientProcess start race condition 2016-04-08 16:47:58 -10:00
Jack Andersen 761be432be Updates for new ANIM extract 2016-04-06 17:38:37 -10:00
Jack Andersen 2fbc21cc18 Remove unneeded fprintf 2016-04-04 16:44:47 -10:00
Jack Andersen 41dbd30970 Aux info functionality for ProjectPath 2016-04-04 15:49:42 -10:00
Jack Andersen 635193c2fe HLSL backend update 2016-04-04 09:34:22 -10:00
Jack Andersen 6abde07598 Metal extension shaders 2016-04-03 20:15:07 -10:00
Jack Andersen 80284ad816 Update GLSL backend for proper block bindings 2016-04-03 19:00:40 -10:00
Jack Andersen 4388cf64e5 Update GLSL backend for memory testing 2016-04-03 16:27:16 -10:00
Jack Andersen 54ca41f2ed Update boo and Metal backend 2016-04-02 20:19:03 -10:00
Jack Andersen 8534af8b4d Windows fixes 2016-04-02 17:31:50 -10:00
Jack Andersen 831ad0af8e Add primitive type to shader tag 2016-04-01 17:34:03 -10:00
Jack Andersen 9d72601f9a LambdaTransaction added to ClientProcess 2016-03-31 18:24:28 -10:00
Jack Andersen 6638463198 Cook path directory creation 2016-03-31 08:56:19 -10:00
Jack Andersen 4fba325b0f Link-order fixes 2016-03-30 16:44:12 -10:00
Jack Andersen 968139022e Client process worker loop tweak 2016-03-30 11:27:21 -10:00
Jack Andersen f254b34cca boo lambda D3D sync 2016-03-30 10:43:09 -10:00
Jack Andersen 72fc1e5754 boo lambda-factory API refactor 2016-03-30 09:15:08 -10:00
Jack Andersen c06cc88441 Decided against child cook process 2016-03-28 12:39:18 -10:00
Jack Andersen 3822f001a8 ClientProcess updates 2016-03-28 11:38:31 -10:00
Jack Andersen be0184bbe9 Ensure Windows ProjectPath hash will match POSIX 2016-03-27 18:40:27 -10:00
Jack Andersen 8b07c385f6 ClientProcess updates 2016-03-27 18:36:32 -10:00
Jack Andersen bbf8639a6a Initial ClientProcess class, require Blender 2.77 2016-03-27 10:41:29 -10:00
Jack Andersen 3015372883 D3D sync 2016-03-23 22:35:04 -10:00
Jack Andersen bb0ca46194 Vulkan sync 2016-03-23 22:15:55 -10:00
Jack Andersen a09d042a3d Update shader pipeline calls 2016-03-23 22:06:24 -10:00
Jack Andersen 31fa668e78 Humungous refactor 2016-03-04 13:02:44 -10:00
Jack Andersen e6aeff08a3 Link removal (complexity not worth it) 2016-02-29 17:05:42 -10:00
Jack Andersen 9a35417f42 Update boo 2016-02-24 10:52:53 -10:00
Jack Andersen c424e37fba Update boo and GLSL macros 2016-02-23 17:18:19 -10:00
Jack Andersen d76fcf0f5b Vulkan Updates 2016-02-22 16:33:29 -10:00
Jack Andersen 41ecea7a37 Merge branch 'master' of https://github.com/AxioDL/hecl 2016-02-18 10:53:01 -10:00
Jack Andersen f1cb3bdb58 Update boo 2016-02-18 10:52:36 -10:00
Phillip Stephens 1d18d8080f Fix crash when encountering invalid identifier 2016-02-18 08:33:34 -08:00
Phillip Stephens 43befa6fd2 Fix crash when attempting to initialize cache 2016-02-18 04:55:39 -08:00
Jack Andersen 52d840a49b Windows string fixes 2016-02-16 17:36:06 -10:00
Jack Andersen 195c58cd8b ProjectPath DirectoryEnumerator integration 2016-02-15 19:48:57 -10:00
Phillip Stephens 3e966d73af Use SystemStringView rather than raw std::{w}string for simplicity 2016-01-15 19:35:59 -08:00
Jack Andersen 8590ae9f01 SPIR-V ShaderCache backend 2016-01-14 12:47:31 -10:00
Jack Andersen 99ea94de39 Integrate glslang AST compilation 2016-01-14 11:12:29 -10:00
Jack Andersen cd6ae55c07 Use std::multimap to sort files by size 2016-01-07 14:05:50 -10:00
Jack Andersen 68fd386e50 Added home and desktop to OS X system location 2016-01-06 19:26:55 -10:00
Jack Andersen 5c1551bf08 CVar initialization order fix 2016-01-03 19:25:00 -10:00
Jack Andersen 7d91a6408e Update boo 2016-01-02 13:11:11 -10:00
Jack Andersen 0d25d01e41 Relocate Win32 volume path hack 2016-01-02 10:39:14 -10:00
Jack Andersen 0c8d49a80a Win32 DirectoryEnumerator fixes 2016-01-01 18:16:20 -10:00
Jack Andersen 29fd504475 Initial system location finder (unix only) 2016-01-01 16:27:17 -10:00
Jack Andersen 4ca3cb8081 DirectoryEnumerator sorting options 2015-12-31 14:16:20 -10:00
Jack Andersen 9c5d8ea262 Add HumanizeNumber and DirectoryEnumerator utilities 2015-12-30 12:03:37 -10:00
Jack Andersen 05eda24a81 std::string allocating getcwd 2015-12-15 11:55:50 -10:00
Phillip Stephens c543bf9834 Fix GCC derp 2015-12-04 20:10:40 -08:00
Phillip Stephens e458d97a2a Make CVarManager a singleton 2015-12-03 17:43:29 -08:00
Phillip Stephens 88c442514a Only deserialize CVar value when they differ 2015-12-02 20:08:14 -08:00
Phillip Stephens 17405aadb8 Set modified flag when deserializing CVars to propogate changes 2015-12-02 20:06:09 -08:00
Jack Andersen 47fb36def6 Moved CVars to HECL 2015-12-02 11:11:10 -10:00
Jack Andersen fff3100f17 OS X now using POSIX-style file store 2015-12-01 17:06:39 -10:00
Jack Andersen 8bf39efcd8 Update boo 2015-11-27 18:08:28 -10:00
Jack Andersen f7e195a140 Updated libBoo 2015-11-25 14:22:55 -10:00
Jack Andersen a19bc6827c Athena error handling tweak 2015-11-22 17:09:46 -10:00
Jack Andersen 18f708753d windows enum refactor fixes 2015-11-20 16:59:43 -10:00
Jack Andersen c4f8743bf6 OS X enum refactor fixes 2015-11-20 16:16:54 -10:00
Jack Andersen 0a457d854a Major scoped-enum refactor 2015-11-20 15:13:06 -10:00
Jack Andersen daa446588b Metal shader generation 2015-11-18 13:56:45 -10:00