@floooh@mastodon.gamedev.place avatar

floooh

@floooh@mastodon.gamedev.place

This profile is from a federated server and may be incomplete. Browse more on the original instance.

mcc, to random
@mcc@mastodon.social avatar

C# question that doesn't seem particularly cursed, for once:

In MSBuild (a .csproj) I can tell a target to run at a certain time using BeforeTargets= and AfterTargets=. I know that there are certain built-in targets; one, the C# compilation step, is CoreCompile. I know this works, but I found out about it by rumor.

Where can I find documented, or how can I get msbuild/dotnet to tell me, the full list of "built-in" targets? I am esp interested in what target/step CopyToOutputDirectory occurs on

floooh,
@floooh@mastodon.gamedev.place avatar
floooh,
@floooh@mastodon.gamedev.place avatar

@mcc can't immediately find a list of builtin targets either though :/

lritter, to random
@lritter@mastodon.gamedev.place avatar

after AI, what will be the next tech hype to get mad about? submissions are open

floooh,
@floooh@mastodon.gamedev.place avatar

@lritter Desktop Publishing 2.0 ...it's called hype CYCLES after all ;)

pervognsen, (edited ) to random
@pervognsen@mastodon.social avatar

Another thing I noticed in the SDL 3 preview (which was apparently already added in vestigial form later in SDL 2) is that they have support now for a callback-based life cycle so you can integrate properly with platforms which expect that without having to resort to inversion-of-control hacks like fibers for interop. While I always liked the "app controls the main loop" aspect of the classic SDL event pumping model, that ship has sailed if you care about cross-platform support.

floooh,
@floooh@mastodon.gamedev.place avatar

@pervognsen it's actually interesting how easy it was to integrate a basic "render during resize" in Windows in sokol_app.h without affecting user code (because sokol_app.h also has a frame callback model).

It's not perfect because rendering inside resizing throttled via WM_TIMER interacts badly with DXGIs vsync, e.g. you'll have to do this, otherwise the whole window system "stutters":

https://github.com/floooh/sokol/blob/f70cc07f0fcd763ab6ff0171a6b8fe1dca3ed367/sokol_app.h#L6615-L6621

floooh,
@floooh@mastodon.gamedev.place avatar

@raph @pervognsen ok yeah, there's always this "one more thing" in DXGI :D

So far the whole rendering during resize thing seems to work most smoothly on macOS, and it's most terrible on my Linux box with XWayland :/

floooh,
@floooh@mastodon.gamedev.place avatar

@raph @pervognsen ...for reference I'm using D3D11 with a DXGI_SWAP_EFFECT_FLIP_DISCARD swapchain, not sure how that differs from the "DX12 style flip model".

https://github.com/floooh/sokol/blob/f70cc07f0fcd763ab6ff0171a6b8fe1dca3ed367/sokol_app.h#L6454-L6458

But rendering during resize is definitely not as smooth as it should be.

floooh,
@floooh@mastodon.gamedev.place avatar

@pervognsen this is exactly one of the current downsides in sokol_app.h, there's a 1:1 relationship between the 'frame callback' and present. Currently this means that one cannot easily pause/freeze/skip rendering. It's somewhere fairly down the todo list :D

floooh,
@floooh@mastodon.gamedev.place avatar

@raph @pervognsen I seem to remember that I also got a deprecation warning when using a BLIT swapchain... that's why I switched to FLIP_DISCARD in the first place, even if that meant more work (e.g. doing my own MSAA resolve)

jonikorpi, to random
@jonikorpi@mastodon.gamedev.place avatar

Sooo how do we protect the web from AI-enshittification? A new search engine? Perhaps powered by human curation? Easier self-publishing via better social media? Something else?

floooh,
@floooh@mastodon.gamedev.place avatar

@sinbad @jonikorpi TBH I don't think the current form of social media will survive for long, since it will be bots entertaining other bots. For the rest of the web: either confrontation or evasion (where confrontation means much more advanced and aggressive content blocking and evasion means building alternative niches until they become popular and 'gentrified' and the cycle begins anew).

floooh,
@floooh@mastodon.gamedev.place avatar

@sinbad @jonikorpi

> ...the “mainstream Internet” which will be mostly comprised of bots and ads...

TBH that's already been the case for a long time. The web without ad-blocking is a hellscape.

floooh, (edited )
@floooh@mastodon.gamedev.place avatar

@sinbad @jonikorpi ...also I keep thinking that Goebbels would be all over social media if he lived today. Back in the 30s the Nazis only had radio and were experimenting with television, but with social media you can deliver personalized propaganda, it's a direct wire into every user's brain and you even get direct feedback how responsive the user is and tweak the propaganda messages for maximum effect.

floooh,
@floooh@mastodon.gamedev.place avatar

@sinbad @jonikorpi ...funny thought, but I think the Amish had those problems figured out a long time before anybody else and developed a working strategy against those modern "brain eating propaganda viruses" ;)

floooh, to random
@floooh@mastodon.gamedev.place avatar

The Sokol headers now have 'official' D bindings, see changelog for details:

https://github.com/floooh/sokol/blob/master/CHANGELOG.md#13-may-2024

Many thanks to Matheus C. França for the hard work!

floooh, to random
@floooh@mastodon.gamedev.place avatar

Minor sokol_gfx.h and sokol_app.h WebGPU update:

  • added optional support for filterable float textures
  • fixed BC vs ETC2 detection
  • fixed missing activation of ASTC

More details in the changelog:

https://github.com/floooh/sokol/blob/master/CHANGELOG.md#13-may-2024

whitequark, to random
@whitequark@mastodon.social avatar

i should put a wasm runtime into the Windows kernel

floooh,
@floooh@mastodon.gamedev.place avatar

@whitequark I don't care much about WASM in the kernel, but an integrated WASI runner in the major operating systems would be great (e.g. run WASI programs like regular executables).

danluu, (edited ) to random
@danluu@mastodon.social avatar

I can't quite put my finger on it, but there's something delightful about this list of "legitimate" uses of negative literals:

https://github.com/elm/compiler/issues/1773.

I think part of it is the circumstances that would compel users to construct such a list. Until that thread, it hadn't even occurred to me that someone would present a case against the existence of negative literals that required a rebuttal.

floooh,
@floooh@mastodon.gamedev.place avatar

@zeux @NohatCoder @soulthreads @danluu @pervognsen an important difference between TS and Zig const is that in TS a const just prevents re-assigning (e.g. the 'interior' is mutable), while Zig disallows modifiying a const item alltogether (same as C basically).

floooh,
@floooh@mastodon.gamedev.place avatar

@zeux @NohatCoder @soulthreads @danluu @pervognsen ...I'm strictly in the "almost always const" camp though, especially in languages with "proper" compile time consts. I want the compiler to yell at me if I accidentially modify a const object (that's also why I dislike TS/JS's "mutable const").

floooh,
@floooh@mastodon.gamedev.place avatar

@soulthreads @zeux @NohatCoder @danluu @pervognsen TBF at work we use linter rules for TS which essentially do the same thing as Zig (unused variables are errors, and 'prefer-const' as error), and these are part of the quite popular airbnb-base eslint ruleset (if I'm not mistaken). It's not as bad in practice as it sounds at first. Initially it's annoying for sure, but I don't notice a productivity hit compared to my C coding.

pervognsen, to random
@pervognsen@mastodon.social avatar

"The algorithm uses exactly the same terminology and is presented in bottom-up form. (If you prefer top-down design, please read the rest of this section backwards.)"

floooh,
@floooh@mastodon.gamedev.place avatar

@lritter @TomF @pervognsen WASM also only has structured control flow, but to my surprise my hilarious CPU emulator switch-case-goto contraption performs quite well in WASM compared to native (trigger warning for "goto considered harmful" believers):

https://github.com/floooh/chips/blob/bd1ecff58337574bb46eba5e7e16937899360e56/chips/z80.h#L4706-L4767

floooh, to random
@floooh@mastodon.gamedev.place avatar

Minor sokol-gfx update which adds the missing EAC R11 compressed pixel formats, and fixes the name of the EAC RG11 formats (so technically it's a breaking update, but quite unlikely):

https://github.com/floooh/sokol/blob/master/CHANGELOG.md#10-may-2024

pervognsen, (edited ) to random
@pervognsen@mastodon.social avatar

How much RAM do you have in your dev workstation/laptop?

floooh,
@floooh@mastodon.gamedev.place avatar

@pervognsen 16 GB ought to be enough for anybody!

(still rocking my minspec 2021 14" MBP)

floooh, to random
@floooh@mastodon.gamedev.place avatar

I just merged the sokol-gfx storage buffer update!

Please check the sokol and sokol-shdc changelog items:

https://github.com/floooh/sokol/blob/master/CHANGELOG.md#09-may-2024

https://github.com/floooh/sokol-tools/blob/master/CHANGELOG.md#09-may-2024

...and this blog post:

https://floooh.github.io/2024/05/06/sokol-storage-buffers.html

...on the web, most new samples require WebGPU:

https://floooh.github.io/sokol-webgpu/

kkukshtel, to random
@kkukshtel@mastodon.gamedev.place avatar

@floooh In all your wasm experimenting have you found it easier to load native DLLs for things like graphics (like Sokol) or is it better to compile to wasm modules directly?

floooh,
@floooh@mastodon.gamedev.place avatar

@kkukshtel The Emscripten linker knows how to create the additional .html and .js files, and especially the .js file is important because it contains the web API shims, and the Javascript snippets that were embedded in the C sources via EM_JS. Don't know if or how these things are handles in the .NET ecosystem though.

floooh,
@floooh@mastodon.gamedev.place avatar

@kkukshtel hmm, no IIRC I haven't tried bringing C++ code into Zig projects yet, no matter if native or WASM. Maybe the C++ code doesn't make use of stdlib classes which are implemented in libcpp?

floooh,
@floooh@mastodon.gamedev.place avatar

@kkukshtel yeah I guess, AFAIK Dear ImGui is very conservative about C++ stdlib features, so I guess it works without linking libc++

  • All
  • Subscribed
  • Moderated
  • Favorites
  • provamag3
  • kavyap
  • DreamBathrooms
  • osvaldo12
  • magazineikmin
  • InstantRegret
  • everett
  • Youngstown
  • ngwrru68w68
  • slotface
  • rosin
  • GTA5RPClips
  • tester
  • PowerRangers
  • anitta
  • thenastyranch
  • mdbf
  • ethstaker
  • cisconetworking
  • Durango
  • vwfavf
  • normalnudes
  • tacticalgear
  • khanakhh
  • modclub
  • cubers
  • Leos
  • megavids
  • All magazines