nvidia / q2rtx Goto Github PK
View Code? Open in Web Editor NEWNVIDIA’s implementation of RTX ray-tracing in Quake II
License: Other
NVIDIA’s implementation of RTX ray-tracing in Quake II
License: Other
Q2RTX 1.2.0 - tried both direct and steam versions. It doesnt "crash" it just says the program has stopped responding, and my options are to close or wait.
In the console.log, the last lines say:
[2019-11-29 23:13] Picked physical device 0: GeForce RTX 2080 SUPER
[2019-11-29 23:13] NVIDIA GPU detected. Driver version: 445.23
[2019-11-29 23:13] warning: could not load function vkDebugMarker
nothing after that. Never had an AMD graphics card in the system to have the wrong vulkan driver. Ran the AMD driver cleanup tool anyways, to no avail.
Manually installed vulkan runtime and OpenAL, that didn't help either.
Any other suggestions?
If you leave a level with greater than your normal maximum health - because you've picked up some of the single-unit health packs, for example - your health gets reset down to the maximum health (100 + n adrenalines) instead. This is obviously incorrect behaviour.
I will start by saying that I'm no programmer so bear with me if I sound like a noob, I am.
I've noticed that the exposure compensation is incorrectly affecting the particle sprites (?), an effect that is especially noticeable with big sprites such as those of the BFG or explosions which become washed out instead of actually dimming in the more exposed areas.
I suppose this is due to the images having a low dynamic range and the highlights being overexposed in the first place, so when the exposure goes down the highlights simply become grey instead of getting smaller as it would happen in reality.
I imagine it would be hard/impractical to use HDR images for those sprites but I wonder if they can be excluded from the exposure compensation. Here is an image showing what I see and what I would expect: https://imgur.com/a/0ab24wE (2nd and 3rd image, please ignore the colored blobs, it's an experimental fork but the issue is the same in the original).
The light proxies used in sample_light_list often aren't a great approximation of the corresponding lights. To demonstrate this, I have taken two reference mode screenshots using pt_bump_scale 0 and pt_roughness_override 0.02:
Reflections using the light list proxies (forced via pt_direct_roughness_threshold 0):
Reflections using the actual emissive maps (through indirect bounce specular):
The proxies are good enough for importance sampling, but it may make sense to sample the emissive texture to get the actual light color to return. Whether that's done or not, it would probably make sense to change the proxy sizes to better match the dimensions of the emissive portions of the corresponding lights (assuming this can be done without too much difficulty, I haven't looked much into the relevant code yet).
(this thread originally concerned both the OST and cutscenes, but has been renamed so they can be split in two separate issues)
Hello! I'd love to experience a casual playthrough of Quake II with RTX enabled. However, Q2RTX does not feature cutscenes (despite them showing in the trailer) or any kind of music.
Would it be possible to implement the playback for those two things in Q2RTX?
Something i noticed today and i'm not sure whether it's the tech limitation or a bug where having line of sight on transparent object through another transparent object will fail to render the second object.
Water pool is visible when viewed directly.
Water pool is entirely invisible when viewed through glass panel.
Another example with glass planel positioned between first panel and the pillar.
Pillar behind second panel is visible whilst panel itself is not.
It seems it hasn't been done?
I've noticed that for most people on the forums who claim the game doesn't boot, the core issue is absence of some Vulkan dependency that appears to not be included in driver or is only solved with a clean driver install. This causes crashes before the game does check on driver version to even inform them they need a newer one.
I'm not entirely sure since i'm not affected but perhaps including Vulkan SDK / runtime as part of initial Steam "first boot setup" would provide all of the missing bits?
Also while we're speaking about dependencies, from what i've noticed from console logs and random footage - fair amount of people run the game in software audio mode because they lack OpenAL or it fails to initialize, thankfully the client is smart enough to switch to software mode if it fails to initialize OpenAL, but nevertheless - ugh, it's software mode.
Including OpenAL installer as part of initial Steam setup would probably greatly help mitigate such cases (an even better option would be to ship the project with installer to make sure OpenAL gets all of its dependencies and provide precompiled binary of OpenAL Soft which unlike original OpenAL is still maintained and is overall just better).
The operation performed on primary_specular at line 545 of direct_lighting.rgen results in NaN in the rare case where NoV is 1 (normal == direction). Under most circumstances Q2RTX quickly recovers from this error, but when the reference path tracing mode is active the affected pixel turns black and remains black forever.
In my local fork I've fixed this by adding an if (NoV < 1)
check.
Will the following patches support the additions of Ground Zero and The Reckoning? And how to restore the video cut scenes that were in the original Quake 2? Weapon models were made poorly, especially blaster, super shotgun, chaingun, hyperblaster, railgun, bfg9000. They shine too much, as if oiled. And new weapon models are poorly made. Original weapon models were better. And what other corrections and additions are planned to be done in the near future for Quake 2 RTX?
By default it seems that laser beams don't behave like light sources at all, only exception is the player railgun beam.
As a test i tried porting over this behavior to all laser beams and got something like this:
https://streamable.com/87v3g
It works and in general is better than not having them at all (at least IMO) though it obviously means running into 32 dynamic lights limit in nearly every instance.
To work around that i made the lights spawn only if they're within 300 units of the camera.
There may be a better way of achieving this or at least i would hope so as having them emit lights makes them less shallow looking.
Not a bug, but a suggestion. In my local fork I swapped the indirect specular importance sampling to the VNDF sampling method described in this paper: http://jcgt.org/published/0007/04/01/paper.pdf . This resulted in an immediately apparent improvement in the appearance of indirect specular at low sample counts. The code I used is this:
brdf.glsl:
float G1_Smith(float roughness, float NdotL)
{
float alpha = square(max(roughness, 0.02));
return 2.0 * NdotL / (NdotL + sqrt(square(alpha) + (1.0 - square(alpha)) * square(NdotL)));
}
vec3 ImportanceSampleGGXVNDF(vec2 u, float roughness, vec3 Ve)
{
float alpha = square(roughness);
vec3 Vh = normalize(vec3(alpha * Ve.x, alpha * Ve.y, Ve.z));
float lensq = square(Vh.x) + square(Vh.y);
vec3 T1 = lensq > 0.0 ? vec3(-Vh.y, Vh.x, 0.0) * inversesqrt(lensq) : vec3(1.0, 0.0, 0.0);
vec3 T2 = cross(Vh, T1);
float r = sqrt(u.x);
float phi = 2.0 * M_PI * u.y;
float t1 = r * cos(phi);
float t2 = r * sin(phi);
float s = 0.5 * (1.0 + Vh.z);
t2 = (1.0 - s) * sqrt(1.0 - square(t1)) + s * t2;
// Tangent space H
vec3 Nh = t1 * T1 + t2 * T2 + sqrt(max(0.0, 1.0 - square(t1) - square(t2))) * Vh;
return vec3(alpha * Nh.x, max(0.0, Nh.z), alpha * Nh.y);
}
indirect_lighting.rgen:
mat3 basis = construct_ONB_frisvad(normal);
vec3 N = normal;
vec3 V = direction;
vec3 H = normalize(basis * ImportanceSampleGGXVNDF(rng3, primary_roughness, -vec3(dot(V, basis[0]), dot(V, basis[2]), dot(V, basis[1]))));
vec3 L = reflect(V, H);
float NoL = max(0.0, dot(N, L));
float NoV = max(0.0, -dot(N, V));
if (NoL > 0.0 && NoV > 0.0)
{
float G = G1_Smith(primary_roughness, NoL);
// Incident light = SampleColor * NoL
// Microfacet specular = D*G*F / (4*NoL*NoV)
// pdf = D * NoH / (4 * VoH)
bounce_throughput *= G;
bounce_throughput *= 1.0 / specular_pdf;
is_specular_ray = true;
bounce_direction = L;
}
(The added NoV > 0 condition is required - for a while I was getting subtly different results with this importance sampling in reference mode, until I eventually figured out that this was due to me having excluded this condition)
EDIT: Oh, I stopped using the Schlick approximation for the G term a while back, hence the form of my G1_Smith function. Obviously the formula used should be consistent with the one used in the G_Smith_over_NdotV function.
A couple of things with the direct light calculations in get_direct_illumination and get_sunlight in path_tracer_rgen.h:
In both functions, the diffuse term is (correctly) multiplied by NdotL. However, since this is done before multiplication by the specular term, the latter ends up multiplied by that cosine as well, which I don't think is correct. I realized this after noticing that specular highlights on surfaces with roughness <= pt_direct_roughness_threshold - 0.02 were disproportionately brighter than those on surfaces with roughness >= pt_direct_roughness_threshold + 0.02. Changing the code so NdotL only affects diffuse but not specular corrects this inconsistency.
I'm less sure about this, but shouldn't the diffuse (but not the specular of course) term in each function be divided by pi (lambertian scale factor)?
in Ubuntu 19.10 after compiling the game and attempting to play it i got the following error:
Q2RTX/src/refresh/vkpt/vk_util.c:152: buffer_map: Assertion `buf->memory != VK_NULL_HANDLE' failed.
$ ./q2rtx
------- FS_Init -------
Current search path:
/home/biel/.quake2rtx/baseq2
/mnt/0ce2dc47-e5f3-4d52-b2a4-7f505d5ea2c5/SteamLibrary/steamapps/common/Quake II RTX/baseq2
/mnt/0ce2dc47-e5f3-4d52-b2a4-7f505d5ea2c5/SteamLibrary/steamapps/common/Quake II RTX/baseq2/shaders.pkz (39 files)
/mnt/0ce2dc47-e5f3-4d52-b2a4-7f505d5ea2c5/SteamLibrary/steamapps/common/Quake II RTX/baseq2/q2rtx_media.pkz (4044 files)
/mnt/0ce2dc47-e5f3-4d52-b2a4-7f505d5ea2c5/SteamLibrary/steamapps/common/Quake II RTX/baseq2/blue_noise.pkz (258 files)
/mnt/0ce2dc47-e5f3-4d52-b2a4-7f505d5ea2c5/SteamLibrary/steamapps/common/Quake II RTX/baseq2/pak0.pak (1106 files)
1106 files in PAK files
4341 files in PKZ files
-----------------------
Logging console to logs/console.log
Execing default.cfg
Execing q2rtx.cfg
------- S_Init -------
OpenAL initialized.
No Ogg Vorbis music tracks have been found, so there will be no music.
----------------------
mode changed 1920 1080
Loaded 'materials.csv' (fast search = true)
----- init_vulkan -----
Available Vulkan layers:
VK_LAYER_VALVE_steam_overlay_64
VK_LAYER_VALVE_steam_fossilize_32
VK_LAYER_VALVE_steam_fossilize_64
VK_LAYER_VALVE_steam_overlay_32
VK_LAYER_KHRONOS_validation
VK_LAYER_LUNARG_monitor
VK_LAYER_MESA_overlay
VK_LAYER_LUNARG_device_simulation
VK_LAYER_LUNARG_screenshot
VK_LAYER_LUNARG_vktrace
VK_LAYER_LUNARG_api_dump
VK_LAYER_LUNARG_standard_validation
Vulkan instance extensions required by SDL2:
VK_KHR_surface
VK_KHR_xlib_surface
Supported Vulkan instance extensions:
VK_KHR_device_group_creation (requested)
VK_KHR_display
VK_KHR_external_fence_capabilities
VK_KHR_external_memory_capabilities
VK_KHR_external_semaphore_capabilities
VK_KHR_get_display_properties2
VK_KHR_get_physical_device_properties2
VK_KHR_get_surface_capabilities2
VK_KHR_surface (requested)
VK_KHR_surface_protected_capabilities
VK_KHR_wayland_surface
VK_KHR_xcb_surface
VK_KHR_xlib_surface (requested)
VK_EXT_acquire_xlib_display
VK_EXT_debug_report (requested)
VK_EXT_direct_mode_display
VK_EXT_display_surface_counter
VK_EXT_debug_utils (requested)
Physical device 0: GeForce RTX 2060 SUPER
Max number of allocations: -1
Supported Vulkan device extensions:
VK_KHR_8bit_storage
VK_KHR_16bit_storage
VK_KHR_bind_memory2
VK_KHR_create_renderpass2
VK_KHR_dedicated_allocation
VK_KHR_depth_stencil_resolve
VK_KHR_descriptor_update_template
VK_KHR_device_group
VK_KHR_draw_indirect_count
VK_KHR_driver_properties
VK_KHR_external_fence
VK_KHR_external_fence_fd
VK_KHR_external_memory
VK_KHR_external_memory_fd
VK_KHR_external_semaphore
VK_KHR_external_semaphore_fd
VK_KHR_get_memory_requirements2
VK_KHR_image_format_list
VK_KHR_imageless_framebuffer
VK_KHR_maintenance1
VK_KHR_maintenance2
VK_KHR_maintenance3
VK_KHR_multiview
VK_KHR_pipeline_executable_properties
VK_KHR_push_descriptor
VK_KHR_relaxed_block_layout
VK_KHR_sampler_mirror_clamp_to_edge
VK_KHR_sampler_ycbcr_conversion
VK_KHR_shader_atomic_int64
VK_KHR_shader_draw_parameters
VK_KHR_shader_float16_int8
VK_KHR_shader_float_controls
VK_KHR_storage_buffer_storage_class
VK_KHR_swapchain
VK_KHR_swapchain_mutable_format
VK_KHR_timeline_semaphore
VK_KHR_uniform_buffer_standard_layout
VK_KHR_variable_pointers
VK_KHR_vulkan_memory_model
VK_EXT_blend_operation_advanced
VK_EXT_buffer_device_address
VK_EXT_calibrated_timestamps
VK_EXT_conditional_rendering
VK_EXT_conservative_rasterization
VK_EXT_depth_clip_enable
VK_EXT_depth_range_unrestricted
VK_EXT_descriptor_indexing
VK_EXT_discard_rectangles
VK_EXT_display_control
VK_EXT_fragment_shader_interlock
VK_EXT_global_priority
VK_EXT_host_query_reset
VK_EXT_index_type_uint8
VK_EXT_inline_uniform_block
VK_EXT_line_rasterization
VK_EXT_memory_budget
VK_EXT_pci_bus_info
VK_EXT_pipeline_creation_feedback
VK_EXT_post_depth_coverage
VK_EXT_sample_locations
VK_EXT_sampler_filter_minmax
VK_EXT_scalar_block_layout
VK_EXT_separate_stencil_usage
VK_EXT_shader_demote_to_helper_invocation
VK_EXT_shader_subgroup_ballot
VK_EXT_shader_subgroup_vote
VK_EXT_shader_viewport_index_layer
VK_EXT_subgroup_size_control
VK_EXT_texel_buffer_alignment
VK_EXT_transform_feedback
VK_EXT_vertex_attribute_divisor
VK_EXT_ycbcr_image_arrays
VK_NV_clip_space_w_scaling
VK_NV_compute_shader_derivatives
VK_NV_cooperative_matrix
VK_NV_corner_sampled_image
VK_NV_dedicated_allocation
VK_NV_dedicated_allocation_image_aliasing
VK_NV_device_diagnostic_checkpoints
VK_NV_fill_rectangle
VK_NV_fragment_coverage_to_color
VK_NV_fragment_shader_barycentric
VK_NV_framebuffer_mixed_samples
VK_NV_coverage_reduction_mode
VK_NV_geometry_shader_passthrough
VK_NV_mesh_shader
VK_NV_sample_mask_override_coverage
VK_NV_representative_fragment_test
VK_NV_scissor_exclusive
VK_NV_shader_image_footprint
VK_NV_shader_sm_builtins
VK_NV_shader_subgroup_partitioned
VK_NV_shading_rate_image
VK_NV_viewport_array2
VK_NV_viewport_swizzle
VK_NVX_binary_import
VK_NVX_device_generated_commands
VK_NVX_image_view_handle
VK_NVX_multiview_per_view_attributes
VK_NV_ray_tracing
Picked physical device 0: GeForce RTX 2060 SUPER
warning: could not load function vkDebugMarkerSetObjectNameEXT
-----------------------
Screen-space image memory: 651.62 MB
Maximum recursion depth: 31
Shader group handle size: 16
SDL mouse initialized.
====== Quake II RTX initialized ======
q2rtx 1.3.0-711e686, Dec 21 2019
mode changed 1920 1080
]q2rtx: /home/biel/games/src/Q2RTX/src/refresh/vkpt/vk_util.c:152: buffer_map: Assertion `buf->memory != VK_NULL_HANDLE' failed.
any idea what might be failing?
On the maps base3, jail1, jail2, jail3, jail5, lab the sounds of monsters disappear, doors open, gun shots, grenade explosions, etc. It is possible that other cards also have problems with sound. In Quake 2 RTX version 1.1.0 everything worked fine.
The grates texture shown here from the first level (and other levels) appears to have a number of random colored texels inside the black areas. The above screenshot shows only the albedo channel to best demonstrate the issue, but it's visible under the in-game lighting conditions as well. Note that when I opened textures\e1u1\grate 1_4.tga (which I think is the correct texture) in an image-viewing program I found the colored texels to be impossible to see even when zoomed in, but examining the raw RGB values showed that they were still present.
Are there any plans to document map making and modding/textures/materials for this build of the q2 engine? Not really an issue this just makes me want to get back into mapping and modding and any documentation that we could get would help take the guess work out of things
make driver opensource
In one of the announcement articles for Quake 2 RTX it was said that there would be
optional NVIDIA Flow fire, smoke and particle effects
As far as I can tell, that hasn't made it into the release.
Those chunky 3D explosions and impact-smoke effects that Quake 2 uses could look a whole lot better if they used something like that instead. The same is true of the particle trails from the weapons.
The projectiles themselves for the blaster and hyperblaster could also be significantly better than the opaque rods they were initially implemented as in 1997.
On line 622 of src/baseq2/g_spawn.c, replacing
if (nomonsters->value && strstr(ent->classname, "monster")) {
with
if (nomonsters->value && (strstr(ent->classname, "monster") || strstr(ent->classname, "misc_deadsoldier") || strstr(ent->classname, "misc_insane"))) {
means that the corpses and insane soldiers are removed, along with the enemies, when using nomonsters 1.
I needed to do this with my own copy, and thought that it might be useful for someone else wanting to achieve the same thing.
We are using vkUpdateDescriptorSetWithTemplate for all our descriptor updates. I was wondering if it is possible to use it for acceleration structures.
When I tried, it was crashing. I was passing the VkAccelerationStructureNV pointer as the pData.
VkAccelerationStructureNV acceleration_structure = m_AccelerationStructure->m_Handle;
vkUpdateDescriptorSetWithTemplate(...., acceleration_structure); // Crash
void* handle = NULL;
vkGetAccelerationStructureHandleNV(vk_device, acceleration_structure, sizeof(acceleration_structure), &handle);
vkUpdateDescriptorSetWithTemplate(...., handle); // Also Crashes
Hey,
Just why?!
Steam: This item is currently unavailable in your region
Official NVIDIA Page: "Game Over DIE MISSION, DIESE SEITE AUFZURUFEN, IST GESCHEITERT."
So then why this GitHub repo is not region locked like other sites?
Regards,
TheAifam5
Due to floating point fun, when NoV is calculated on line 539 of direct_lighting.rgen it can very rarely come out very slightly greater than 1. When this happens, it can cause a NaN result in the following computations. Under most circumstances Q2RTX quickly recovers from this error, but when the reference path tracing mode is active the affected pixel turns black and remains black forever.
In my local fork, I've fixed this by replacing the NoV computation with:
float NoV = clamp(-dot(normal, direction), 0, 1);
The full build instructions aren't complete, for Linux at least.
git clone --recursive https://github.com/NVIDIA/Q2RTX.git
cd Q2RTX/
mkdir build
cd build/
cmake ..
cmake --build .
are the commands you'll need. Note that it's Q2RTX, not q2rtx as it currently says in the Readme, and the cmake ..
is not specified but is crucial.
Also, the minimum version of Ubuntu should be Ubuntu 16.04; there isn't an Ubuntu 16 - the format is year.month.
Since the media files are critical to having the game run, and they're right here on github, linking to them should be done in the readme, and it could be made clearer that they go in Q2RTX/baseq2.
I'm sure this isn't a priority, but would it be possible to implement controller support (for the player, not the sun). Or is there a way to bind it in the config?
Thanks.
using vs2019
Im getting compilation error while building.
Q2RTX/src/refresh/vkpt/shader/asvgf_lf.comp:156: 'format' : image formats must match
I followed the build instructions, what could this be?
Says's Couldn't initialize Vulkan.
Running on RTX 2060, Ryzen 5 2600 and 16 gig RAM
When I launch q2rtx, I get an error message:
]X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 154 (GLX)
Minor opcode of failed request: 3 (X_GLXCreateContext)
Value in failed request: 0x0
Serial number of failed request: 83
Current serial number in output stream: 84
AL lib: (EE) alc_cleanup: 1 device not closed
Specs:
Core i7
GTX 1050 (with nvidia-418)
Ubuntu 1804
Hi everyone,
This year at SIGGRAPH, I will be giving a talk about lighting in Quake II RTX. The talk will include details about importance sampling of polygonal lights, geometry processing, and sky lighting.
Wednesday, July 31st, 2019, 9:00 AM:
https://www.nvidia.com/en-us/events/siggraph/schedule/?talkid=sig201973101
Slides and session recording should be available later.
Also, if you'll be at SIGGRAPH on Tuesday evening or on Wednesday and want to talk about something Q2 related, you can send me an email: alpanteleev @ nvidia . com
-- Alexey Panteleev
Lead engineer of Q2RTX
As Q2RTX is based on Q2PRO, support for game cutscenes is not present. Would it be feasible to implement them in order to allow those like me who would like to play through the game casually with insight of what's happening in the story?
The new Steam Library interface is rolling out now, with different-sized images to before. Q2RTX doesn't yet have images of the appropriate size for the new interface.
Details of the requirements are here.
Vulkan error: /home/linux64/.local/share/Steam/ubuntu12_32/steamoverlayvulkanlayer.so: wrong ELF class: ELFCLASS32
Vulkan error: /home/linux64/.local/share/Steam/ubuntu12_32/libVkLayer_steam_fossilize.so: wrong ELF class: ELFCLASS32
Fossilize INFO: Overriding serialization path: "/home/linux64/.local/share/Steam/steamapps/shadercache/1089130/fozpipelinesv4/steamapprun_pipeline_cache".
Received signal 11, aborting
Native game demo version (via Proton also fails)
Nvidia driver 440.36
Fedora 31 fully updated
Will look into this further.
in Ubuntu 19.10 with cmake I got the following compiling error:
[ 84%] Building C object src/CMakeFiles/client.dir/refresh/vkpt/bsp_mesh.c.o /home/biel/games/src/Q2RTX/src/refresh/vkpt/bsp_mesh.c:28:10: fatal error: tinyobj_loader_c.h: El fitxer o directori no existeix 28 | #include <tinyobj_loader_c.h> | ^~~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [src/CMakeFiles/client.dir/build.make:2209: src/CMakeFiles/client.dir/refresh/vkpt/bsp_mesh.c.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:643: src/CMakeFiles/client.dir/all] Error 2 make: *** [Makefile:130: all] Error 2
Quake 2 has a Famous Soundtrack all in time. Please add FLAC/WAVE Support for Lossless. Personally, i dont like OGG/MP3.
pt_fake_roughness_threshold = 1 is the 'reference' value used, and the value at which the fake specular is no longer computed in asvgf_atrous.comp. However, fake_specular_weight = smoothstep(1 - 0.05, 1 + 0.05, roughness) will still be nonzero for roughness > 0.95. In my local fork I've fixed this by replacing the two instances of this computation (one in indirect_lighting.rgen, one in asvgf_atrous.comp) with
float fake_specular_weight = smoothstep(
global_ubo.pt_fake_roughness_threshold,
global_ubo.pt_fake_roughness_threshold + 0.1,
roughness);
This bug goes back to the initial release of Quake 2.
When the player drowns, the game requests "drown1.wav"
Line 647 in 441bf80
This line could instead play drown.wav if the player is female.
There may be some other sounds like this; this is the one that I noticed.
Both images were taken with pt_num_bounce_rays 1, flt_scale_spec 0 and flt_scale_lf 0, with the time of day set to noon (so the sun is directly overhead). The only difference is that the second image uses pt_bump_scale 0. Furthermore, adding a line to get_material which replaces the normal with the geo_normal when the normal is backfacing (dot(normal, geo_normal) < 0) has more or less the same effect as pt_bump_scale 0.
After dying, on levels with multiple separate maps, reloading the autosave often puts you in the wrong area. This can lead either to a game-breaking bug (not being able to get past a door you haven't unlocked yet) or to skipping big sections of the level.
I assumed this was a problem with Quake 2, not the nvidia version, but others think it is this version only that has this problem.
More info:
https://steamcommunity.com/app/1089130/discussions/0/1636410430549717402/
Every 3 seconds my game stutters. This freeze can last a little over a quarter of a second. While tracking down the issue I found out that it was a problem with SDL2 and has already been resolved 2 months ago upstream. spurious/SDL-mirror@59728f9
I have validated that this fix does indeed stop the stuttering I am getting. Could you please bump the version of SDL2 that is being used to at least a version including that commit? The constant stuttering makes the game almost unplayable.
This is how it should look, and how it looks with the build I did a few days ago.
This is how it looks with the build I did today
and this is how it looks after changing the renderer to OpenGL and back to RTX (a vid_restart has the same effect)
Something peculiar has happened in the last couple of days. Also note that there's some kind of graph by default.
A few things in indirect_lighting.rgen.
The condition on line 104 as with other SH-related things should probably include an && global_ubo.flt_enable != 0
.
When low_freq is updated at lines 299-304, The SH version of the update should be wrapped in an #if ENABLE_SH
... #endif
.
I may be missing something here, but when low_freq is updated on line 300, should it really be multiplied by dot(bounce_direction, normal)
? For lambertian diffuse reflectance, the output should be light * cos(theta_i) / PI, but the pdf is also cos(theta_i) / PI when theta_i is generated from a cosine-weighted distribution (line 112), so shouldn't the two cancel out?
In multiple monitor setups geometry is hardcoded to only query monitor number 0, and hardcoded to reset window location to x:0 y:0, ignoring system primary monitor settings, this causes q2rtx to open fullscreen on the incorrect monitor on many layouts with no way to change which monitor it opens on. Bug is centered in VID_GetFullscreen in refresh.c and the SetMode functions in SDL2's video.c
Steam thread of issue here with temporary workaround https://steamcommunity.com/app/1089130/discussions/0/1754646083691358061/?tscn=1575797213
On Linux, music only works if the ogg files are in ~/.quake2rtx/baseq2/music
, not in <Quake II Install Directory>/baseq2/music
.
The game has sprite explosions. They look wrong when viewed from above. Is it possible to correct the display of these explosion sprites or improve them, as in Quake 2 XP ? Is it possible to use 3D HUD in future versions Quake 2 RTX, as in Quake 2 XP ?
In version Quake 2 RTX 1.3.0 added support for cutscenes. But the initial logo clips do not appear, for example, the logo ID Software from the Idlog.cin file. Also, the initial logo clips from the additions "Ground Zero" and "The Reckoning" do not appear, although the addons are launched and cut scenes work in them.
During the game, at random, the picture becomes as if in gray. Most often this happens after a quick save when you press the F6 key, closer to the middle of the game or to the end of the game, for example, on the Cooling Facility map.
After leaving Quake 2 RTX and restarting, the gray picture also remained. The problem disappeared only after I took the q2config.cfg file from version 1.1.0 and replaced the current q2config.cfg file with it. Sometimes the problem is solved if you go to the desktop and start the game again.
IDK why Nvidia didn't use their AI tech to enhance the textures
Or at least some third party tools such as ESRGAN
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.