Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RENDERER: Add support for skywind. #978

Merged
merged 1 commit into from
Dec 29, 2024
Merged

Conversation

dsvensson
Copy link
Collaborator

Feature available in the SP community. Ported mostly verbatim from the IronWail engine. Partial cubemap alpha which gets blended with itself to create the illusion of a moving sky. Quite hypnotizing.

To simplify tuning of the skybox the following commands are included in the port:

  • /skywind
  • /skywind_save
  • /skywind_load
  • /skywind_lookdir
  • /skywind_rotate

If a config file named $skyboxname_wind.cfg in the same directory as the skybox is found, it's automatically loaded and configures the sky.

Implemented for both modern and classic renderers.

@dsvensson dsvensson force-pushed the skywind branch 2 times, most recently from 6d990d4 to 621f05a Compare December 26, 2024 23:20
Feature available in the SP community. Ported mostly verbatim from
the IronWail engine. Partial cubemap alpha which gets blended with
itself to create the illusion of a moving sky. Quite hypnotizing.

To simplify tuning of the skybox the following commands are included
in the port:

* /skywind
* /skywind_save
* /skywind_load
* /skywind_lookdir
* /skywind_rotate

If a config file named $skyboxname_wind.cfg in the same directory as
the skybox is found, it's automatically loaded and configures the sky.

Implemented for both modern and classic renderers.
return true;
}

void R_SkyRegisterCvars(void)
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bad name, no cvars in sight

@@ -208,7 +232,7 @@ static qbool Sky_LoadSkyboxTextures(const char* skyname)
fixed_size = size;

if (i == 0) {
skybox_cubeMap = R_CreateCubeMap("***skybox***", size, size, TEX_NOCOMPRESS | TEX_MIPMAP | TEX_NOSCALE);
skybox_cubeMap = R_CreateCubeMap("***skybox***", size, size, TEX_NOCOMPRESS | TEX_MIPMAP | TEX_NOSCALE | TEX_ALPHA);
Copy link
Collaborator Author

@dsvensson dsvensson Dec 27, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is mostly the only impact of this feature. Skyboxes will be 4bpp instead of 3bpp going forward. Uses a bit more GPU memory, but people who care about GPU memory likely disable skyboxes and are thus not affected by this, and it's not like it's a huge difference. However, making it optional would be less intuitive as it's not known if there's a skywind config available or not at this point.

@tcsabina tcsabina merged commit 9a79c98 into QW-Group:master Dec 29, 2024
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants