Commit Graph

40 Commits

Author SHA1 Message Date
Dennis Brakhane b962a7221e OBJ import: ensure we only skip identical vertices (#1444)
just hashing will give false positives, especially on Linux where
std::hash<int> is identity.

Fixes #1405
2026-01-02 14:31:24 +01:00
Turánszki János 7ecd39dd6e Warning fixes and changes for Linux
- Disabled warnings as errors
- Using -Wall for specifying commonly used warnings
- Fixes for many warnings in the engine code
2025-07-29 19:59:53 +02:00
Dennis Brakhane ae83bddd9b clang: remove "unknown warning group" warning (#1169)
clang also defines __GNUC__. Whoops
2025-07-14 08:19:28 +02:00
Dennis Brakhane 9efa9ddcfc cmake: add build flags for using AVX2 etc., work around GCC bug (#1167)
* cmake: work around GCC bug when compiling Jolt

* cmake: add build flags for using AVX2 etc.

On linux, AVX2 was used by default for compiling Jolt,
buy not in other parts, which clang doesn't like
(specifically inlining functions using a disabled instruction set)

So now, we just define some compile time options to enable/disable
AVX2, AVX, AVX512 etc. and make the compiler use the code for
everything, not just Jolt. By default, AVX2 is used.

Furthermore, the CMakeLists files were slightly refactored to be
a bit less messy.

* silence GCC warnings

* fix clang build on window

* disable another gcc warning-turned-error

* spring initialization fix

* size_t initializaed to 0 instead of -1

* remove initialization

---------

Co-authored-by: Turánszki János <turanszkij@users.noreply.github.com>
Co-authored-by: Turánszki János <turanszkij@gmail.com>
2025-07-13 16:24:39 +02:00
Turánszki János 21d5f37fee build updates (#655) 2023-03-28 19:30:29 +02:00
Turánszki János 6eb01f585a Hierarchy window (#531) 2022-08-25 12:13:14 +02:00
Turánszki János bb5e7a8ccb hierarchy: don't assume that transforms exist; gui update; editor model importer update; 2022-04-24 14:32:36 +02:00
Turánszki János c4c582d739 general improvements (#368)
* custom implementation for wi::vector

* fix

* sdl vulkan fix

* linux fix

* fix

* vector fix

* shader compiler and job system will be initialized automatically on first use

* vector improvements

* updates

* update

* network and audio will be auto initializing on first use only

* fix

* for now, use std::vector

* vector refactor minor

* backlog: access safety

* shader clearcoat fix

* gui initialization on demand

* initializer updates

* job system will be explicitly initialized
2021-12-09 18:58:27 +01:00
Turánszki János 74cb74d3c9 version 0.60 (#367)
- namespace refactor (example: wiGraphics:: -> wi::graphics)
  - provided namespace compatibility macro for old user code: WICKEDENGINE_BACKWARDS_COMPATIBILITY_0_59
- resource manager will return `Resource` instead of `shared_ptr<Resource>` objects
- MAD shader optimizations
- implemented alpha to coverage with alpha tested materials when MSAA is enabled
- alpha testing fix with transparent shadow maps
- TLAS and scene buffers will be recreated less frequently when things get added/removed from the scene
2021-12-03 21:22:27 +01:00
Turánszki János 16d9a8de74 common improvements (#366)
- std container replacements for vector, unordered_map, unordered_set
  - unordered_map and unordered_set replaced with ska::flat_hash_map
  - vector replacement is still std::
- unordered_map performance test (std:: vs ska::)
- backlog improvements
- wiArchive improvements
- editor: added option to dump scene to C++ header file
- common improvements, refactors
2021-11-28 22:12:05 +01:00
Turánszki János 71222ec839 improvements: loadmodel, gltf import, obj import 2021-09-25 00:00:53 +02:00
Turanszki Janos ab21ffc61d editor: obj importer will create root entity, translator update 2021-07-23 00:36:38 +02:00
Turánszki János f1ced24f05 Multi swapchain support (#257)
* multi swapchain draft

* uwp fix

* swapchain resize handling

* swapchain buffercount

* vsync toggle

* tests fix

* update

* everything removed from graphicsdevice regarding global screen params, engine refactor

* added GetSwapChainTexture() function to graphics device; screenshot() now requires swapChain

* linux fix: vulkan device needs window handle for instance creation

* refactor

* removed unused includes

* shader refactor and lensflare fix

* swapchain clearcolor and other refactors

* vulkan: no vector allocation in submit

* tests fix

* refactors

* lens flare canvas size fix

* gui refactor for canvas support

* refactors

* removed global canvas state

* msaa fix

* fixes

* refactor to minimize interface changes

* gui changes

* checkbox fix

* gui fixes

* fixes

* input system will accept window handle

* editor fixes

* refactor and removed resolution related system events

* small editor update

* refactor: renderpath inherits from canvas

* fixed tests duh

* image refactor

* image fix

* removed every using namespace std

* pushconstant fix

* editor: object picking only when necessary

* removed include

* dx12: copy fence waiting performed on CPU

* dx12 copyallocator update

* vulkan: copy allocator with timeline semaphores

* missing include

* dx12 copy allocator update

* refactor

* editor update

* vulkan copy allocator fix

* dx12 update

* vulkan, dx12 fixes

* version bump

* vsync event helper

* documentation update

* updated vulkan, dx12, dxc
2021-04-22 11:36:22 +02:00
Turanszki Janos 783c824139 resource manager upgrade: embedded resources support 2021-03-01 00:37:55 +01:00
Turanszki Janos 9b4a8870ac file system refactor 2021-02-25 21:52:41 +01:00
Turanszki Janos 3be76495b4 big material texture slot refactor 2021-02-02 22:07:47 +01:00
Turanszki Janos 938d81a095 added support for gltf KHR_materials_transmission 2020-12-29 20:53:34 +01:00
Turánszki János 180ddc3586 0.49 (#160)
* renderer updates: material shadertype, customshaders

* custom shader updates

* hologram fix

* editor windows refactor

* major gui update:
- gui no longer lifetime manager
- window no longer needs gui to construct
- removed gui constructors/destructors
- rewritten every editor window

* renderer update

* gui hasfocus fix

* editor fix

* renderpath upgrades: hybrid forward-deferred

* fix

* water ripple refactor

* cmake fix

* cmake fix

* renderer fix

* volumetric light fix

* customshader stencilref

* cmake fix

* rtdeferred fix

* editor update

* raytraced shadows denoise

* anisotropic shader

* sss stencil greater

* added cartoon shader

* using precomputed tangents

* added unlit object shader

* importer update

* editor update

* editor fix

* vulkan envmap rendering fix

* terrain shader simplification (normal texture mapping instead of triplanar)

* added subsurface profiles, reduced gbuffer

* denoise disocclusion fallback

* editor fix

* more sorting priority for blend than instancing

* hairparticle culling

* particle updates; font update instancing instead of index buffer; vulkan/dx12 fixes;

* shader fixes

* hairparticle trianglestrip and no cross section

* editor fix

* cam wnd update

* terrain shader fix
2020-10-17 13:17:07 +02:00
Turanszki Janos e9fbc9c205 file operation updates for uwp platform #110 2020-05-10 20:23:49 +01:00
Turanszki Janos fa267b0e7d large refactor 2019-12-12 22:15:16 +00:00
Turanszki Janos 20e56802cc graphics API texture refactor 2019-11-21 22:29:25 +00:00
turanszkij 0c314825d3 refactors, fixes 2019-08-16 00:05:37 +01:00
turanszkij fbbec29221 some fixes; resurrected tps character control script; 2019-04-12 00:41:16 +01:00
turanszkij f6f0be47ea obj import hash fix 2019-04-09 12:35:05 +01:00
turanszkij 45e344cbfa added feature: multiple uv sets; gltf updates; editor updates; 2019-03-16 18:19:49 +00:00
turanszkij 4163f09a76 another gltf armature import fix 2019-03-14 19:05:37 +00:00
turanszkij 061c780ad9 refactor-part1:
removed rendertarget helpers;
non-static textures in render paths;
wiGraphicsTypes namespace renamed to wiGraphics;
2019-03-08 21:46:28 +00:00
turanszkij 30a4f4910b material emissive color separated from base color; voxel gi fix; gamma fixes; slightly reordered gbuffer; 2019-03-02 16:23:54 +00:00
turanszkij 381f571458 general updates, refactors 2018-11-01 19:15:32 +00:00
turanszkij 575b2210b0 obj loader update 2018-10-02 18:36:39 +01:00
turanszkij 25183c3be0 added assets + some fixes 2018-09-29 20:10:13 +01:00
turanszkij 30e71881ff updates 2018-09-23 20:43:36 +01:00
turanszkij 26a12876bb ecs serializers update + general refactors 2018-09-19 18:16:36 +01:00
turanszkij a12b291e47 serialize + refactor in progress... 2018-09-16 19:51:50 +01:00
turanszkij 6ac0a29cbf big mesh refactor 2018-09-07 21:04:40 +01:00
turanszkij e7a9e33d1b mainly material and picking updates 2018-09-02 16:41:39 +01:00
turanszkij bf98030410 a mesh is rendering now again 2018-09-02 14:23:39 +01:00
turanszkij bd09400f07 editor running but not much happening yet 2018-08-29 17:10:28 +01:00
turanszkij 03dccc024b another big refactor: wiLoader -> wiSceneComponents with proper namespace 2018-08-18 15:03:25 +01:00
turanszkij 9008239330 big refactor 2018-08-17 18:02:05 +01:00