Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - JeGX

Pages: [1] 2 3 ... 82
1
The third edition of the Physically Based Rendering book is now available for free here:
http://www.pbr-book.org

Table of contents:
http://www.pbr-book.org/3ed-2018/contents.html

Quote
Photorealistic computer graphics is ubiquitous today, with applications that include entertainment—notably, movies and video games; product design; and architecture. Over the past decade, physically-based approaches to rendering have become widely used, where an accurate modeling of the physics of light scattering is at the heart of image synthesis. These approaches offer both visual realism and predictability.

Physically Based Rendering describes both the mathematical theory behind a modern photorealistic rendering system as well as its practical implementation. A method known as “literate programming” combines human-readable documentation and source code into a single reference that is specifically designed to aid comprehension. The ideas and software in this book show the reader how to design and employ a full-featured rendering system capable of creating creating stunning imagery.

The author team of Matt Pharr, Greg Humphreys, and Pat Hanrahan garnered a 2014 Academy Award for Scientific and Technical Achievement from the Academy of Motion Picture Arts and Sciences based on the knowledge shared in the first and second editions of the book this book. The Academy called the book a “widely adopted practical roadmap for most physically based shading and lighting systems used in film production.”

Of the book, Donald Knuth wrote “This book has deservedly won an Academy Award. I believe it should also be nominated for a Pulitzer Prize.”

As of October 15, 2018, the full contents of the third edition of the book are freely available online.


Physically Based Rendering (PBR) e-book



2
3D-Tech News Around The Web / Lunar landing RTX real time raytracing demo
« on: October 22, 2018, 03:22:43 PM »
Quote
t’s been almost fifty years since the Apollo 11 moon landing, and the controversy of its staging followed it for many decades after. Four years ago, using our Maxwell GPU technology, NVIDIA addressed the controversy by showing how it would have been impossible to stage.

For Turing, we’ve recreated one of history’s most iconic shots – showcased during Jensen Huang’s keynote at GTC Europe on October 10, 2018. This presentation utilizes NVIDIA RTX real-time ray tracing technology and Unreal Engine to showcase the reflection of light on different surfaces, illustrating how the classic photo was taken.

Links:
- Youtube:
  https://www.youtube.com/watch?v=QIap1jL14WU

- Jensen’s GTC Europe presentation (interesting part starts at the 23:00 minute)
  https://www.ustream.tv/recorded/117580046 

The source of the controversy: the astronaut shouldn't be so bright in the shadow. NVIDIA explains why the astronaut is lit like that and shows it in the demo:

NVIDIA RTX real time raytracing demo: lunar landing

3
Yes it's correct.
Actually descriptor sets (DS) hold all resources that are required by your shaders: textures, samplers and GPU buffers. Once a DS is created and initialized, just bind it before the drawing of the mesh, that's all. No longer need to bind textures or GPU buffers.

I have no code sample in C/C++ but in a GeeXLab demo that uses Vulkan, you can render a mesh with something like:
Code: [Select]
gh_renderer.pipeline_state_bind(pso)
gh_renderer.vk_descriptorset_bind(ds)
gh_object.render(mesh)


4
The new version of Winamp is back and has been anticipated a bit by its authors because of a leak. The Winamp dev team has then decided to put the official version sooner than expected on the Winamp website.

Official Winamp website: https://www.winamp.com

You can also download Winamp from the download zone:
- new Winamp 5.8
- old Winamp 5.63

Changelog
Quote
* New: Windows Audio (WASAPI) Output plug-in (w.i.p.)
* Improved: Added an option to completely disable Winamp's video support
* Improved: Added an auto-fullscreen option to video prefs
* Improved: Added /ENUMPLAYLISTS to the command-line support
* Improved: Windows 8.1 and 10 compatibility
* Improved: [in_mod] OpenMPT-based Module Player (replaces old MikMod player)
* Improved: [ml_playlists] Added browse path & edit title functions in Ctrl+E editor
* Improved: [Bento] Updated scrollbars and buttons and other tweaks (thanks Martin)
* Improved: [Bento & Modern skins] Added a Playlist Search feature (thanks Victor)
* Fixed: New URLs not being remembered after using Reset history in Open URL dialog
* Fixed: Various memory leaks
* Fixed: [gen_tray] Not showing correct current icon pack in preferences
* Fixed: [in_avi] Divide-by-zero crash with badly formed files (thanks ITDefensor)
* Fixed: [in_mp3] Crashing with some ID3v2 tags
* Fixed: [ml_wire] Slow loading issue
* Fixed: [ssdp] Crash on load if jnetlib was not correctly initialized
* Misc: Minimum required OS is now Win XP sp3 (Windows 7 or higher recommended)
* Misc: More general tweaks, improvements, fixes and optimizations
* Misc: Moved shared DLLs to Winamp\Shared folder
* Removed: All former "Pro" licensed functions (Winamp is now 100% freeware again)
* Removed: gen_jumpex & UnicodeTaskbarFix (making way for native implementations)
* Removed: [in_wm] DRM support
* Replaced: CD playback and ripping now using native Windows API (instead of Sonic)
* Replaced: MP3 Decoder now mpg123 based (instead of Fraunhofer)
* Replaced: AAC Decoder now using Media Foundation (Vista and higher)
* Replaced: H.264 Decoder now using Media Foundation (Vista and higher)
* Replaced: MPEG-4 Pt.2 Decoder now using Media Foundation (Vista and higher)
* Updated: [in_vorbis] libogg 1.3.3 & libvorbis 1.3.6
* Updated: [libFLAC] FLAC 1.3.2
* Updated: [libyajl] libyajl v2.1.0
* Updated: [OpenSSL] OpenSSL v1.0.1i
* Updated: [png] libpng v1.5.24

Winamp 5.8

Winamp 5.8




5
3D-Tech News Around The Web / Re: HWiNFO32 and HWiNFO64 v5.90 released
« on: October 17, 2018, 03:31:01 PM »
Download zone updated:
https://www.geeks3d.com/dl/show/10055

My ASUS GL553VD notebook:
HWiFO64

6
3D-Tech News Around The Web / Re: TechPowerUp GPU-Z 2.13.0 Released
« on: October 15, 2018, 07:33:24 PM »

7
3D-Tech News Around The Web / Vulkan API specifications 1.1.88 released
« on: October 14, 2018, 10:50:47 AM »
Quote
Change log for October 13, 2018 Vulkan 1.1.88 spec update:

  * Update release number to 88.

Public Issues:

  * Make clear that
    tname:PFN_vkDebugUtilsMessengerCallbackEXT::pname:messageTypes is a
    bitmask, and correct a typo in the spelling of
    slink:VkDebugUtilsMessengerCreateInfoEXT.txt::pname:messageType (public
    pull request 800).
  * Make an ABI-compatible change of the type of
    slink:VkPhysicalDeviceDriverPropertiesKHR::pname:driverID to use the new
    elink:VkDriverIdKHR type (public issue 811).

Internal Issues:

  * Clarify for the <<features-features-shaderStorageImageExtendedFormats>>
    feature and in the <<spirvenv-capabilities-table>> that the feature
    means that all of the formats are supported, and that otherwise the
    features can be queried per-format (internal issue 1273).
  * Clarified interactions of `VK_EXT_external_memory_host` with host cache
    management commands and structures flink:vkMapMemory,
    flink:vkFlushMappedMemoryRanges, slink:VkMappedMemoryRange, and
    flink:vkUnmapMemory using the new glossary term "`Host Mapped Device
    Memory`" (internal issue 1385).
  * Update the language for flink:vkCreateViSurfaceNN.txt describing the
    pname:currentExtent of a VI surface to more accurately reflect current
    capabilities, replacing "`undefined`" with more explicit behavior
    (internal issue 1410).

New Extensions:

  * `VK_EXT_calibrated_timestamps`
  * `VK_EXT_image_drm_format_modifier` (this extension was previously
    disabled in vk.xml, and has now been enabled after some changes to fix
    performance issues).
  * `VK_EXT_pci_bus_info`
  * `VK_EXT_transform_feedback`
  * `VK_GOOGLE_hlsl_functionality1`, exposing support for
    `SPV_GOOGLE_hlsl_functionality1`.
  * `VK_GOOGLE_decorate_string`, exposing support for
    `SPV_GOOGLE_decorate_string`.

Source: https://github.com/KhronosGroup/Vulkan-Docs/commit/0a7a04f32bd473bc7428efdbbbe132f33afad68c

New extensions
- VK_EXT_pci_bus_info
- VK_EXT_calibrated_timestamps
- VK_EXT_image_drm_format_modifier
- VK_EXT_transform_feedback
- VK_GOOGLE_decorate_string
- VK_GOOGLE_hlsl_functionality1

All Vulkan extensions are available here:
https://github.com/KhronosGroup/Vulkan-Docs/tree/master/appendices


8
Quote
NVIDIA’s new Turing GPU unleashed real-time ray-tracing in a consumer GPU for the first time. Since then, much virtual ink has been spilled discussing ray tracing in DirectX 12. However, many developers want to embrace a more open approach using Vulkan, the low-level API supported by the Khronos Group. Vulkan enables developers to target many different platforms, including Windows and Linux, allowing for broader distribution of 3D-accelerated applications. NVIDIA’s 411.63 driver release now enables an experimental Vulkan extension that exposes NVIDIA’s RTX technology for real-time ray tracing through the Vulkan API.

This extension, called VK_NVX_raytracing, is a developer preview of our upcoming vendor extension for ray tracing on Vulkan. The extension targets developers who want to familiarize themselves with API concepts and start testing the functionality. As denoted by the ‘NVX’ prefix, this API is not yet final and could undergo some minor changes before the final release.

Link: https://devblogs.nvidia.com/vulkan-raytracing/

#raytracing #vulkan #rtx #vk_nvx_raytracing #vkray #gamedev

9
3D-Tech News Around The Web / Vulkan API specifications 1.1.87 released
« on: October 12, 2018, 06:01:19 PM »
Quote
Change log for October 7, 2018 Vulkan 1.1.87 spec update:

  * Update release number to 87.

Public Issues:

  * Merge flink:vkCmdPipelineBarrier self-dependency barrier VUs referring
    to the same subpass dependency (public pull request 756).
  * Describe default value of `"optional"` attribute in the registry schema
    document (public issue 769)
  * Fix links in <<VK_NVX_raytracing>> extension (public pull request 805).
  * Mark the <<VK_KHR_mir_surface>> extension obsolete (see public issue 814
    - does not close this, however).
  * Fix missing endif in Image Creation block (public issue 817).

Internal Issues:

  * Clarify that the compressed texture formats corresponding to
    <<features-features-textureCompressionETC2>>,
    <<features-features-textureCompressionASTC_LDR>>, and
    <<features-features-textureCompressionBC>> is not contingent on the
    feature bits, and may be supported even if the features are not enabled
    (internal issue 663).
  * Clarify that code:FragStencilRefEXT is output only in the
    <<interfaces-builtin-variables, Built-In Variables>> section (internal
    issue 1173).
  * Identify and correct many overly-aggressive uses of "`undefined`", and
    narrow them down, where straightforward to do so. Mark such resolved
    uses of "`undefined`" with the custom undefined: macro. Add a new
    <<writing-undefined, Describing Undefined Behavior>> section (internal
    issue 1267).
  * Don't require code:inline_uniform_block descriptors to be populated
    before use in the flink:vkAllocateDescriptorSets section (internal issue
    1380).
  * Allow suppressing inline SVG images by controlling this with an
    attribute set in the Makefile, rather than the explicit [%inline]
    directive (internal issue 1391).
  * Mark 'Khronos' as a registered trademark in several places, now that it
    is one.
  * Fix typo in the <<VK_KHR_shader_atomic_int64>> appendix using the GLSL
    naming of the compare exchange op when referring to the SPIR-V op.
  * Specify in the flink:vkGetPhysicalDeviceQueueFamilyProperties section
    that all implementations must support at least one queue family, and
    that every queue family must contain at least one queue.
  * Make slink:VkPipelineDynamicStateCreateInfo::pname:dynamicStateCount,
    slink:VkSampleLocationsInfoEXT::pname:sampleLocationsPerPixel, and
    slink:VkSampleLocationsInfoEXT::pname:sampleLocationsCount optional, to
    fix bogus implicit valid usage checks that were causing failures in the
    conformance tests.
  * Fix vendor tag in reserved extension 237 constants. Does not affect
    anything since it's just a placeholder, but this should avoid further
    comments.
  * Minor markup fixes in some extension appendices.

New Extensions:

  * `<<VK_FUCHSIA_imagepipe_surface>>`

source: https://github.com/KhronosGroup/Vulkan-Docs/commit/911a7646949e661b24ad6111479029ed9e841284

10
3D-Tech News Around The Web / Re: TechPowerUp GPU-Z 2.12.0 Released
« on: October 12, 2018, 05:10:49 PM »

11
DRIVER VERSION: 25.20.100.6326

Quote
-  Fix for FIFA19*
-  Launch Driver Games:
  - Pathfinder: Kingmaker*
  - Battlerite Royale*
  - FIFA19*

This driver update fixes corruption in FIFA19* (DirectX* 11) where some in-game objects may be rendered incorrectly.
Also, explore and conquer lands in Pathfinder: Kingmaker* and jump into Talon* island with Battlerite Royale* on Intel®
UHD Graphics 620 or better.

Get ready and fight alongside your friends in Valkyria Chronicles 4* and put the pedal to the metal in V-Rally 4* with
Intel® Iris Pro Graphics or better.

Downloads:
- Latest Intel HD Graphics driver 64-bit @ Geeks3D
- v6326 @ Intel

Same OpenGL and Vulkan support than v6323.



13
Nvtop stands for NVidia TOP, a (h)top like task monitor for NVIDIA GPUs. It can handle multiple GPUs and print information about them in a htop familiar way.

Link: https://github.com/Syllo/nvtop




14
3D-Tech News Around The Web / VUDA: CUDA in Vulkan
« on: October 08, 2018, 08:17:33 PM »
VUDA is a header-only lib based on Vulkan that provides a CUDA Runtime API interface for writing GPU-accelerated applications.

Link: https://github.com/jgbit/vuda

Example:
Code: [Select]
#include <vuda.hpp>
int main(void)
{
  // allocate memory on the device
  const int N = 5000;
  int a[N], b[N], c[N];
  for(int i=0; i<N; ++i)
  {
    a[i] = -i;
    b[i] = i*i;
  }
  int *dev_a, *dev_b, *dev_c;
  vuda::malloc((void**)&dev_a, N * sizeof(int));
  vuda::malloc((void**)&dev_b, N * sizeof(int));
  vuda::malloc((void**)&dev_c, N * sizeof(int));
  // copy the arrays a and b to the device
  vuda::memcpy(dev_a, a, N * sizeof(int), vuda::memcpyHostToDevice);
  vuda::memcpy(dev_b, b, N * sizeof(int), vuda::memcpyHostToDevice);
  // run kernel (vulkan shader module)
  const int stream_id = 0;
  const int blocks = 128;
  const int threads = 128;
  vuda::kernelLaunch("add.spv", "main", blocks, threads, stream_id, dev_a, dev_b, dev_c, N);
  // copy result to host
  vuda::memcpy(c, dev_c, N * sizeof(int), vuda::memcpyDeviceToHost);

  // do something useful with the result in array c ...

  // free memory on device
  vuda::free(dev_a);
  vuda::free(dev_b);
  vuda::free(dev_c);
}

15
Here is the Vulkan info for a GTX 1080:

- Instance extensions: 12
  - VK_KHR_device_group_creation (version: 1)
  - VK_KHR_external_fence_capabilities (version: 1)
  - VK_KHR_external_memory_capabilities (version: 1)
  - VK_KHR_external_semaphore_capabilities (version: 1)
  - VK_KHR_get_physical_device_properties2 (version: 1)
  - VK_KHR_get_surface_capabilities2 (version: 1)
  - VK_KHR_surface (version: 25)
  - VK_KHR_win32_surface (version: 6)
  - VK_EXT_debug_report (version: 9)
  - VK_EXT_swapchain_colorspace (version: 3)
  - VK_NV_external_memory_capabilities (version: 1)
  - VK_EXT_debug_utils (version: 1)
- Instance layers: 5
  - VK_LAYER_NV_optimus (version: 1.1.84, impl: 1)
  - VK_LAYER_RENDERDOC_Capture (version: 1.0.0, impl: 91)
  - VK_LAYER_NV_nsight (version: 1.0.13, impl: 1)
  - VK_LAYER_NV_nomad (version: 1.1.71, impl: 1)
  - VK_LAYER_LUNARG_standard_validation (version: 1.0.82, impl: 1)
- Physical devices: 1
  - [Vulkan device 0]: GeForce GTX 1080 ------------------
    - API version: 1.1.84
    - vendorID: 4318
    - deviceID: 7040
    - driver version: 1745092608
    - NVIDIA driver version: 416.16
  - memory heap count: 2
    - heap1: 8079MB
    - heap2: 32706MB
  - memory type count: 4
    - mem type 7 - heap index : 0 - property flag : 1
      > mem property: VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT
    - mem type 8 - heap index : 0 - property flag : 1
      > mem property: VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT
    - mem type 9 - heap index : 1 - property flag : 6
      > mem property: VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT
      > mem property: VK_MEMORY_PROPERTY_HOST_COHERENT_BIT
    - mem type 10 - heap index : 1 - property flag : 14
      > mem property: VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT
      > mem property: VK_MEMORY_PROPERTY_HOST_COHERENT_BIT
      > mem property: VK_MEMORY_PROPERTY_HOST_CACHED_BIT
  - extensions: 63
    - VK_KHR_8bit_storage (version: 1)
    - VK_KHR_16bit_storage (version: 1)
    - VK_KHR_bind_memory2 (version: 1)
    - VK_KHR_create_renderpass2 (version: 1)
    - VK_KHR_dedicated_allocation (version: 3)
    - VK_KHR_descriptor_update_template (version: 1)
    - VK_KHR_device_group (version: 3)
    - VK_KHR_draw_indirect_count (version: 1)
    - VK_KHR_driver_properties (version: 1)
    - VK_KHR_external_fence (version: 1)
    - VK_KHR_external_fence_win32 (version: 1)
    - VK_KHR_external_memory (version: 1)
    - VK_KHR_external_memory_win32 (version: 1)
    - VK_KHR_external_semaphore (version: 1)
    - VK_KHR_external_semaphore_win32 (version: 1)
    - VK_KHR_get_memory_requirements2 (version: 1)
    - VK_KHR_image_format_list (version: 1)
    - VK_KHR_maintenance1 (version: 2)
    - VK_KHR_maintenance2 (version: 1)
    - VK_KHR_maintenance3 (version: 1)
    - VK_KHR_multiview (version: 1)
    - VK_KHR_push_descriptor (version: 2)
    - VK_KHR_relaxed_block_layout (version: 1)
    - VK_KHR_sampler_mirror_clamp_to_edge (version: 1)
    - VK_KHR_sampler_ycbcr_conversion (version: 1)
    - VK_KHR_shader_atomic_int64 (version: 1)
    - VK_KHR_shader_draw_parameters (version: 1)
    - VK_KHR_storage_buffer_storage_class (version: 1)
    - VK_KHR_swapchain (version: 70)
    - VK_KHR_variable_pointers (version: 1)
    - VK_KHR_vulkan_memory_model (version: 2)
    - VK_KHR_win32_keyed_mutex (version: 1)
    - VK_EXT_blend_operation_advanced (version: 2)
    - VK_EXT_conditional_rendering (version: 1)
    - VK_EXT_conservative_rasterization (version: 1)
    - VK_EXT_depth_range_unrestricted (version: 1)
    - VK_EXT_descriptor_indexing (version: 2)
    - VK_EXT_discard_rectangles (version: 1)
    - VK_EXT_hdr_metadata (version: 1)
    - VK_EXT_inline_uniform_block (version: 1)
    - VK_EXT_post_depth_coverage (version: 1)
    - VK_EXT_sample_locations (version: 1)
    - VK_EXT_sampler_filter_minmax (version: 1)
    - VK_EXT_shader_subgroup_ballot (version: 1)
    - VK_EXT_shader_subgroup_vote (version: 1)
    - VK_EXT_shader_viewport_index_layer (version: 1)
    - VK_EXT_vertex_attribute_divisor (version: 3)
    - VK_NV_clip_space_w_scaling (version: 1)
    - VK_NV_dedicated_allocation (version: 1)
    - VK_NV_device_diagnostic_checkpoints (version: 2)
    - VK_NV_external_memory (version: 1)
    - VK_NV_external_memory_win32 (version: 1)
    - VK_NV_fill_rectangle (version: 1)
    - VK_NV_fragment_coverage_to_color (version: 1)
    - VK_NV_framebuffer_mixed_samples (version: 1)
    - VK_NV_geometry_shader_passthrough (version: 1)
    - VK_NV_sample_mask_override_coverage (version: 1)
    - VK_NV_shader_subgroup_partitioned (version: 1)
    - VK_NV_viewport_array2 (version: 1)
    - VK_NV_viewport_swizzle (version: 1)
    - VK_NV_win32_keyed_mutex (version: 1)
    - VK_NVX_device_generated_commands (version: 3)
    - VK_NVX_multiview_per_view_attributes (version: 1)
  - device layers: 1
    - VK_LAYER_NV_optimus (version: 1.1.84, impl: 1)
  - device features:
    - robustBufferAccess: true
    - fullDrawIndexUint32: true
    - imageCubeArray: true
    - independentBlend: true
    - geometryShader: true
    - tessellationShader: true
    - sampleRateShading: true
    - dualSrcBlend: true
    - logicOp: true
    - multiDrawIndirect: true
    - drawIndirectFirstInstance: true
    - depthClamp: true
    - depthBiasClamp: true
    - fillModeNonSolid: true
    - depthBounds: true
    - wideLines: true
    - largePoints: true
    - alphaToOne: true
    - multiViewport: true
    - samplerAnisotropy: true
    - textureCompressionETC2: false
    - textureCompressionASTC_LDR: false
    - textureCompressionBC: true
    - occlusionQueryPrecise: true
    - pipelineStatisticsQuery: true
    - vertexPipelineStoresAndAtomics: true
    - fragmentStoresAndAtomics: true
    - shaderTessellationAndGeometryPointSize: true
    - shaderImageGatherExtended: true
    - shaderStorageImageExtendedFormats: true
    - shaderStorageImageMultisample: true
    - shaderStorageImageReadWithoutFormat: true
    - shaderStorageImageWriteWithoutFormat: true
    - shaderUniformBufferArrayDynamicIndexing: true
    - shaderSampledImageArrayDynamicIndexing: true
    - shaderStorageBufferArrayDynamicIndexing: true
    - shaderStorageImageArrayDynamicIndexing: true
    - shaderClipDistance: true
    - shaderCullDistance: true
    - shaderFloat64: true
    - shaderInt64: true
    - shaderInt16: true
    - shaderResourceResidency: true
    - shaderResourceMinLod: true
    - sparseBinding: true
    - sparseResidencyBuffer: true
    - sparseResidencyImage2D: true
    - sparseResidencyImage3D: true
    - sparseResidency2Samples: true
    - sparseResidency4Samples: true
    - sparseResidency8Samples: true
    - sparseResidency16Samples: true
    - sparseResidencyAliased: true
    - variableMultisampleRate: true
    - inheritedQueries: true
  - device limits
    - maxImageDimension1D: 32768
    - maxImageDimension2D: 32768
    - maxImageDimension3D: 16384
    - maxImageDimensionCube: 32768
    - maxImageArrayLayers: 2048
    - maxTexelBufferElements: 134217728
    - maxUniformBufferRange: 65536
    - maxStorageBufferRange: 4294967295
    - maxPushConstantsSize: 256
    - maxMemoryAllocationCount: 4096
    - maxSamplerAllocationCount: 4000
    - bufferImageGranularity: 1024
    - sparseAddressSpaceSize: 18446744073709551615
    - maxBoundDescriptorSets: 32
    - maxPerStageDescriptorSamplers: 1048576
    - maxPerStageDescriptorUniformBuffers: 15
    - maxPerStageDescriptorSampledImages: 1048576
    - maxPerStageDescriptorStorageImages: 1048576
    - maxPerStageDescriptorInputAttachments: 1048576
    - maxPerStageResources: 4294967295
    - maxDescriptorSetSamplers: 1048576
    - maxDescriptorSetUniformBuffers: 90
    - maxDescriptorSetUniformBuffersDynamic: 15
    - maxDescriptorSetStorageBuffers: 1048576
    - maxDescriptorSetStorageBuffersDynamic: 16
    - maxDescriptorSetSampledImages: 1048576
    - maxDescriptorSetStorageImages: 1048576
    - maxDescriptorSetInputAttachments: 1048576
    - maxVertexInputAttributes: 32
    - maxVertexInputBindings: 32
    - maxVertexInputAttributeOffset: 2047
    - maxVertexInputBindingStride: 2048
    - maxVertexOutputComponents: 128
    - maxTessellationGenerationLevel: 64
    - maxTessellationPatchSize: 32
    - maxTessellationControlPerVertexInputComponents: 128
    - maxTessellationControlPerVertexOutputComponents: 128
    - maxTessellationControlPerPatchOutputComponents: 120
    - maxTessellationControlTotalOutputComponents: 4216
    - maxTessellationEvaluationInputComponents: 128
    - maxTessellationEvaluationOutputComponents: 128
    - maxGeometryShaderInvocations: 32
    - maxGeometryInputComponents: 128
    - maxGeometryOutputComponents: 128
    - maxGeometryOutputVertices: 1024
    - maxGeometryTotalOutputComponents: 1024
    - maxFragmentInputComponents: 128
    - maxFragmentOutputAttachments: 8
    - maxFragmentDualSrcAttachments: 1
    - maxFragmentCombinedOutputResources: 16
    - maxComputeSharedMemorySize: 49152
    - maxComputeWorkGroupCount: [2147483647; 65535; 65535]
    - maxComputeWorkGroupInvocations: 1536
    - maxComputeWorkGroupSize: [1536; 1024; 64]
    - subPixelPrecisionBits: 8
    - subTexelPrecisionBits: 8
    - mipmapPrecisionBits: 8
    - maxDrawIndexedIndexValue: 4294967295
    - maxDrawIndirectCount: 4294967295
    - maxSamplerLodBias: 15.000000
    - maxSamplerAnisotropy: 16.000000
    - maxViewports: 16
    - maxViewportDimensions: [32768; 32768]
    - viewportBoundsRange: [-65536.000000 ; 65536.000000]
    - viewportSubPixelBits: 8
    - minMemoryMapAlignment: 64
    - minTexelBufferOffsetAlignment: 16
    - minUniformBufferOffsetAlignment: 256
    - minStorageBufferOffsetAlignment: 32
    - minTexelOffset: 4294967288
    - maxTexelOffset: 7
    - minTexelGatherOffset: 4294967264
    - maxTexelGatherOffset: 31
    - minInterpolationOffset: -0.500000
    - maxInterpolationOffset: 0.437500
    - subPixelInterpolationOffsetBits: 4
    - maxFramebufferWidth: 32768
    - maxFramebufferHeight: 32768
    - maxFramebufferLayers: 2048
    - framebufferColorSampleCounts: 15
    - framebufferDepthSampleCounts: 15
    - framebufferStencilSampleCounts: 31
    - framebufferNoAttachmentsSampleCounts: 31
    - maxColorAttachments: 8
    - sampledImageColorSampleCounts: 15
    - sampledImageIntegerSampleCounts: 15
    - sampledImageDepthSampleCounts: 15
    - sampledImageStencilSampleCounts: 31
    - storageImageSampleCounts: 15
    - maxSampleMaskWords: 1
    - timestampComputeAndGraphics: 1
    - timestampPeriod: 1.000000
    - maxClipDistances: 8
    - maxCullDistances: 8
    - maxCombinedClipAndCullDistances: 8
    - discreteQueuePriorities: 2
    - pointSizeRange: [1.000000 ; 189.875000]
    - lineWidthRange: [0.500000 ; 10.000000]
    - pointSizeGranularity: 0.125000
    - lineWidthGranularity: 0.125000
    - strictLines: 1
    - standardSampleLocations: 1
    - optimalBufferCopyOffsetAlignment: 1
    - optimalBufferCopyRowPitchAlignment: 1
    - nonCoherentAtomSize: 64

16
Related article: https://www.geeks3d.com/20181005/nvidia-geforce-416-16-whql-graphics-drivers-with-directx-raytracing-support-opengl-4-6-vulkan-1-1-84/

Quick OpenGL info for a GeForce GTX 1080 on Windows 10 64-bit v1809:

- GL_VENDOR: NVIDIA Corporation
- GL_RENDERER: GeForce GTX 1080/PCIe/SSE2
- GL_VERSION: 4.6.0 NVIDIA 416.16

OpenGL Extensions: 410 extensions (GL=379 and WGL=31)
  - GL_AMD_multi_draw_indirect
  - GL_AMD_seamless_cubemap_per_texture
  - GL_AMD_vertex_shader_viewport_index
  - GL_AMD_vertex_shader_layer
  - GL_ARB_arrays_of_arrays
  - GL_ARB_base_instance
  - GL_ARB_bindless_texture
  - GL_ARB_blend_func_extended
  - GL_ARB_buffer_storage
  - GL_ARB_clear_buffer_object
  - GL_ARB_clear_texture
  - GL_ARB_clip_control
  - GL_ARB_color_buffer_float
  - GL_ARB_compatibility
  - GL_ARB_compressed_texture_pixel_storage
  - GL_ARB_conservative_depth
  - GL_ARB_compute_shader
  - GL_ARB_compute_variable_group_size
  - GL_ARB_conditional_render_inverted
  - GL_ARB_copy_buffer
  - GL_ARB_copy_image
  - GL_ARB_cull_distance
  - GL_ARB_debug_output
  - GL_ARB_depth_buffer_float
  - GL_ARB_depth_clamp
  - GL_ARB_depth_texture
  - GL_ARB_derivative_control
  - GL_ARB_direct_state_access
  - GL_ARB_draw_buffers
  - GL_ARB_draw_buffers_blend
  - GL_ARB_draw_indirect
  - GL_ARB_draw_elements_base_vertex
  - GL_ARB_draw_instanced
  - GL_ARB_enhanced_layouts
  - GL_ARB_ES2_compatibility
  - GL_ARB_ES3_compatibility
  - GL_ARB_ES3_1_compatibility
  - GL_ARB_ES3_2_compatibility
  - GL_ARB_explicit_attrib_location
  - GL_ARB_explicit_uniform_location
  - GL_ARB_fragment_coord_conventions
  - GL_ARB_fragment_layer_viewport
  - GL_ARB_fragment_program
  - GL_ARB_fragment_program_shadow
  - GL_ARB_fragment_shader
  - GL_ARB_fragment_shader_interlock
  - GL_ARB_framebuffer_no_attachments
  - GL_ARB_framebuffer_object
  - GL_ARB_framebuffer_sRGB
  - GL_ARB_geometry_shader4
  - GL_ARB_get_program_binary
  - GL_ARB_get_texture_sub_image
  - GL_ARB_gl_spirv
  - GL_ARB_gpu_shader5
  - GL_ARB_gpu_shader_fp64
  - GL_ARB_gpu_shader_int64
  - GL_ARB_half_float_pixel
  - GL_ARB_half_float_vertex
  - GL_ARB_imaging
  - GL_ARB_indirect_parameters
  - GL_ARB_instanced_arrays
  - GL_ARB_internalformat_query
  - GL_ARB_internalformat_query2
  - GL_ARB_invalidate_subdata
  - GL_ARB_map_buffer_alignment
  - GL_ARB_map_buffer_range
  - GL_ARB_multi_bind
  - GL_ARB_multi_draw_indirect
  - GL_ARB_multisample
  - GL_ARB_multitexture
  - GL_ARB_occlusion_query
  - GL_ARB_occlusion_query2
  - GL_ARB_parallel_shader_compile
  - GL_ARB_pipeline_statistics_query
  - GL_ARB_pixel_buffer_object
  - GL_ARB_point_parameters
  - GL_ARB_point_sprite
  - GL_ARB_polygon_offset_clamp
  - GL_ARB_post_depth_coverage
  - GL_ARB_program_interface_query
  - GL_ARB_provoking_vertex
  - GL_ARB_query_buffer_object
  - GL_ARB_robust_buffer_access_behavior
  - GL_ARB_robustness
  - GL_ARB_sample_locations
  - GL_ARB_sample_shading
  - GL_ARB_sampler_objects
  - GL_ARB_seamless_cube_map
  - GL_ARB_seamless_cubemap_per_texture
  - GL_ARB_separate_shader_objects
  - GL_ARB_shader_atomic_counter_ops
  - GL_ARB_shader_atomic_counters
  - GL_ARB_shader_ballot
  - GL_ARB_shader_bit_encoding
  - GL_ARB_shader_clock
  - GL_ARB_shader_draw_parameters
  - GL_ARB_shader_group_vote
  - GL_ARB_shader_image_load_store
  - GL_ARB_shader_image_size
  - GL_ARB_shader_objects
  - GL_ARB_shader_precision
  - GL_ARB_shader_storage_buffer_object
  - GL_ARB_shader_subroutine
  - GL_ARB_shader_texture_image_samples
  - GL_ARB_shader_texture_lod
  - GL_ARB_shading_language_100
  - GL_ARB_shader_viewport_layer_array
  - GL_ARB_shading_language_420pack
  - GL_ARB_shading_language_include
  - GL_ARB_shading_language_packing
  - GL_ARB_shadow
  - GL_ARB_sparse_buffer
  - GL_ARB_sparse_texture
  - GL_ARB_sparse_texture2
  - GL_ARB_sparse_texture_clamp
  - GL_ARB_spirv_extensions
  - GL_ARB_stencil_texturing
  - GL_ARB_sync
  - GL_ARB_tessellation_shader
  - GL_ARB_texture_barrier
  - GL_ARB_texture_border_clamp
  - GL_ARB_texture_buffer_object
  - GL_ARB_texture_buffer_object_rgb32
  - GL_ARB_texture_buffer_range
  - GL_ARB_texture_compression
  - GL_ARB_texture_compression_bptc
  - GL_ARB_texture_compression_rgtc
  - GL_ARB_texture_cube_map
  - GL_ARB_texture_cube_map_array
  - GL_ARB_texture_env_add
  - GL_ARB_texture_env_combine
  - GL_ARB_texture_env_crossbar
  - GL_ARB_texture_env_dot3
  - GL_ARB_texture_filter_anisotropic
  - GL_ARB_texture_filter_minmax
  - GL_ARB_texture_float
  - GL_ARB_texture_gather
  - GL_ARB_texture_mirror_clamp_to_edge
  - GL_ARB_texture_mirrored_repeat
  - GL_ARB_texture_multisample
  - GL_ARB_texture_non_power_of_two
  - GL_ARB_texture_query_levels
  - GL_ARB_texture_query_lod
  - GL_ARB_texture_rectangle
  - GL_ARB_texture_rg
  - GL_ARB_texture_rgb10_a2ui
  - GL_ARB_texture_stencil8
  - GL_ARB_texture_storage
  - GL_ARB_texture_storage_multisample
  - GL_ARB_texture_swizzle
  - GL_ARB_texture_view
  - GL_ARB_timer_query
  - GL_ARB_transform_feedback2
  - GL_ARB_transform_feedback3
  - GL_ARB_transform_feedback_instanced
  - GL_ARB_transform_feedback_overflow_query
  - GL_ARB_transpose_matrix
  - GL_ARB_uniform_buffer_object
  - GL_ARB_vertex_array_bgra
  - GL_ARB_vertex_array_object
  - GL_ARB_vertex_attrib_64bit
  - GL_ARB_vertex_attrib_binding
  - GL_ARB_vertex_buffer_object
  - GL_ARB_vertex_program
  - GL_ARB_vertex_shader
  - GL_ARB_vertex_type_10f_11f_11f_rev
  - GL_ARB_vertex_type_2_10_10_10_rev
  - GL_ARB_viewport_array
  - GL_ARB_window_pos
  - GL_ATI_draw_buffers
  - GL_ATI_texture_float
  - GL_ATI_texture_mirror_once
  - GL_S3_s3tc
  - GL_EXT_texture_env_add
  - GL_EXT_abgr
  - GL_EXT_bgra
  - GL_EXT_bindable_uniform
  - GL_EXT_blend_color
  - GL_EXT_blend_equation_separate
  - GL_EXT_blend_func_separate
  - GL_EXT_blend_minmax
  - GL_EXT_blend_subtract
  - GL_EXT_compiled_vertex_array
  - GL_EXT_Cg_shader
  - GL_EXT_depth_bounds_test
  - GL_EXT_direct_state_access
  - GL_EXT_draw_buffers2
  - GL_EXT_draw_instanced
  - GL_EXT_draw_range_elements
  - GL_EXT_fog_coord
  - GL_EXT_framebuffer_blit
  - GL_EXT_framebuffer_multisample
  - GL_EXTX_framebuffer_mixed_formats
  - GL_EXT_framebuffer_multisample_blit_scaled
  - GL_EXT_framebuffer_object
  - GL_EXT_framebuffer_sRGB
  - GL_EXT_geometry_shader4
  - GL_EXT_gpu_program_parameters
  - GL_EXT_gpu_shader4
  - GL_EXT_multi_draw_arrays
  - GL_EXT_packed_depth_stencil
  - GL_EXT_packed_float
  - GL_EXT_packed_pixels
  - GL_EXT_pixel_buffer_object
  - GL_EXT_point_parameters
  - GL_EXT_polygon_offset_clamp
  - GL_EXT_post_depth_coverage
  - GL_EXT_provoking_vertex
  - GL_EXT_raster_multisample
  - GL_EXT_rescale_normal
  - GL_EXT_secondary_color
  - GL_EXT_separate_shader_objects
  - GL_EXT_separate_specular_color
  - GL_EXT_shader_image_load_formatted
  - GL_EXT_shader_image_load_store
  - GL_EXT_shader_integer_mix
  - GL_EXT_shadow_funcs
  - GL_EXT_sparse_texture2
  - GL_EXT_stencil_two_side
  - GL_EXT_stencil_wrap
  - GL_EXT_texture3D
  - GL_EXT_texture_array
  - GL_EXT_texture_buffer_object
  - GL_EXT_texture_compression_dxt1
  - GL_EXT_texture_compression_latc
  - GL_EXT_texture_compression_rgtc
  - GL_EXT_texture_compression_s3tc
  - GL_EXT_texture_cube_map
  - GL_EXT_texture_edge_clamp
  - GL_EXT_texture_env_combine
  - GL_EXT_texture_env_dot3
  - GL_EXT_texture_filter_anisotropic
  - GL_EXT_texture_filter_minmax
  - GL_EXT_texture_integer
  - GL_EXT_texture_lod
  - GL_EXT_texture_lod_bias
  - GL_EXT_texture_mirror_clamp
  - GL_EXT_texture_object
  - GL_EXT_texture_shared_exponent
  - GL_EXT_texture_sRGB
  - GL_EXT_texture_sRGB_R8
  - GL_EXT_texture_sRGB_decode
  - GL_EXT_texture_storage
  - GL_EXT_texture_swizzle
  - GL_EXT_timer_query
  - GL_EXT_transform_feedback2
  - GL_EXT_vertex_array
  - GL_EXT_vertex_array_bgra
  - GL_EXT_vertex_attrib_64bit
  - GL_EXT_window_rectangles
  - GL_EXT_import_sync_object
  - GL_IBM_rasterpos_clip
  - GL_IBM_texture_mirrored_repeat
  - GL_KHR_context_flush_control
  - GL_KHR_debug
  - GL_EXT_memory_object
  - GL_EXT_memory_object_win32
  - GL_EXT_win32_keyed_mutex
  - GL_KHR_parallel_shader_compile
  - GL_KHR_no_error
  - GL_KHR_robust_buffer_access_behavior
  - GL_KHR_robustness
  - GL_EXT_semaphore
  - GL_EXT_semaphore_win32
  - GL_KTX_buffer_region
  - GL_NV_alpha_to_coverage_dither_control
  - GL_NV_bindless_multi_draw_indirect
  - GL_NV_bindless_multi_draw_indirect_count
  - GL_NV_bindless_texture
  - GL_NV_blend_equation_advanced
  - GL_NV_blend_equation_advanced_coherent
  - GL_NVX_blend_equation_advanced_multi_draw_buffers
  - GL_NV_blend_minmax_factor
  - GL_NV_blend_square
  - GL_NV_clip_space_w_scaling
  - GL_NV_command_list
  - GL_NV_compute_program5
  - GL_NV_conditional_render
  - GL_NV_conservative_raster
  - GL_NV_conservative_raster_dilate
  - GL_NV_conservative_raster_pre_snap_triangles
  - GL_NV_copy_depth_to_color
  - GL_NV_copy_image
  - GL_NV_depth_buffer_float
  - GL_NV_depth_clamp
  - GL_NV_draw_texture
  - GL_NV_draw_vulkan_image
  - GL_NV_ES1_1_compatibility
  - GL_NV_ES3_1_compatibility
  - GL_NV_explicit_multisample
  - GL_NV_feature_query
  - GL_NV_fence
  - GL_NV_fill_rectangle
  - GL_NV_float_buffer
  - GL_NV_fog_distance
  - GL_NV_fragment_coverage_to_color
  - GL_NV_fragment_program
  - GL_NV_fragment_program_option
  - GL_NV_fragment_program2
  - GL_NV_fragment_shader_interlock
  - GL_NV_framebuffer_mixed_samples
  - GL_NV_framebuffer_multisample_coverage
  - GL_NV_geometry_shader4
  - GL_NV_geometry_shader_passthrough
  - GL_NV_gpu_program4
  - GL_NV_internalformat_sample_query
  - GL_NV_gpu_program4_1
  - GL_NV_gpu_program5
  - GL_NV_gpu_program5_mem_extended
  - GL_NV_gpu_program_fp64
  - GL_NV_gpu_shader5
  - GL_NV_half_float
  - GL_NV_light_max_exponent
  - GL_NV_memory_attachment
  - GL_NV_multisample_coverage
  - GL_NV_multisample_filter_hint
  - GL_NV_occlusion_query
  - GL_NV_packed_depth_stencil
  - GL_NV_parameter_buffer_object
  - GL_NV_parameter_buffer_object2
  - GL_NV_path_rendering
  - GL_NV_path_rendering_shared_edge
  - GL_NV_pixel_data_range
  - GL_NV_point_sprite
  - GL_NV_primitive_restart
  - GL_NV_query_resource
  - GL_NV_query_resource_tag
  - GL_NV_register_combiners
  - GL_NV_register_combiners2
  - GL_NV_sample_locations
  - GL_NV_sample_mask_override_coverage
  - GL_NV_shader_atomic_counters
  - GL_NV_shader_atomic_float
  - GL_NV_shader_atomic_float64
  - GL_NV_shader_atomic_fp16_vector
  - GL_NV_shader_atomic_int64
  - GL_NV_shader_buffer_load
  - GL_NV_shader_storage_buffer_object
  - GL_NV_stereo_view_rendering
  - GL_NV_texgen_reflection
  - GL_NV_texture_barrier
  - GL_NV_texture_compression_vtc
  - GL_NV_texture_env_combine4
  - GL_NV_texture_multisample
  - GL_NV_texture_rectangle
  - GL_NV_texture_rectangle_compressed
  - GL_NV_texture_shader
  - GL_NV_texture_shader2
  - GL_NV_texture_shader3
  - GL_NV_transform_feedback
  - GL_NV_transform_feedback2
  - GL_NV_uniform_buffer_unified_memory
  - GL_NV_vertex_array_range
  - GL_NV_vertex_array_range2
  - GL_NV_vertex_attrib_integer_64bit
  - GL_NV_vertex_buffer_unified_memory
  - GL_NV_vertex_program
  - GL_NV_vertex_program1_1
  - GL_NV_vertex_program2
  - GL_NV_vertex_program2_option
  - GL_NV_vertex_program3
  - GL_NV_viewport_array2
  - GL_NV_viewport_swizzle
  - GL_NVX_conditional_render
  - GL_NVX_gpu_memory_info
  - GL_NVX_multigpu_info
  - GL_NVX_nvenc_interop
  - GL_NV_shader_thread_group
  - GL_NV_shader_thread_shuffle
  - GL_KHR_blend_equation_advanced
  - GL_KHR_blend_equation_advanced_coherent
  - GL_OVR_multiview
  - GL_OVR_multiview2
  - GL_SGIS_generate_mipmap
  - GL_SGIS_texture_lod
  - GL_SGIX_depth_texture
  - GL_SGIX_shadow
  - GL_SUN_slice_accum
  - GL_WIN_swap_hint
  - WGL_EXT_swap_control
  - WGL_ARB_buffer_region
  - WGL_ARB_create_context
  - WGL_ARB_create_context_no_error
  - WGL_ARB_create_context_profile
  - WGL_ARB_create_context_robustness
  - WGL_ARB_context_flush_control
  - WGL_ARB_extensions_string
  - WGL_ARB_make_current_read
  - WGL_ARB_multisample
  - WGL_ARB_pbuffer
  - WGL_ARB_pixel_format
  - WGL_ARB_pixel_format_float
  - WGL_ARB_render_texture
  - WGL_ATI_pixel_format_float
  - WGL_EXT_colorspace
  - WGL_EXT_create_context_es_profile
  - WGL_EXT_create_context_es2_profile
  - WGL_EXT_extensions_string
  - WGL_EXT_framebuffer_sRGB
  - WGL_EXT_pixel_format_packed_float
  - WGL_EXT_swap_control_tear
  - WGL_NVX_DX_interop
  - WGL_NV_DX_interop
  - WGL_NV_DX_interop2
  - WGL_NV_copy_image
  - WGL_NV_delay_before_swap
  - WGL_NV_float_buffer
  - WGL_NV_multisample_coverage
  - WGL_NV_render_depth_texture
  - WGL_NV_render_texture_rectangle

- OpenGL SPIR-V Extensions: 10
  - SPV_KHR_post_depth_coverage
  - SPV_KHR_shader_atomic_counter_ops
  - SPV_KHR_shader_ballot
  - SPV_KHR_shader_draw_parameters
  - SPV_KHR_storage_buffer_storage_class
  - SPV_KHR_subgroup_vote
  - SPV_NV_geometry_shader_passthrough
  - SPV_NV_sample_mask_override_coverage
  - SPV_NV_stereo_view_rendering
  - SPV_NV_viewport_array2


17
Quote
The wait is finally over: we’re taking DirectX Raytracing (DXR) out of experimental mode!

Today, once you update to the next release of Windows 10, DirectX Raytracing will work out-of-box on supported hardware. And speaking of hardware, the first generation of graphics cards with native raytracing support is already available and works with the October 2018 Windows Update.

The first wave of DirectX Raytracing in games is coming soon, with the first three titles that support our API: Battlefield V, Metro Exodus and Shadow of the Tomb Raider. Gamers will be able to have raytracing on their machines in the near future!

Link: https://blogs.msdn.microsoft.com/directx/2018/10/02/directx-raytracing-and-the-windows-10-october-2018-update/

To manually update to Windows 10 v1809, just launch the Update Assitant.

DRX related links:
- (GDC 2018) DirectX Raytracing (DXR): Videos + Links
- Why Today Is an Exciting Moment for Gamers and Important Catalyst for Ray-Traced Games
- Introduction to NVIDIA RTX and DirectX Ray Tracing
- DirectX Raytracing Tutorials
- SEED - Project PICA PICA - Real-time Raytracing Experiment using DXR (DirectX Raytracing)


#directx #dxr #direct3d12 #gaming

18
Geeks3D's GPU Tools / Re: Furry Ball Rendering
« on: October 01, 2018, 05:09:06 PM »
Furry ball rendering... where did you see that furry ball? In which tool?

19
GeeXLab - english forum / Re: NVIDIA Bindless Textures Demo
« on: October 01, 2018, 04:53:59 PM »
HYP_UniformBuffer.SetArrayElement_u64_BindlessTexture_NV  (really awful function name!!!) has no direct equivalent in OpenGL. Actually the code creates an uniform buffer (GL_UNIFORM_BUFFER) with num_textures entries and set entries with NVIDIA texture handles (which are uint64 or ui64).  Look at the GL_NV_bindless_texture extension for more details. It's a very old demo and I no longer have all details in mind...

20
3D-Tech News Around The Web / Mesh Shaders Overview and Possibilities
« on: October 01, 2018, 04:14:10 PM »
Quote
NVIDIA recently announced their latest GPU architecture, called Turing. Although its headlining feature is hardware-accelerated ray tracing, Turing also includes several other developments that look quite intriguing in their own right.

One of these is the new concept of mesh shaders, details of which dropped a couple weeks ago—and the graphics programming community was agog, with many enthusiastic discussions taking place on Twitter and elsewhere. So what are mesh shaders (and their counterparts, task shaders), why are graphics programmers so excited about them, and what might we be able to do with them?

Link: http://www.reedbeta.com/blog/mesh-shader-possibilities/

Other links:
- https://devblogs.nvidia.com/introduction-turing-mesh-shaders/

#turing #meshshader #taskshader #meshlet

Pages: [1] 2 3 ... 82