Home Artists Posts Import Register

Content

I've added a tex_compiler_constraint cvar. It allows the negative error diffusion to be fractionally clamped before the value scaling constraint is applied to the color channels.

Values between 0.67 and 0.96 eliminates the glitchy diffusion overflow in most cases, while not sacrificing smoothness much. Setting it to zero goes back to the full lossless error difusion behavior, while setting it to 1 makes negative error diffusion to be fully lossy.

I only applied this to negative error diffusion because it seems to be enough. Positive error diffusion is still lossless in all cases.

Fully lossy negative error diffusion does have an impact on image quality, making it less smooth and more prone to color banding artifacts.

Fully lossless negative error diffusion is prone to overflow glitches in 24-bit colors that are too different from the ones in the palette being used (the Quake palette has a very limited variety of hues and saturations), but has a much smoother quality when using palettes with very balanced colors (e.g. the original palette I've created).

The cvar tex_compiler_constraint works for both textures and skyboxes, so it will benefit textures too.

The best setting varies depending on the image being compiled, but I'll likely default it to either 0.80 or 0.96.

I'll do some more testing, but it seems that the engine is ready for a public release. The public release will be similar to the 0.1.0 release, in an archive with precompiled textures, custom assets, pre-set configurations, and the shareware episode of Quake. The only exception will be the "mankrip demo", which will not be included.

Files

Comments

No comments found for this post.