Realtime Dynamic GI + Reflections + AO + Emissive - AHR

I have managed to build it with a “fix” (I even sent a Pull Request) but now the editor crashes with “RHICreateUnorderedAccessView not implemented yet”.
Please help, I’m so close but I have almost no knowledge of code :frowning:

If it works on OpenGL/Linux then it will surely be better than VXGI :cool:

Full terminal output:
[spoiler]


$ ./UE4Editor -opengl4
Using jemalloc.
Increasing per-process limit of core file size to infinity.
LogInit:Display: Running engine without a game
LogPlatformFile: Not using cached read wrapper
LogInit:Display: RandInit(-993854018) SRandInit(-993854015).
LogTaskGraph: Started task graph with 4 named threads and 7 total threads with 1 sets of task threads.
LogStats: Stats thread started at 0.024347
LogInit: Version: 4.12.4-0+UE4
LogInit: API Version: 0
LogInit: Net Version: 0
LogDevObjectVersion: Number of dev versions registered: 13
LogDevObjectVersion:   Dev-Blueprints (B0D832E4-1F89-4F0D-ACCF-7EB736FD4AA2): 3
LogDevObjectVersion:   Dev-Build (E1C64328-A22C-4D53-A36C-8E866417BD8C): 0
LogDevObjectVersion:   Dev-Core (375EC13C-06E4-48FB-B500-84F0262A717E): 1
LogDevObjectVersion:   Dev-Editor (E4B068ED-F494-42E9-A231-DA0B2E46BB41): 2
LogDevObjectVersion:   Dev-Framework (CFFC743F-43B0-4480-9391-14DF171D2073): 6
LogDevObjectVersion:   Dev-Mobile (B02B49B5-BB20-44E9-A304-32B752E40360): 0
LogDevObjectVersion:   Dev-Networking (A4E4105C-59A1-49B5-A7C5-40C4547EDFEE): 0
LogDevObjectVersion:   Dev-Online (39C831C9-5AE6-47DC-9A44-9C173E1C8E7C): 0
LogDevObjectVersion:   Dev-Physics (78F01B33-EBEA-4F98-B9B4-84EACCB95AA2): 0
LogDevObjectVersion:   Dev-Platform (6631380F-2D4D-43E0-8009-CF276956A95A): 0
LogDevObjectVersion:   Dev-Rendering (12F88B9F-8875-4AFC-A67C-D90C383ABD29): 2
LogDevObjectVersion:   Dev-Sequencer (7B5AE74C-D270-4C10-A958-57980B212A5A): 0
LogDevObjectVersion:   Dev-VR (D7296918-1DD6-4BDD-9DE2-64A83CC13884): 0
LogInit: Compiled (64-bit): Aug 20 2016 19:03:46
LogInit: Compiled with Clang: 3.8.0 (tags/RELEASE_380/final)
LogInit: Build Configuration: Development
LogInit: Branch Name: UE4
LogInit: Command line:  -opengl4
LogInit: Base directory: /home/nastys/UnrealEngine-release/Engine/Binaries/Linux/
LogInit: Installed Engine Build: 0
LogInit: Using libcurl 7.46.0
LogInit:  - built for x86_64-pc-linux-gnu
LogInit:  - supports SSL with OpenSSL/1.0.2d
LogInit:  - supports HTTP deflate (compression) using libz 1.2.5
LogInit:  - other features:
LogInit:      CURL_VERSION_SSL
LogInit:      CURL_VERSION_LIBZ
LogInit:      CURL_VERSION_IPV6
LogInit:      CURL_VERSION_ASYNCHDNS
LogInit:      CURL_VERSION_LARGEFILE
LogInit:      CURL_VERSION_TLSAUTH_SRP
LogInit:  Libcurl: checking if '/etc/pki/tls/certs/ca-bundle.crt' exists
LogInit:  Libcurl: checking if '/etc/ssl/certs/ca-certificates.crt' exists
LogInit:  CurlRequestOptions (configurable via config and command line):
LogInit:  - bVerifyPeer = true  - Libcurl will verify peer certificate
LogInit:  - bUseHttpProxy = false  - Libcurl will NOT use HTTP proxy
LogInit:  - bDontReuseConnections = false  - Libcurl will reuse connections
LogInit:  - CertBundlePath = /etc/ssl/certs/ca-certificates.crt  - Libcurl will set CURLOPT_CAINFO to it
LogInit: Presizing for  8388607 objects, including 0 objects not considered by GC, pre-allocating 0 bytes for permanent pool.
LogInit: Object subsystem initialized
[2016.08.20-18.06.20:677]  0]LogInit: Initializing SDL.
[2016.08.20-18.06.20:819]  0]LogInit: Initialized SDL 2.0.4 (compiled against 2.0.4)
[2016.08.20-18.06.20:819]  0]LogInit: Display metrics:
[2016.08.20-18.06.20:819]  0]LogInit:   PrimaryDisplayWidth: 1920
[2016.08.20-18.06.20:819]  0]LogInit:   PrimaryDisplayHeight: 1080
[2016.08.20-18.06.20:819]  0]LogInit:   PrimaryDisplayWorkAreaRect:
[2016.08.20-18.06.20:819]  0]LogInit:     Left=0, Top=0, Right=1920, Bottom=1050
[2016.08.20-18.06.20:819]  0]LogInit:   VirtualDisplayRect:
[2016.08.20-18.06.20:819]  0]LogInit:     Left=0, Top=0, Right=1920, Bottom=1050
[2016.08.20-18.06.20:819]  0]LogInit:   TitleSafePaddingSize: X=0.000 Y=0.000
[2016.08.20-18.06.20:819]  0]LogInit:   ActionSafePaddingSize: X=0.000 Y=0.000
[2016.08.20-18.06.20:819]  0]LogInit:   Number of monitors: 1
[2016.08.20-18.06.20:819]  0]LogInit:     Monitor 0
[2016.08.20-18.06.20:819]  0]LogInit:       Name: 22EA53 22"
[2016.08.20-18.06.20:820]  0]LogInit:       ID: display0
[2016.08.20-18.06.20:820]  0]LogInit:       NativeWidth: 1920
[2016.08.20-18.06.20:820]  0]LogInit:       NativeHeight: 1080
[2016.08.20-18.06.20:820]  0]LogInit:       bIsPrimary: true
[2016.08.20-18.06.20:820]  0]LogLinux: Selected Device Profile: [Linux]
[2016.08.20-18.06.20:820]  0]LogInit: Applying CVar settings loaded from the selected device profile: [Linux]
[2016.08.20-18.06.20:830]  0]LogInit: Linux hardware info:
[2016.08.20-18.06.20:830]  0]LogInit:  - we are the first instance of  executable
[2016.08.20-18.06.20:830]  0]LogInit:  -  process' id (pid) is 15950, parent process' id (ppid) is 3371
[2016.08.20-18.06.20:830]  0]LogInit:  - we are not running under debugger
[2016.08.20-18.06.20:831]  0]LogInit:  - machine network name is 'ULNS'
[2016.08.20-18.06.20:831]  0]LogInit:  - user name is 'nastys' (nastys)
[2016.08.20-18.06.20:831]  0]LogInit:  - we're logged in locally
[2016.08.20-18.06.20:831]  0]LogInit:  - CPU: GenuineIntel '        Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz' (signature: 0x306A9)
[2016.08.20-18.06.20:831]  0]LogInit:  - Number of physical cores available for the process: 4
[2016.08.20-18.06.20:831]  0]LogInit:  - Number of logical cores available for the process: 8
[2016.08.20-18.06.20:831]  0]LogInit:  - Cache line size: 64
[2016.08.20-18.06.20:831]  0]LogInit:  - Memory allocator used: jemalloc
[2016.08.20-18.06.20:831]  0]LogLinux: Benchmarking clocks
[2016.08.20-18.06.20:931]  0]LogLinux:  - CLOCK_REALTIME (id=0) can sustain 58888150 (58888K, 59M) calls per second without zero deltas
[2016.08.20-18.06.21:031]  0]LogLinux:  - CLOCK_MONOTONIC (id=1) can sustain 61379520 (61380K, 61M) calls per second without zero deltas
[2016.08.20-18.06.21:131]  0]LogLinux:  - CLOCK_MONOTONIC_RAW (id=4) can sustain 16099431 (16099K, 16M) calls per second without zero deltas
[2016.08.20-18.06.21:235]  0]LogLinux:  - CLOCK_MONOTONIC_COARSE (id=6) can sustain 165876647 (165877K, 166M) calls per second with 99.999843% zero deltas
[2016.08.20-18.06.21:235]  0]LogInit: Linux-specific commandline switches:
[2016.08.20-18.06.21:235]  0]LogInit:  -nodwarf (currently OFF): suppress parsing of DWARF debug info (callstacks will be generated faster, but won't have line numbers)
[2016.08.20-18.06.21:235]  0]LogInit:  -ansimalloc - use malloc()/free() from libc (useful for tools like valgrind and electric fence)
[2016.08.20-18.06.21:235]  0]LogInit:  -jemalloc - use jemalloc for all memory allocation
[2016.08.20-18.06.21:235]  0]LogInit:  -binnedmalloc - use binned malloc  for all memory allocation
[2016.08.20-18.06.21:235]  0]LogInit:  -httpproxy=ADDRESS:PORT - redirects HTTP requests to a proxy (only supported if compiled with libcurl)
[2016.08.20-18.06.21:235]  0]LogInit:  -reuseconn - allow libcurl to reuse HTTP connections (only matters if compiled with libcurl)
[2016.08.20-18.06.21:235]  0]LogInit:  -virtmemkb=NUMBER - sets process virtual memory (address space) limit (overrides VirtualMemoryLimitInKB value from .ini)
[2016.08.20-18.06.21:235]  0]LogInit:  - Physical RAM available (not considering process quota): 8 GB (7931 MB, 8121780 KB, 8316702720 bytes)
[2016.08.20-18.06.21:245]  0]LogTextLocalizationManager: No specific translations for ('en-US') exist, so ('en') translations will be used.
[2016.08.20-18.06.21:883]  0]LogRHI: Initializing OpenGL RHI
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_VENDOR: NVIDIA Corporation
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_RENDERER: GeForce GTX 1070/PCIe/SSE2
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_VERSION: 4.3.0 NVIDIA 370.23
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_SHADING_LANGUAGE_VERSION: 4.30 NVIDIA via Cg compiler
[2016.08.20-18.06.21:883]  0]LogRHI: OpenGL Extensions:
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_AMD_multi_draw_indirect
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_AMD_seamless_cubemap_per_texture
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_AMD_vertex_shader_viewport_index
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_AMD_vertex_shader_layer
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_arrays_of_arrays
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_base_instance
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_bindless_texture
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_blend_func_extended
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_buffer_storage
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_clear_buffer_object
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_clear_texture
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_clip_control
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_color_buffer_float
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_compressed_texture_pixel_storage
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_conservative_depth
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_compute_shader
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_compute_variable_group_size
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_conditional_render_inverted
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_copy_buffer
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_copy_image
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_cull_distance
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_debug_output
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_depth_buffer_float
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_depth_clamp
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_depth_texture
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_derivative_control
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_direct_state_access
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_draw_buffers
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_draw_buffers_blend
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_draw_indirect
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_draw_elements_base_vertex
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_draw_instanced
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_enhanced_layouts
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_ES2_compatibility
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_ES3_compatibility
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_ES3_1_compatibility
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_ES3_2_compatibility
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_explicit_attrib_location
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_explicit_uniform_location
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_fragment_coord_conventions
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_fragment_layer_viewport
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_fragment_program
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_fragment_program_shadow
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_fragment_shader
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_fragment_shader_interlock
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_framebuffer_no_attachments
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_framebuffer_object
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_framebuffer_sRGB
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_geometry_shader4
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_get_program_binary
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_get_texture_sub_image
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_gl_spirv
[2016.08.20-18.06.21:883]  0]LogRHI:   GL_ARB_gpu_shader5
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_gpu_shader_fp64
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_gpu_shader_int64
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_half_float_pixel
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_half_float_vertex
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_imaging
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_indirect_parameters
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_instanced_arrays
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_internalformat_query
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_internalformat_query2
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_invalidate_subdata
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_map_buffer_alignment
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_map_buffer_range
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_multi_bind
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_multi_draw_indirect
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_multisample
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_multitexture
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_occlusion_query
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_occlusion_query2
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_parallel_shader_compile
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_pipeline_statistics_query
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_pixel_buffer_object
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_point_parameters
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_point_sprite
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_post_depth_coverage
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_program_interface_query
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_provoking_vertex
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_query_buffer_object
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_robust_buffer_access_behavior
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_robustness
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_sample_locations
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_sample_shading
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_sampler_objects
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_seamless_cube_map
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_seamless_cubemap_per_texture
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_separate_shader_objects
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_shader_atomic_counter_ops
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_shader_atomic_counters
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_shader_ballot
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_shader_bit_encoding
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_shader_clock
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_shader_draw_parameters
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_shader_group_vote
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_shader_image_load_store
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_shader_image_size
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_shader_objects
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_shader_precision
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_shader_storage_buffer_object
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_shader_subroutine
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_shader_texture_image_samples
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_shader_texture_lod
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_shading_language_100
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_shader_viewport_layer_array
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_shading_language_420pack
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_shading_language_include
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_shading_language_packing
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_shadow
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_sparse_buffer
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_sparse_texture
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_sparse_texture2
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_sparse_texture_clamp
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_stencil_texturing
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_sync
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_tessellation_shader
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_texture_barrier
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_texture_border_clamp
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_texture_buffer_object
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_texture_buffer_object_rgb32
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_texture_buffer_range
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_texture_compression
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_texture_compression_bptc
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_texture_compression_rgtc
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_texture_cube_map
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_texture_cube_map_array
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_texture_env_add
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_texture_env_combine
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_texture_env_crossbar
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_texture_env_dot3
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_texture_filter_minmax
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_texture_float
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_texture_gather
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_texture_mirror_clamp_to_edge
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_texture_mirrored_repeat
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_texture_multisample
[2016.08.20-18.06.21:884]  0]LogRHI:   GL_ARB_texture_non_power_of_two
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ARB_texture_query_levels
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ARB_texture_query_lod
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ARB_texture_rectangle
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ARB_texture_rg
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ARB_texture_rgb10_a2ui
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ARB_texture_stencil8
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ARB_texture_storage
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ARB_texture_storage_multisample
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ARB_texture_swizzle
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ARB_texture_view
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ARB_timer_query
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ARB_transform_feedback2
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ARB_transform_feedback3
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ARB_transform_feedback_instanced
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ARB_transform_feedback_overflow_query
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ARB_transpose_matrix
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ARB_uniform_buffer_object
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ARB_vertex_array_bgra
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ARB_vertex_array_object
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ARB_vertex_attrib_64bit
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ARB_vertex_attrib_binding
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ARB_vertex_buffer_object
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ARB_vertex_program
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ARB_vertex_shader
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ARB_vertex_type_10f_11f_11f_rev
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ARB_vertex_type_2_10_10_10_rev
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ARB_viewport_array
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ARB_window_pos
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ATI_draw_buffers
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ATI_texture_float
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_ATI_texture_mirror_once
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_S3_s3tc
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_texture_env_add
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_abgr
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_bgra
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_bindable_uniform
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_blend_color
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_blend_equation_separate
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_blend_func_separate
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_blend_minmax
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_blend_subtract
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_compiled_vertex_array
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_Cg_shader
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_depth_bounds_test
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_direct_state_access
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_draw_buffers2
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_draw_instanced
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_draw_range_elements
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_fog_coord
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_framebuffer_blit
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_framebuffer_multisample
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXTX_framebuffer_mixed_formats
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_framebuffer_multisample_blit_scaled
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_framebuffer_object
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_framebuffer_sRGB
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_geometry_shader4
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_gpu_program_parameters
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_gpu_shader4
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_multi_draw_arrays
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_packed_depth_stencil
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_packed_float
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_packed_pixels
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_pixel_buffer_object
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_point_parameters
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_polygon_offset_clamp
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_post_depth_coverage
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_provoking_vertex
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_raster_multisample
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_rescale_normal
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_secondary_color
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_separate_shader_objects
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_separate_specular_color
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_shader_image_load_formatted
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_shader_image_load_store
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_shader_integer_mix
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_shadow_funcs
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_sparse_texture2
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_stencil_two_side
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_stencil_wrap
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_texture3D
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_texture_array
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_texture_buffer_object
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_texture_compression_dxt1
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_texture_compression_latc
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_texture_compression_rgtc
[2016.08.20-18.06.21:885]  0]LogRHI:   GL_EXT_texture_compression_s3tc
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_EXT_texture_cube_map
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_EXT_texture_edge_clamp
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_EXT_texture_env_combine
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_EXT_texture_env_dot3
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_EXT_texture_filter_anisotropic
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_EXT_texture_filter_minmax
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_EXT_texture_integer
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_EXT_texture_lod
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_EXT_texture_lod_bias
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_EXT_texture_mirror_clamp
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_EXT_texture_object
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_EXT_texture_shared_exponent
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_EXT_texture_sRGB
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_EXT_texture_sRGB_decode
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_EXT_texture_storage
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_EXT_texture_swizzle
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_EXT_timer_query
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_EXT_transform_feedback2
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_EXT_vertex_array
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_EXT_vertex_array_bgra
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_EXT_vertex_attrib_64bit
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_EXT_window_rectangles
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_EXT_x11_sync_object
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_EXT_import_sync_object
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_robustness_video_memory_purge
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_IBM_rasterpos_clip
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_IBM_texture_mirrored_repeat
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_KHR_context_flush_control
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_KHR_debug
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_KHR_no_error
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_KHR_robust_buffer_access_behavior
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_KHR_robustness
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_KTX_buffer_region
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_alpha_to_coverage_dither_control
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_bindless_multi_draw_indirect
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_bindless_multi_draw_indirect_count
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_bindless_texture
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_blend_equation_advanced
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_blend_equation_advanced_coherent
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NVX_blend_equation_advanced_multi_draw_buffers
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_blend_square
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_clip_space_w_scaling
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_command_list
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_compute_program5
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_conditional_render
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_conservative_raster
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_conservative_raster_dilate
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_conservative_raster_pre_snap_triangles
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_copy_depth_to_color
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_copy_image
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_depth_buffer_float
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_depth_clamp
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_draw_texture
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_draw_vulkan_image
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_ES1_1_compatibility
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_ES3_1_compatibility
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_explicit_multisample
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_fence
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_fill_rectangle
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_float_buffer
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_fog_distance
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_fragment_coverage_to_color
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_fragment_program
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_fragment_program_option
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_fragment_program2
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_fragment_shader_interlock
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_framebuffer_mixed_samples
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_framebuffer_multisample_coverage
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_geometry_shader4
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_geometry_shader_passthrough
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_gpu_program4
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_internalformat_sample_query
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_gpu_program4_1
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_gpu_program5
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_gpu_program5_mem_extended
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_gpu_program_fp64
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_gpu_shader5
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_half_float
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_light_max_exponent
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_multisample_coverage
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_multisample_filter_hint
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_occlusion_query
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_packed_depth_stencil
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_parameter_buffer_object
[2016.08.20-18.06.21:886]  0]LogRHI:   GL_NV_parameter_buffer_object2
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_path_rendering
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_path_rendering_shared_edge
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_pixel_data_range
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_point_sprite
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_primitive_restart
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_register_combiners
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_register_combiners2
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_sample_locations
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_sample_mask_override_coverage
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_shader_atomic_counters
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_shader_atomic_float
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_shader_atomic_float64
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_shader_atomic_fp16_vector
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_shader_atomic_int64
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_shader_buffer_load
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_shader_storage_buffer_object
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_stereo_view_rendering
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_texgen_reflection
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_texture_barrier
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_texture_compression_vtc
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_texture_env_combine4
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_texture_multisample
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_texture_rectangle
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_texture_shader
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_texture_shader2
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_texture_shader3
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_transform_feedback
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_transform_feedback2
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_uniform_buffer_unified_memory
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_vdpau_interop
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_vertex_array_range
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_vertex_array_range2
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_vertex_attrib_integer_64bit
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_vertex_buffer_unified_memory
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_vertex_program
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_vertex_program1_1
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_vertex_program2
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_vertex_program2_option
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_vertex_program3
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_viewport_array2
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_viewport_swizzle
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NVX_conditional_render
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NVX_gpu_memory_info
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NVX_nvenc_interop
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_shader_thread_group
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_NV_shader_thread_shuffle
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_KHR_blend_equation_advanced
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_KHR_blend_equation_advanced_coherent
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_SGIS_generate_mipmap
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_SGIS_texture_lod
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_SGIX_depth_texture
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_SGIX_shadow
[2016.08.20-18.06.21:887]  0]LogRHI:   GL_SUN_slice_accum
[2016.08.20-18.06.21:932]  0]LogRHI:   GL_MAX_TEXTURE_SIZE: 32768
[2016.08.20-18.06.21:932]  0]LogRHI:   GL_MAX_CUBE_MAP_TEXTURE_SIZE: 32768
[2016.08.20-18.06.21:932]  0]LogRHI:   GL_MAX_ARRAY_TEXTURE_LAYERS: 2048
[2016.08.20-18.06.21:932]  0]LogRHI:   GL_MAX_3D_TEXTURE_SIZE: 16384
[2016.08.20-18.06.21:932]  0]LogRHI:   GL_MAX_RENDERBUFFER_SIZE: 32768
[2016.08.20-18.06.21:932]  0]LogRHI:   GL_MAX_TEXTURE_IMAGE_UNITS: 32
[2016.08.20-18.06.21:932]  0]LogRHI:   GL_MAX_DRAW_BUFFERS: 8
[2016.08.20-18.06.21:932]  0]LogRHI:   GL_MAX_COLOR_ATTACHMENTS: 8
[2016.08.20-18.06.21:932]  0]LogRHI:   GL_MAX_SAMPLES: 32
[2016.08.20-18.06.21:932]  0]LogRHI:   GL_MAX_COLOR_TEXTURE_SAMPLES: 32
[2016.08.20-18.06.21:932]  0]LogRHI:   GL_MAX_DEPTH_TEXTURE_SAMPLES: 32
[2016.08.20-18.06.21:932]  0]LogRHI:   GL_MAX_INTEGER_SAMPLES: 32
[2016.08.20-18.06.21:932]  0]LogRHI:   GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: 192
[2016.08.20-18.06.21:932]  0]LogRHI:   GL_MAX_VERTEX_ATTRIBS: 16
[2016.08.20-18.06.21:932]  0]LogRHI:   GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT: 16
[2016.08.20-18.06.21:932]  0]LogRHI: OpenGL MajorVersion = 4, MinorVersion = 3, ShaderPlatform = GLSL_430, FeatureLevel = SM5
Fatal error: [File:/home/nastys/UnrealEngine-release/Engine/Source/Runtime/OpenGLDrv/Private/OpenGLUAV.cpp] [Line: 62] 
RHICreateUnorderedAccessView not implemented yet
[2016.08.20-18.06.21:957]  0]LogLinux:Error: appError called: Assertion failed: Assertion failed:  [File:/home/nastys/UnrealEngine-release/Engine/Source/Runtime/OpenGLDrv/Private/OpenGLUAV.cpp] [Line: 62] 
RHICreateUnorderedAccessView not implemented yet                                                                                                                                                                                             

Signal 11 caught.                                                                                                                                                                                                                            
Malloc Size=131076 LargeMemoryPoolOffset=131092                                                                                                                                                                                              
CommonLinuxCrashHandler: Signal=11
Malloc Size=65535 LargeMemoryPoolOffset=196655 
[2016.08.20-18.06.21:967]  0]LogLinux: === Critical error: ===
Unhandled Exception: SIGSEGV: invalid attempt to access memory at address 0x00000003

[2016.08.20-18.06.21:967]  0]LogLinux: Assertion failed: Assertion failed:  [File:/home/nastys/UnrealEngine-release/Engine/Source/Runtime/OpenGLDrv/Private/OpenGLUAV.cpp] [Line: 62] 
RHICreateUnorderedAccessView not implemented yet


[Callstack]  03  0x00007faa07cf85c0  CommonLinuxCrashHandler(FGenericCrashContext const&)
[Callstack]  04  0x00007faa1361bcfc  PlatformCrashHandler(int, siginfo_t*, void*)
[Callstack]  05  0x00007faa141fc3d0  /lib/x86_64-linux-gnu/libpthread.so.0(+0x113d0) [0x7faa141fc3d0]
[Callstack]  06  0x00007faa134ebf1b  FGenericPlatformMisc::RaiseException(unsigned int)
[Callstack]  07  0x00007faa1362791d  FOutputDeviceLinuxError::Serialize(wchar_t const*, ELogVerbosity::Type, FName const&)
[Callstack]  08  0x00007faa136edbf7  FOutputDevice::Logf(wchar_t const*, ...)
[Callstack]  09  0x00007faa136c7f70  FDebug::AssertFailed(char const*, char const*, int, wchar_t const*, ...)
[Callstack]  10  0x00007fa9e789b4a8  FOpenGLDynamicRHI::RHICreateUnorderedAccessView(FRHIStructuredBuffer*, bool, bool)
[Callstack]  11  0x00007faa0d6a4846  FDynamicRHI::RHICreateUnorderedAccessView_RenderThread(FRHICommandListImmediate&, FRHIStructuredBuffer*, bool, bool)
[Callstack]  12  0x00007fa9f657c00b  FRWBufferByteAddress::Initialize(unsigned int, unsigned int)
[Callstack]  13  0x00007fa9f65592ed  FApproximateHybridRaytracer::InitDynamicRHI()
[Callstack]  14  0x00007fa9e7865a4a  FOpenGLDynamicRHI::Init()
[Callstack]  15  0x00007faa0d67ea34  RHIInit(bool)
[Callstack]  16  0x000000000041818a  FEngineLoop::PreInit(wchar_t const*) [/home/nastys/UnrealEngine-release/Engine/Source/Runtime/Launch/Private/LaunchEngineLoop.cpp, line 1456]
[Callstack]  17  0x000000000042c40c  GuardedMain(wchar_t const*) [/home/nastys/UnrealEngine-release/Engine/Source/Runtime/Launch/Private/Launch.cpp, line 32]
[Callstack]  18  0x00007faa07cf8faa  CommonLinuxMain(int, char**, int (*)(wchar_t const*))
[Callstack]  19  0x00007faa06c76830  /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7faa06c76830]
[Callstack]  20  0x0000000000414339  ./UE4Editor(_start+0x29) [0x414339]

[2016.08.20-18.06.21:969]  0]LogExit: Executing StaticShutdownAfterError
Malloc Size=35658 LargeMemoryPoolOffset=232330 
[2016.08.20-18.06.21:969]  0]LogHAL: FLinuxPlatformProcess::CreateProc: '/home/nastys/UnrealEngine-release/Engine/Binaries/Linux/CrashReportClient /home/nastys/UnrealEngine-release/Engine/Saved/Crashes/crashinfo--pid-15950-0003515D15081414000603C9C51D2A3C/'
[2016.08.20-18.06.21:970]  0]LogHAL: FLinuxPlatformProcess::CreateProc: spawned child 15974
Using jemalloc.
LogPlatformFile: Not using cached read wrapper
LogInit:Display: RandInit(-987938151) SRandInit(-987938149).
LogTaskGraph: Started task graph with 3 named threads and 6 total threads with 1 sets of task threads.
LogInit: Version: 4.12.4-0+UE4
LogInit: API Version: 0
LogInit: Net Version: 0
LogInit: Compiled (64-bit): Aug 20 2016 14:41:50
LogInit: Compiled with Clang: 3.8.0 (tags/RELEASE_380/final)
LogInit: Build Configuration: Shipping
LogInit: Branch Name: UE4
LogInit: Command line:  /home/nastys/UnrealEngine-release/Engine/Saved/Crashes/crashinfo--pid-15950-0003515D15081414000603C9C51D2A3C/
LogInit: Base directory: /home/nastys/UnrealEngine-release/Engine/Binaries/Linux/
LogInit: Installed Engine Build: 1
LogInit: Presizing for  100000 objects, including 0 objects not considered by GC, pre-allocating 0 bytes for permanent pool.
LogInit: Object subsystem initialized
[2016.08.20-18.06.22:064]  0]LogInit: Linux hardware info:
[2016.08.20-18.06.22:064]  0]LogInit:  - we are the first instance of  executable
[2016.08.20-18.06.22:064]  0]LogInit:  -  process' id (pid) is 15974, parent process' id (ppid) is 15950
[2016.08.20-18.06.22:064]  0]LogInit:  - we are not running under debugger
[2016.08.20-18.06.22:064]  0]LogInit:  - machine network name is 'ULNS'
[2016.08.20-18.06.22:064]  0]LogInit:  - user name is 'nastys' (nastys)
[2016.08.20-18.06.22:064]  0]LogInit:  - we're logged in locally
[2016.08.20-18.06.22:064]  0]LogInit:  - CPU: GenuineIntel '        Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz' (signature: 0x306A9)
[2016.08.20-18.06.22:064]  0]LogInit:  - Number of physical cores available for the process: 4
[2016.08.20-18.06.22:064]  0]LogInit:  - Number of logical cores available for the process: 8
[2016.08.20-18.06.22:064]  0]LogInit:  - Cache line size: 64
[2016.08.20-18.06.22:064]  0]LogInit:  - Memory allocator used: jemalloc
[2016.08.20-18.06.22:064]  0]LogInit: Linux-specific commandline switches:
[2016.08.20-18.06.22:064]  0]LogInit:  -nodwarf (currently OFF): suppress parsing of DWARF debug info (callstacks will be generated faster, but won't have line numbers)
[2016.08.20-18.06.22:064]  0]LogInit:  -ansimalloc - use malloc()/free() from libc (useful for tools like valgrind and electric fence)
[2016.08.20-18.06.22:064]  0]LogInit:  -jemalloc - use jemalloc for all memory allocation
[2016.08.20-18.06.22:064]  0]LogInit:  -binnedmalloc - use binned malloc  for all memory allocation
[2016.08.20-18.06.22:064]  0]LogInit:  -httpproxy=ADDRESS:PORT - redirects HTTP requests to a proxy (only supported if compiled with libcurl)
[2016.08.20-18.06.22:064]  0]LogInit:  -reuseconn - allow libcurl to reuse HTTP connections (only matters if compiled with libcurl)
[2016.08.20-18.06.22:064]  0]LogInit:  -virtmemkb=NUMBER - sets process virtual memory (address space) limit (overrides VirtualMemoryLimitInKB value from .ini)
[2016.08.20-18.06.22:064]  0]LogInit:  - Physical RAM available (not considering process quota): 8 GB (7931 MB, 8121780 KB, 8316702720 bytes)
[2016.08.20-18.06.22:064]  0]LogTextLocalizationManager: No translations for ('') exist, falling back to 'en' for localization and internationalization data.
[2016.08.20-18.06.22:064]  0]CrashReportClientLog: CrashReportReceiverIP: http://crashreporter.epicgames.com:57005
[2016.08.20-18.06.22:064]  0]CrashReportClientLog: DataRouterUrl: https://datarouter-public-service-prod06.ol.epicgames.com/datarouter/api/v1/public/data
[2016.08.20-18.06.22:064]  0]LogQoSReporter:Error: QoS API server is not configured, no QoS metrics will be reported.
[2016.08.20-18.06.22:064]  0]CrashReportClientLog: Initial state = Unknown UploadState value
[2016.08.20-18.06.22:065]  0]LogInit: Using libcurl 7.46.0
[2016.08.20-18.06.22:066]  0]LogInit:  - built for x86_64-pc-linux-gnu
[2016.08.20-18.06.22:066]  0]LogInit:  - supports SSL with OpenSSL/1.0.2d
[2016.08.20-18.06.22:066]  0]LogInit:  - supports HTTP deflate (compression) using libz 1.2.5
[2016.08.20-18.06.22:066]  0]LogInit:  - other features:
[2016.08.20-18.06.22:066]  0]LogInit:      CURL_VERSION_SSL
[2016.08.20-18.06.22:066]  0]LogInit:      CURL_VERSION_LIBZ
[2016.08.20-18.06.22:066]  0]LogInit:      CURL_VERSION_IPV6
[2016.08.20-18.06.22:066]  0]LogInit:      CURL_VERSION_ASYNCHDNS
[2016.08.20-18.06.22:066]  0]LogInit:      CURL_VERSION_LARGEFILE
[2016.08.20-18.06.22:066]  0]LogInit:      CURL_VERSION_TLSAUTH_SRP
[2016.08.20-18.06.22:066]  0]LogInit:  Libcurl: checking if '/etc/pki/tls/certs/ca-bundle.crt' exists
[2016.08.20-18.06.22:066]  0]LogInit:  Libcurl: checking if '/etc/ssl/certs/ca-certificates.crt' exists
[2016.08.20-18.06.22:066]  0]LogInit:  CurlRequestOptions (configurable via config and command line):
[2016.08.20-18.06.22:066]  0]LogInit:  - bVerifyPeer = true  - Libcurl will verify peer certificate
[2016.08.20-18.06.22:066]  0]LogInit:  - bUseHttpProxy = false  - Libcurl will NOT use HTTP proxy
[2016.08.20-18.06.22:066]  0]LogInit:  - bDontReuseConnections = false  - Libcurl will reuse connections
[2016.08.20-18.06.22:066]  0]LogInit:  - CertBundlePath = /etc/ssl/certs/ca-certificates.crt  - Libcurl will set CURLOPT_CAINFO to it
[2016.08.20-18.06.22:066]  0]CrashReportClientLog: Sending HTTP request: http://crashreporter.epicgames.com:57005/CrashReporter/Ping
[2016.08.20-18.06.22:066]  0]CrashReportClientLog: Initial state = Unknown UploadState value
[2016.08.20-18.06.22:066]  0]LogCrashDebugHelper: DepotName: UE4
[2016.08.20-18.06.22:066]  0]LogCrashDebugHelper: BuiltFromCL: 0
[2016.08.20-18.06.22:066]  0]LogCrashDebugHelper: EngineVersion: 4.12.4-0+UE4
[2016.08.20-18.06.22:066]  0]LogCrashDebugHelper:Warning: CrashDebugHelperConfig invalid
[2016.08.20-18.06.22:066]  0]LogCrashDebugHelper:Warning: PDB Cache disabled
[2016.08.20-18.06.22:505]  0]CrashReportClientLog: OnProcessRequestComplete(), State=PingingServer bSucceeded=1
[2016.08.20-18.06.22:505]  0]CrashReportClientLog: State change from PingingServer to Ready
[2016.08.20-18.06.23:040]  0]CrashReportClientLog: Got 4 pending files to upload from 'crashinfo--pid-15950-0003515D15081414000603C9C51D2A3C'
[2016.08.20-18.06.23:040]  0]CrashReportClientLog: State change from Ready to CheckingReport
[2016.08.20-18.06.23:040]  0]CrashReportClientLog: Sending HTTP request: http://crashreporter.epicgames.com:57005/CrashReporter/CheckReport
[2016.08.20-18.06.23:040]  0]CrashReportClientLog: PostData Num: 53
[2016.08.20-18.06.23:273]  0]CrashReportClientLog: OnProcessRequestComplete(), State=CheckingReport bSucceeded=1
[2016.08.20-18.06.23:273]  0]CrashReportClientLog: Response->GetContentAsString(): '<CrashReporterResult bSuccess="true" ID="0" Message="" />'
[2016.08.20-18.06.23:273]  0]CrashReportClientLog: ResultNode->GetAttribute(TEXT("bSuccess")) = true
[2016.08.20-18.06.23:273]  0]CrashReportClientLog: State change from CheckingReport to CheckingReportDetail
[2016.08.20-18.06.23:273]  0]CrashReportClientLog: Sending HTTP request: http://crashreporter.epicgames.com:57005/CrashReporter/CheckReportDetail
[2016.08.20-18.06.23:273]  0]CrashReportClientLog: PostData Num: 1772
[2016.08.20-18.06.23:540]  0]CrashReportClientLog: OnProcessRequestComplete(), State=CheckingReportDetail bSucceeded=1
[2016.08.20-18.06.23:540]  0]CrashReportClientLog: Response->GetContentAsString(): '<CrashReporterResult bSuccess="true" ID="0" Message="" />'
[2016.08.20-18.06.23:540]  0]CrashReportClientLog: ResultNode->GetAttribute(TEXT("bSuccess")) = true
[2016.08.20-18.06.23:540]  0]CrashReportClientLog: State change from CheckingReportDetail to SendingFiles
[2016.08.20-18.06.23:541]  0]CrashReportClientLog: CompressAndSendData have 4 pending files
[2016.08.20-18.06.23:541]  0]CrashReportClientLog: CompressAndSendData compressing 1772 bytes ('/home/nastys/UnrealEngine-release/Engine/Saved/Crashes/crashinfo--pid-15950-0003515D15081414000603C9C51D2A3C/wermeta.xml')
[2016.08.20-18.06.23:541]  0]CrashReportClientLog: CompressAndSendData compressing 4 bytes ('/home/nastys/UnrealEngine-release/Engine/Saved/Crashes/crashinfo--pid-15950-0003515D15081414000603C9C51D2A3C/minidump.dmp')
[2016.08.20-18.06.23:541]  0]CrashReportClientLog: CompressAndSendData compressing 35658 bytes ('/home/nastys/UnrealEngine-release/Engine/Saved/Crashes/crashinfo--pid-15950-0003515D15081414000603C9C51D2A3C/UE4.log')
[2016.08.20-18.06.23:541]  0]CrashReportClientLog: CompressAndSendData compressing 1966 bytes ('/home/nastys/UnrealEngine-release/Engine/Saved/Crashes/crashinfo--pid-15950-0003515D15081414000603C9C51D2A3C/Diagnostics.txt')
[2016.08.20-18.06.23:543]  0]CrashReportClientLog: Sending HTTP request: http://crashreporter.epicgames.com:57005/CrashReporter/UploadReportFile
[2016.08.20-18.06.24:008]  0]CrashReportClientLog: OnProcessRequestComplete(), State=SendingFiles bSucceeded=1
[2016.08.20-18.06.24:008]  0]CrashReportClientLog: Sending HTTP request: http://crashreporter.epicgames.com:57005/CrashReporter/UploadComplete
[2016.08.20-18.06.24:008]  0]CrashReportClientLog: State change from SendingFiles to PostingReportComplete
[2016.08.20-18.06.26:647]  0]CrashReportClientLog: OnProcessRequestComplete(), State=PostingReportComplete bSucceeded=1
[2016.08.20-18.06.26:647]  0]CrashReportClientLog: State change from PostingReportComplete to CheckingReport
[2016.08.20-18.06.26:647]  0]CrashReportClientLog: All uploads done
[2016.08.20-18.06.26:647]  0]CrashReportClientLog: State change from CheckingReport to Finished
[2016.08.20-18.06.27:048]  0]CrashReportClientLog: Got 4 pending files to upload from 'crashinfo--pid-15950-0003515D15081414000603C9C51D2A3C'
[2016.08.20-18.06.27:048]  0]CrashReportClientLog: State change from Ready to SendingFiles
[2016.08.20-18.06.27:048]  0]CrashReportClientLog: CompressAndSendData have 4 pending files
[2016.08.20-18.06.27:048]  0]CrashReportClientLog: CompressAndSendData compressing 1772 bytes ('/home/nastys/UnrealEngine-release/Engine/Saved/Crashes/crashinfo--pid-15950-0003515D15081414000603C9C51D2A3C/wermeta.xml')
[2016.08.20-18.06.27:048]  0]CrashReportClientLog: CompressAndSendData compressing 4 bytes ('/home/nastys/UnrealEngine-release/Engine/Saved/Crashes/crashinfo--pid-15950-0003515D15081414000603C9C51D2A3C/minidump.dmp')
[2016.08.20-18.06.27:049]  0]CrashReportClientLog: CompressAndSendData compressing 35658 bytes ('/home/nastys/UnrealEngine-release/Engine/Saved/Crashes/crashinfo--pid-15950-0003515D15081414000603C9C51D2A3C/UE4.log')
[2016.08.20-18.06.27:049]  0]CrashReportClientLog: CompressAndSendData compressing 1966 bytes ('/home/nastys/UnrealEngine-release/Engine/Saved/Crashes/crashinfo--pid-15950-0003515D15081414000603C9C51D2A3C/Diagnostics.txt')
[2016.08.20-18.06.27:051]  0]CrashReportClientLog: Sending HTTP request: https://datarouter-public-service-prod06.ol.epicgames.com/datarouter/api/v1/public/data?AppID=CrashReporter&AppVersion=4.12.4-0%2BUE4&AppEnvironment=Release&UploadType=crashreports&UserID=00026fe32f08131300180240ad5ac3af%7C%7C8cc02101cec049d0a2ef094a984a26a2
[2016.08.20-18.06.27:916]  0]CrashReportClientLog: OnProcessRequestComplete(), State=SendingFiles bSucceeded=1
[2016.08.20-18.06.27:916]  0]CrashReportClientLog: State change from SendingFiles to SendingFiles
[2016.08.20-18.06.27:916]  0]CrashReportClientLog: All uploads done
[2016.08.20-18.06.27:916]  0]CrashReportClientLog: State change from SendingFiles to Finished
[2016.08.20-18.06.28:050]  0]LogGenericPlatformMisc: FPlatformMisc::RequestExit(0)
[2016.08.20-18.06.28:083]  0]CrashReportClientLog: Final state (Receiver) = Finished
[2016.08.20-18.06.28:083]  0]CrashReportClientLog: Final state (Receiver) = Finished
[2016.08.20-18.06.28:083]  0]LogExit: Preparing to exit.
[2016.08.20-18.06.28:084]  0]LogObj: Freed 0b from 0 cluster array pools.
[2016.08.20-18.06.28:084]  0]LogExit: Object subsystem successfully closed.
[2016.08.20-18.06.28:087]  0]LogModuleManager: Shutting down and abandoning module CrashDebugHelper (5)
[2016.08.20-18.06.28:087]  0]LogModuleManager: Shutting down and abandoning module HTTP (4)
[2016.08.20-18.06.28:089]  0]LogModuleManager: Shutting down and abandoning module QoSReporter (3)
[2016.08.20-18.06.28:089]  0]LogModuleManager: Shutting down and abandoning module Analytics (2)
[2016.08.20-18.06.28:089]  0]LogModuleManager: Shutting down and abandoning module CoreUObject (1)
[2016.08.20-18.06.28:089]  0]LogExit: Exiting.
[2016.08.20-18.06.28:970]  0]LogHAL: Child 15974 is no longer running (zombie), Wait()ing immediately.
[2016.08.20-18.06.28:970]  0]LogHAL: Child 15974's return code is 0.
Engine crash handling finished; re-raising signal 11 for the default handler. Good bye.
Segmentation fault (core dumped)

[/spoiler]

Good job! I’m looking into it right now, had some stupid mistakes, thanks for fixing them. Guess UAV creation is not implemented on OpenGL, but shouldn’t be that hard to do. Working on it right now, it would be great if it could work on OpenGL/Linux

hello,

looks like great work and am looking forward to testing it but it wont compile for me due to a bug in version 4.12 it is fixed in 4.12.5 would you be able to update?
BUG

Already did :smiley:
Will double-check everything today and push it to git

:smiley: perfect did try to do it on my version but gits being stupid for me as usual

Just pushed 4.12.5 to git.
Also did some work on the OpenGL side. Need to modify a few shaders for it to start, and then I can test it. Still, I never used OpenGL, so it probably wont work for a while D:

, thanks! :cool:
I have no knowledge of either API, but I’ll try to fix any issues with clang (on GNU/Linux and maybe OS X) once it’s working on Windows :wink:

Didn’t had much time to work today, and probably wont have any week, but did catched a small break, and as it was too short to do anything productive, I just played around, and ended up with a base for SSS


I maybe onto something here :smiley: It’s broken as hell, and just a dirty hack,but looks cool at least.

Can’t wait to use it on OpenGL :smiley:
Maybe one day Epic will add your work to the official engine, once it’s complete :wink:

Well, after some really busy weeks with university projects (had to pull 14 - 16 hours shifts to get the code finished last few days), I’m now more free.
I did screwed up my repo just now, so had to delete everything and clone again. Luckily I just changed my computer, so it’s a good opportunity to fully test my new beast! Xeon E5 2683 V3, 14 cores (plus HT) at 2.6 (have some BCLK OC) along with 32 Gb DDR4 2133 CL 16 RAM (running at 2217 CL 12). I’m still hyped over it :smiley:
I screwed my repo trying to update to 4.13, so I think I’m going to wait on that update for a bit, and see about working on features and improvements.

out.

congrats new PC buddy :wink:

Well, i had an idea the other day to improve a reconstruction technique I worked on a while back, to reconstruct an image from a sparse data set, but now I manged to make the selection of the points to keep smarter, and well, guess the results speak for themselves

Top left is the original image, and on the right is the reconstruction. Bottom left is the image with the culled pixels in bright red, so everything that’s red is not on the input image for the reconstruction. Bottom right is the relative error % (times 100 so it’s visible).
I actually wanted to show working on AHR, but I haven’t really had much time to work on that, so just showing for now. The idea is to use before tracing, to only trace on a few pixels. The reconstruction code is fairly light, so I should have little overhead. Most of the overhead will probably come from the lowered coherence, as the trace will be sparse, but considering that image only has about 20% of the originals pixels, and with GI i can probably push it to 10% or less, it should allow a really big boost, that will also allow me to trace more rays, and improve quality a lot. Plus the way it works makes trivial to apply temporal filtering, essentially doubling the number of rays for free.
Hope to have something more to show soon.

Thanks!

Image reconstruction for sparse tracing? It’s a novel idea, wonder what the delta over motion is. Another thing to note though is that the test image is fairly low frequency in terms of spatial delta, lots of smooth lines and gradient like changes. The input also appears heavily biased towards edges, which will make accurate reconstruction easier. It’d be a better test if the input was actually randomly sampled from halton sequence/whatever. Maybe it wont matter that much for diffuse traces but it might get bad for specular. Still, excited to see what the results are!

Here’s with a more complex scene.

Not sure what you mean by “It’d be a better test if the input was actually randomly sampled from halton sequence/whatever.”. Part of the reason it works is because I select what pixels to keep. For AHR I’ll select based on the GBuffer.
Also, here’s the exe I used to make that images. It expects a file called “tex.bmp” to be placed on the same folder as the executable. Then you need to input two sparsity parameters, one for the edges and the other for uniform noise, after that it shows the reconstructed image and number of culled pixels.
By pressing “I” and “O” you can see either the culled image, or the error.
It’s single threaded, cpu based and not optimized at all, so ignore performance (it takes a second at most though).
If you could try it I would love to see what results you get!
About the edges, i’m 97.758% sure it’s an implementation error, and not an error on the algorithm itself

PS: was meant mostly for the diffuse part, as I can get around with some approximation error there. As you said, it might be more problematic for specular, but will see how it works
PPS: Forgot the link to the exe https://drive.google.com/file/d/0B6A51p8LzEWYUTlLdDhWUU1zdk0/view?usp=sharing
PPPS: And the SDL DDL https://drive.google.com/file/d/0B6A51p8LzEWYR0Z3OEhKVlNPU3M/view?usp=sharing

Ok, I suppose I’m lost on what you’re trying to reconstruct. Why essentially, compress and then reconstruct the g-buffer itself?

No no, the idea is to use the GBuffer to select the pixels to trace, trace GI for only that pixels, and then reconstruct the sparse GI image.
I mentioned the GBuffer cause I need some info on the scene to select what pixels to kill, based on normals, albedo, stuff like that. The nice thing is that I have more info on the scene by using the GBuffer compared to the images I showed earlier, so I can make better guesses on what to keep and what to kill.
The core idea is to trace rays for less pixels.

In case the g-buffer is being reconstructed based on the most important and high frequency changes in the g-buffer/viewspace. Which is not the same thing as the frequency changes in lightspace, which is something that isn’t known until its traced. The viewspace varies on the edges you detected true, but that’s no indication that lightspace will (or rather is a poor indicator, back to that in a second). But assumptions can be made, specifically that lighting samples applied to neighboring worldspace pixels will be similar. is why it’s not to much of a stretch to downsample and then screenspace raytrace.

The same should apply to any raytracing. Specifically one could take a voxel like structure of the screen, cascaded so the voxel size goes up as depth increases (thus reducing sampling rate as scene complexity increases with depth). The voxels would otherwise be of equal size in all dimensions, depth as well as x and y, thus essentially downsampling the screen in 3 dimensions instead of 2. Then from the center of each voxel trace and apply the results from that to the entire g-buffer portion that the voxel contains. Blurring or otherwise combing contributions from neighboring voxels would be needed to ensure a smooth change in lighting. Another interesting result would be valid temporal gathering over time, as you could essentially gather light in worldspace and since you know where each worldspace voxel is just keep results from previous frames and keep re-using/adding to them.

The downsides to is possibly dramatic lighting changes for geometry that comes in without having samples from previous frames. For current that temporal upsampling is usually applied to is relatively minor, such as shadow filtering and screenspace raytracing, and so can be hid by the fact that the new geometry would be a bit motion blurred for a frame anyway. But large contribution diffuse lighting might make it unusable, or at least unusuable for progressive sampling over a lot of frames. Still, the idea of worldspace downsampling seems valid.

Regardless what’s presented is essentially a 2d image compression algorithm. And possibly an impressive one, what’s the compression ratio of your input compared the original? Anyway, in trying to only sample the pixels as you’ve done you’d get dramatic and temporally incoherent lighting pops as light sampling skips large sections of the screen. EG a large, high frequency luminance change might be totally valid in the middle portions of her dress, but since you’re not sampling from those positions you’d not see it at all until it hits a valid pixel and then POP! a dramatic lighting change happens. Or rather, indirect lighting can be as high frequency as direct lighting (just not as often) it wouldn’t be valid to sample shadow maps from your “important” pixels, as large sections would pop in and out of shadows coherently.

JPEG can make 10x - 15x compression without noticeable changes, and is at most 5x - 8x for the same quality, so not that impressive for image compression.
You raise a good point about the validity of the Gbuffer as an estimator of illumination variance, and that’s something I want to test. Will see if I manage to get a test app working tomorrow.
I do plan to add the pixels from the prev frame on the reconstruction stage, so you reconstruct with the ones traced frame, and the ones of the prev frame, to increase samples and increase temporal coherence.
Also, one could do a quick SSGI (maybe even just SSAO) pass, at say 1/4 or even 1/8 resolution, that should provide a much accurate estimator to select the pixels.
Another option is going multi-pass, by generating a relatively small amount of trace samples (based on the gbuffer), tracing, analyze the trace image and generate new sampling points for the areas that show the highest variation. may be the best option actually, just thought about it.
Of course, all is assuming low frequency GI, that’s a common assumption to make, and the one that allows to use some heavy blur (for example, I use two passes of a 13x13 depth-aware blur for AHR), but sure, as you say, it may break.

So, i managed to do some early tests.

There are things to fix, and it’ll probably take a while until it’s on UE4 (mainly cause I use indirect dispatch and UE4 has no support for it), but i think it works really really good! At least x4 increase in performance is , even if it’s at the cost of some image quality ( or can turn up the quality and still gain performance).
I need to improve temporal filtering, but that’s just some really early testing. Just to make some hype :smiley:

Cya all later

If you can fix that jittering when moving the camera and also get it into UE4 (what is indirect dispatch?) then that looks really promising! :cool: