@dougbinks@mastodon.gamedev.place
@dougbinks@mastodon.gamedev.place avatar

dougbinks

@dougbinks@mastodon.gamedev.place

Gamedev, making Avoyd Voxel Editor & Game with and open source tech with https://mastodon.gamedev.place/@juulcat.

https://www.enkisoftware.com/about#dougbinks

Runtime Compiled C++, enkiTS, ex-physicist ex-AAA. He/Him.

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

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

@bwrensch I've updated the beta, and there's a hidden option for the .vox exporter in in the Documents/Avoyd/user.cfg config file. This is a text json file and if you search for ConstrainToMagicaVoxelSizeLimitations you can set it to false.

Currently this will produce garbage output if the file size would end up over 4GB, as the ogt_vox.h library I use uses a 32bit buffer size - but I'll fix that later.

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

Annoying that in Vulkan compute I can't easily get hold of the optimal minimum number of invocations
of a shader to run.

Subgroup functionality gives us the SIMD lane width with subgroupSize (see https://www.khronos.org/blog/vulkan-subgroup-tutorial by @neilhenning ), but as far as I am aware there's no easy way to get the number of subgroups which can run simultaneously.

For many applications this doesn't mater, but in some cases it's really useful to know.

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

It's interesting that with all the discussions of game engines recently no one mentioned O3DE https://o3de.org/ (CryEngine > Amazon Lumberyard > O3DE).

It's a Linux Foundation Project (via the Open 3D Foundation), and the Github seems fairly active https://github.com/o3de/o3de

I don't know what that means as far as support for the project, though it appears there are non-engineeering staff members.

I don't know of any games which have been released using it though.

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

It's going to be interesting to see how Windows ARM pans out, and whether gamedevs targeting Windows now have another platform to worry about - considering changing our 'for Windows' info to 'for Windows x64' or something.

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

I was just looking at zstd project and was surprised at how many files there now are, and how complex building it looks to be.

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

I mentioned earlier that I'd love a single toggle to turn off Visual Studio C++ auto-formatting my code, but it now appears that I can't even turn it off by toggling lots of options.

Some options only have a choice of how to format, none of which are 'leave alone' and none are what I want.

Getting very tired of formatting everything by hand multiple times as every minor change triggers auto-format to format incorrectly.

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

A good reason to use colour rather than color in your code is that colour has the same number of letters as both albedo and normal so you can align your code better.

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

Our payment provider Fastspring has hit us with a $150 hidden charge for 'Risk Screening' despite having used them for over five years.

We're considering moving to BMTMicro or another provider. Anyone have recommendations for a provider which can:

  • Be Merchant of Record (i.e. handle local taxes such as VAT etc.).
  • Allow us to handle Key generation (preferably via API but upload also OK).
  • Provide VAT receipt to customers (our product Avoyd is also for commercial use).
dougbinks, (edited ) to random
@dougbinks@mastodon.gamedev.place avatar

I've been using Linux since it was first practically available (early 90's), UNIX before that, a variety of other OSs including UNIX derived NeXTSTEP, and I can genuinely say that Windows has many advantages and continues to do so.

Whilst part of the advantage comes from being the primary OS (for games, 96.76% market share on Steam), some comes from its feature set.

Most programs which work continue to do so (I have a 25 year old game I made, for which the installer and game still work).

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

We're making progress with the GPU path tracer in our Avoyd Voxel Editor, now with decent performance on both AMD and NVIDIA discrete GPUs (I've not yet been able to test Intel).

For now we're disabling spirv-opt in our shader build pipeline due to it causing a >4x hit to performance on older AMD GPUs.

If you own Avoyd then do try out the latest Beta.

https://www.enkisoftware.com/t/6266014494883840

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

@bwrensch FYI The Avoyd .vox export latest beta will now not produce corrupt files if there is a 32bit overflow & give you an error, plus you can control the model size. So should be better for your needs.

Docs: https://www.avoyd.com/avoyd-voxel-editor-documentation.html#Export

Splitting things up into separate .vox files will take a bit longer since it needs different code.

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

Some time ago we changed the URL for the images on our website.

Since then we've noticed we get lots of requests for the old URLs. When aggregated these are the most common requests to our site. The requests don't seem to make sense from the perspective of someone browsing an old downloaded html file, as they are out of order & fetched at odd rates.

I presume these are part of an AI training set, so on top of all the harms AI is doing you can add website costs & a slower internet.

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

Quick test render of clouds imported from https://visibleearth.nasa.gov/images/57747/blue-marble-clouds (I used the 21600x21600 png) as a heightmap with height 64, using the Cloud: white heavy material. Rendered from above in Avoyd Voxel Editor.

Useful for creating skies for renders, image use policy on their site is 'freely available for re-publication or re-use, including commercial purposes'.

dougbinks, to GraphicsProgramming
@dougbinks@mastodon.gamedev.place avatar

My Avoyd GPU path tracer is getting closer to release. Recently I used my enkiTS tasking system to create the GPU resources so I could display a progress bar.

For models which filled the GPU device local memory & spilled to CPU host memory this caused a device lost error.

I had made the shader + pipeline creation parallel to buffer creation. Forcing shader + pipeline first fixed this. I'm guessing that running out of device memory prior to pipeline creation isn't a good idea.

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

As a dyslexic the subject:

"Your bank account will be
debited soon"

reads like:

"Your bank account will be
deleted soon"

thus inducing a moment of panic pretty much every month before both recollection of prior panics and the eventual recognition of the actual word kick in.

I guess 'delete' has a higher priority than 'debit' in my recognition filters, makes sense.

dougbinks, (edited ) to random
@dougbinks@mastodon.gamedev.place avatar

I recently did some work on improving the import/export of emissive materials in Avoyd to/from @ephtracy's .vox format and whilst doing so saw this interesting pattern during rendering.

I've not tried to reverse engineer the MagicaVoxel rendering (Avoyd uses standard unidirectional path tracing), but this has me intrigued as to the algorithm and whether it's been written about anywhere.

Note: voxel emission increases by a factor of 10 each voxel from top (darkest) to bottom (brightest).

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

Optimizing compute output buffer write pattern. What could go wrong?

dougbinks, (edited ) to random
@dougbinks@mastodon.gamedev.place avatar

Follow up blog post to my query about what payment providers people use after ours decided to charge a hidden fee, talking about our transition to @itchio

Perhaps we should have called this "So long, and thanks for all the phish".

https://www.enkisoftware.com/devlogpost-20231222-1-Moving-from-FastSpring-to-Itch.io-as-a-Payment-Provider

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

I really wish there is a way to turn off auto-formatting with one click in Visual Studio.

Visual Studio 2022 has so many options that I'm struggling to turn them all off, and since I work on multiple projects all with different coding standards I'd rather it was just off entirely.

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

I should probably invert my normal research approach for fast algorithms from.

  1. I search the internet for information.
  2. I read @rygorous' blog.

This time it's for fast blurs.

https://fgiesen.wordpress.com/2012/08/01/fast-blurs-2/

dougbinks, to Minecraft
@dougbinks@mastodon.gamedev.place avatar
dougbinks, to Minecraft
@dougbinks@mastodon.gamedev.place avatar

Took a break from improvements to the GPU path tracer to test making a stylized volcanic eruption using the Minecraft map the Continent of Lisrina by Dannypan.

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

I'm converting the non-full voxel path tracer from CPU to GPU (the full voxel case already works), and have reached the point where I have pixels on the screen.

Lots of debugging to do to get from the first image to the second!

The Avoyd Voxel Editor with a path traced render on the CPU of a Camper van. The render has transparent windows, metallic reflections on the mirrors and hubcaps, and emissive lights.

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

Early testing on users PCs of Avoyd's Vulkan GPU path tracer is showing a roughly 10x slower performance on AMD than on a comparable NVIDIA GPU.

It seems @gpuopen's Radeon GPU Profiler doesn't support the latest AMD GPU I have (R9 Nano, GCN 3).

Does anyone know if there is an AMD dev support cloud access program or similar I could test on? Meanwhile I'll see if the Radeon GPU Analyzer can help.

https://mastodon.gamedev.place/@dougbinks/111766243276611263

dougbinks, to random
@dougbinks@mastodon.gamedev.place avatar
  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • khanakhh
  • ngwrru68w68
  • mdbf
  • tacticalgear
  • Youngstown
  • rosin
  • slotface
  • Durango
  • kavyap
  • everett
  • thenastyranch
  • InstantRegret
  • DreamBathrooms
  • JUstTest
  • magazineikmin
  • anitta
  • GTA5RPClips
  • modclub
  • cisconetworking
  • cubers
  • osvaldo12
  • ethstaker
  • provamag3
  • normalnudes
  • Leos
  • tester
  • lostlight
  • All magazines