Recent Posts

Pages: [1] 2 3 ... 10
3D-Tech News Around The Web / mud: all-purpose c++ app prototyping library
« Last post by JeGX on May 18, 2018, 08:19:52 PM »
mud is an all-purpose c++ app prototyping library, focused towards live graphical apps and games.
mud contains all the essential building blocks to develop lean c++ apps from scratch, providing reflection and low level generic algorithms, an immediate ui paradigm, and an immediate minimalistic and flexible graphics renderer.

In essence, mud aims to be the quickest and simplest way to prototype a c++ graphical application: it provides facilities which, in retrospect, you will never want to build an application without. It handles the problem of the code you don't want to write, and should not have to write, whenever prototyping an app. As such the core principle in mud is : don't repeat yourself, and we take this aim very seriously. We also believe it's a principle that is way too often disregarded.


This work has been presented at the ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2018 on 15th of May 2018.

Compositing transparent surfaces rendered in an arbitrary order requires techniques for order-independent transparency. Each surface color needs to be multiplied by the appropriate transmittance to the eye to incorporate occlusion. Building upon moment shadow mapping, we present a moment-based method for compact storage and fast reconstruction of this depth-dependent function per pixel. We work with the logarithm of the transmittance such that the function may be accumulated additively rather than multiplicatively. Then an additive rendering pass for all transparent surfaces yields moments. Moment-based reconstruction algorithms provide approximations to the original function, which are used for compositing in a second additive pass. We utilize existing algorithms with four or six power moments and develop new algorithms using eight power moments or up to four trigonometric moments. The resulting techniques are completely order-independent, work well for participating media as well as transparent surfaces and come in many variants providing different tradeoffs. We also utilize the same approach for the closely related problem of computing shadows for transparent surfaces.

- whitepaper
- code
- source
3D-Tech News Around The Web / NVIDIA FCAT VR 3.26
« Last post by Stefan on May 18, 2018, 06:24:45 PM »
Download FCAT VR software to analyze GPU performance and quantify smoothness by identifying issues that simple frame-counters can miss.

Had already been released in March, but NVIDIA never announces FCAT updates...
GeeXLab - english forum / Re: (WIP) Bullet Physics
« Last post by JeGX on May 18, 2018, 04:14:18 PM »
New screenshots. One nice thing in Bullet Physics is the support of cylinder-shaped rigid body which is not supported in PhysX.

3D-Tech News Around The Web / Vulkan API specifications 1.1.75 released
« Last post by Stefan on May 18, 2018, 02:12:51 AM »
Change log for May 16, 2018 Vulkan 1.1.75 spec update:

  * Update release number to 75.

Github Issues:

  * Use Github handles (e.g. @handle) for contact information in vk.xml,
    when available (partial fix for public issue 630).
  * Add size invariance guarantee to slink:VkMemoryRequirements for
    buffer/image memory requirements (public issue 661).
  * Correct scope (conditional constructs) in valid usage statement for
    slink:VkBindImageMemoryInfo (public pull request 684).
  * Clean up minor markup issues and typos in the
    `VK_ANDROID_external_memory_android_hardware_buffer` extension appendix
    (public pull request 698).
  * Modify registry processing script to avoid irrelevant warnings of benign
    enumerant redefinitions (public pull request 705).
  * Fix some duplicate words and some misspelled "`stagess`" (public pull
    request 712)

Internal Issues:

  * Enable continuous integration tests on the internal Khronos gitlab
    server by adding a .gitlab-ci.yml file. Note: this does not implement CI
    on the public Github repository (internal issue 408).
  * Add link from description of depth clamping in the <<fragops-depth,
    depth test>> section to the
    parameter which enables it, making it easily searchable / findable
    (internal issue 1125).
  * Clarify that arrays of arrays of descriptors are not allowed in the
    <<interfaces-resources-descset, Descriptor Set Interface>> and
    <<interfaces-resources-setandbinding, DescriptorSet and Binding
    Assignment>> sections (internal issue 1192).
  * Comment out some redundant nested asciidoctor conditionals in the
    slink:VkImageViewCreateInfo valid usage block, and explain in all cases
    why the redundant conditional exist and are commented out (internal
    issue 1231).
  * Move a valid usage statement from slink:VkCommandPoolCreateInfo to the
    parent flink:vkCreateCommandPool, where the device queue is known
    (internal issue 1233).
  * Add new slink:VkBaseInStructure and slink:VkBaseOutStructure types which
    can be used by extensions and implementations for handling Vulkan
    sType/pNext style structures in a more generic way (internal issue
  * Clarify that
    only applies to external-format images. Add references to this in valid
    usage statements that previously only referred to
    slink:VkFormatProperties (internal issue 1244).
  * Fix the description of elink:VkPipelineCreateFlagBits enumerant
    name (internal issue 1279).
  * Add a NOTE to the <<interfaces-resources-setandbinding, DescriptorSet
    and Binding Assignment>> section making it clear that variables sharing
    a storage class may use identical descriptor set and bindings.
    Specifically state the sometimes misunderstood ability to have one or
    more differently typed image descriptors sharing a descriptor set and
    binding (internal SPIR-V issue 264).
  * Make DynamicIndexing features and capabilities also control the
    uniformity of the descriptor used in memory access instructions in the
    <<interfaces-resources-descset, Descriptor Set Interface>> section. This
    makes them also apply to variable_pointer usage, which can bypass the
    array indexing operation (internal SPIR-V issue 289).

Other Issues:

  * Correct flink:vkCmdBlitImage limitations on cubic blits to be 2D only,
    not 3D.
  * Update valid usage statements for slink:VkRenderPassCreateInfo and
  * Move YCbCr-related VU statements from slink:VkDescriptorImageInfo to
    slink:VkWriteDescriptorSet, where all needed information is known, and
    remove redundant statements.
  * Move SPIR-V restriction that images be of either sampled or storage
    types from the <<interfaces-resources-descset, Descriptor Set
    Interface>> section to the <<spirvenv-module-validation, Validation
    Rules within a Module>> section of the SPIR-V appendix.
3D-Tech News Around The Web / NVIDIA CUDA SDK 9.2 released
« Last post by Stefan on May 17, 2018, 06:46:17 PM »
The release notes for the CUDA Toolkit can be found online at
  2.1. General CUDA 
  • Improved kernel launch latency (using the <<< >>> syntax and the cudaLaunchKernel API) for both multithreaded and multi-GPU code by up to a factor of 2 compared to CUDA 9.0.
  • Added support for unified memory with address translation services (ATS) on IBM POWER9.
  • Added arithmetic operators for the __half2 data type and a volatile assignment operator for the __half data type.
  • Added version 6.2 of the Parallel Thread Execution instruction set architecture (ISA). For details about new instructions (activemask, FP16, and atomics) and deprecated instructions, see Parallel Thread Execution ISA Version 6.2 in the PTX documentation.
  • IPC functionality is now supported on Windows.
  • Added P2P write and read bandwidth and latency metrics to the p2pBandwidthLatencyTest sample.
  • Thrust now uses CUB v1.7.5.
  • Added some performance optimizations in Thrust for the templated complex type.
  • Added support for new operating systems. For a list of operating systems supported by CUDA, see the following information in the installation guides:
  • Changed CUDA_DEVICE_ORDER==FASTEST_FIRST to enumerate GPUs in descending order of performance.
  • Added a new driver API cuStreamGetCtx to retrieve the context associated with a stream. This API is primarily used by the multidevice cooperative launch runtime API to ensure that the specified function's module is loaded in the right context.
  • Added support for full core dump generation on Linux by using named pipes for MPS-based CUDA applications and CUDA applications that are not based on MPS.
  • Added these new helper APIs for cooperative groups:
    • grid_dim() to get the 3-dimensional grid size
    • block_dim() to get the 3-dimensional block size
CUDA Toolkit 9.2 Download
Open source:

GeeXLab - english forum / (WIP) Bullet Physics
« Last post by JeGX on May 17, 2018, 01:57:48 PM »
I started a minimal integration of Bullet Physics in GeeXLab in order to have an alternative to NVIDIA PhysX. Currently only rigid body collisions are supported. Bullet3 support will be available in GeeXLab 0.25+.

Geeks3D's GPU Tools / Re: GPU Caps Viewer released
« Last post by JeGX on May 16, 2018, 03:04:24 PM »
TEST TEST and TEST before shipping any piece of code!!!
Go back home GPU Shark, I will fix your face!
Thanks Stefan  ;)

If you are a software developer working in the video game industry and wondering what else you could do to improve the quality of your product or make the development process easier and you don't use static analysis – it's just the right time to start doing so. You doubt that? OK, I'll try to convince you. And if you are just looking to see what coding mistakes are common with video-game and game-engine developers, then you're, again, at the right place: I have picked the most interesting ones for you.

Geeks3D's GPU Tools / Re: GPU Caps Viewer released
« Last post by Stefan on May 15, 2018, 08:36:04 PM »
Unfortunately GPUShark looks worse than before.Scaling at 100%
The GPU name flows out of the box because the font is too big.

Pages: [1] 2 3 ... 10