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 ... 90
Q2VKPT is the first playable game that is entirely raytraced and efficiently simulates fully dynamic lighting in real-time, with the same modern techniques as used in the movie industry. The recent release of GPUs with raytracing capabilities has opened up entirely new possibilities for the future of game graphics, yet making good use of raytracing is non-trivial. While some games have started to explore improvements in shadow and reflection rendering, Q2VKPT is the first project to implement an efficient unified solution for all types of light transport: direct, scattered, and reflected light. This kind of unification has led to a dramatic increase in both flexibility and productivity in the movie industry. The chance to have the same development in games promises a similar increase in visual fidelity and realism for game graphics in the coming years.

This project is meant to serve as a proof-of-concept for computer graphics research and the game industry alike, and to give enthusiasts a glimpse into the potential future of game graphics. Besides the use of hardware-accelerated raytracing, Q2VKPT mainly gains its efficiency from an adaptive image filtering technique that intelligently tracks changes in the scene illumination to re-use as much information as possible from previous computations.

Welcome to Q2VKPT, a Quake II engine with real-time path tracing.  This client
implements fully dynamic illumination without precomputation supporting area
light sources, reflections, soft shadows, and indirect illumination. This
client is a port of our real-time path tracer vkpt and is based on the Quake II
engine Q2PRO.

This client requires a high-end GPU supporting the Vulkan extension

- Q2VKPT homepage
- github repository
- Video: Q2VKPT - Quake 2 real-time path tracing using RTX

Q2VKPT - Quake2 Vulkan Path Tracer

Q2VKPT - Quake2 Vulkan Path Tracer

3D-Tech News Around The Web / On C++ and Object Oriented Programming
« on: January 18, 2019, 02:26:59 PM »
Much has been written lately about C++, the direction the language is taking and how most of what gets called “modern C++” is just a no-go zone for game developers.

Although I fully agree with the sentiment, I tend to look at C++ evolution as the effect of a pervasive set of ideas that dominate the minds of most developers. In this post I’ll try to put some of my thoughts on these ideas in order and, hopefully, something coherent will come up.


3D-Tech News Around The Web / Is C++ fast?
« on: January 18, 2019, 02:02:10 PM »
A library that I work on often these days, meshoptimizer, has changed over time to use fewer and fewer C++ library features, up until the current state where the code closely resembles C even though it uses some C++ features. There have been many reasons behind the changes - dropping C++11 requirement allowed me to make sure anybody can compile the library on any platform, removing std::vector substantially improved performance of unoptimized builds, removing algorithm includes sped up compilation. However, I’ve never quite taken the leap all the way to C with this codebase. Today we’ll explore the gamut of possible C++ implementations for one specific algorithm, mesh simplifier, henceforth known as simplifier.cpp, and see if going all the way to C is worthwhile.


eneida is an experimental demoscene project written in C99 and Direct3D 12. Fully standalone, zero dependencies (no Visual Studio, no Windows SDK, no CRT, no #include usage). C and HLSL compilers included.


Project goals:
- Create interesting, real-time animations by writing simple, low-level code.
- Explore math, procedural generation techniques and audio programming.
- Eventually, create a demoscene production and submit it to a demo party.

Project rules:
- The most important rule is: Write only the code that you need and make it as simple as possible.
- Code is fully standalone, it compiles by running make.bat on any Windows machine (no Visual Studio or any other software is needed).
- No external headers or libs are required (not even system or libc headers).
- Only external functions used are LoadLibrary and GetProcAddress. Everything else is loaded at runtime.
- To optimze build times #include is not allowed. Everything must be declared in the source code.
- Each program consists of single C and single HLSL file.


Here are two new Python 3 demos. Both demos cover the same topic: how to read a RSS feed. The first demo uses feedparser while the second one uses Atoma.

The demos require GeeXLab 0.27.2+.

- Python 3 Demopack Download

Demos are available in the py3-05-rss-reader-feedparser/ and py3-06-rss-reader-atoma/ folders.


Python 3 RSS reader with GeeXLab, feedparser and Atoma

3D-Tech News Around The Web / Vulkan API specifications 1.1.98 released
« on: January 17, 2019, 08:39:08 AM »
Change log for January 13, 2019 Vulkan 1.1.98 spec update:

  * Update release number to 98.

Public Issues:

  * Fix missing markup in flink:vkDestroyPipelineLayout valid usage
    statement (pull request 882).
  * Add missing contributors for `<<VK_EXT_buffer_device_address>>` (public
    pull request 891).

Internal Issues:

  * Detect nested bullet points in valid usage blocks and warn about them
    during VUID assignment (internal issue 1382).
  * Update the style guide to document the process for reserving new bits in
    bitmask types (internal issue 1411).
  * Clarify for slink:VkApplicationInfo::pname:apiVersion and in the
    <<fundamentals-validusage-versions, Valid Usage for Newer Core
    Versions>> section when it is valid for an application to use a certain
    version of Vulkan API functionality (for an instance and for a
    device/physical device); and when the validation layers must generate an
    error (internal issue 1412).
  * Add optional <<memory-model-availability-visibility, transitive
    availability/visibility operations to the memory model, including a new
    pname:vulkanMemoryModelAvailabilityVisibilityChains feature for
    slink:VkPhysicalDeviceVulkanMemoryModelFeaturesKHR (internal issue
  * Add the code:StorageBuffer storage class to those in the
    <<interfaces-resources-descset, Descriptor Set Interface>> (internal
    issue 1480).
  * Add missing `returnedonly` tags for a number of returned extension
    structures that can be passed in pname:pNext chains (internal issue
  * Clean up and rearrange some spec language for
    slink:VkRenderPassCreateInfo and slink:VkAttachmentReference.txt
    (internal issue 1522).
  * Correctly round the code:OpVectorTimesScalar and
    code:OpMatrixTimesScalar SPIR-V operations in the <<Precision of core
    SPIR-V Instructions>> table (internal merge request 2996).
  * Work around cases in flink:vkCmdBeginTransformFeedbackEXT,
    flink:vkCmdEndTransformFeedbackEXT, and
    slink:VkPipelineCoverageModulationStateCreateInfoNV where an array
    parameter is `optional` but the length is not in `vk.xml`. This is an
    interim fix using `noautovalidity` + handcoded VU replacing those that
    should be autogenerated (internal issue 2944 and
  * Remove redundant capability validation of the code:float16 and code:int8
    SPIR-V capabilities from the <<spirvenv-capabilities, Capabilities>>
    section, since they are already covered in the preceding table.
  * Update check_spec_links script, including validation for reference page
    open blocks. Fix errors identified by the script.


GeeXLab - english forum / GeeXLab released for Windows and Linux
« on: January 16, 2019, 05:41:58 PM »
A new update of GeeXLab for Windows 64-bit and Linux 64-bit is available. ImGui has been updated to latest version 1.67 release and new tabs functions have been added. A new function to set the number of solver iterations per actor has been added to PhysX 3 and PhysX 4 plugins.


Version - 2019.01.15
+ (2019.01.15) added actor_set_solver_iterations() to gh_physx3 and
  gh_physx4 libraries (lua and python).
+ (2019.01.15) added tab_bar_begin_v2(), tab_item_begin(), tab_item_end()
  and tab_item_set_closed() to gh_imgui lib (lua, python).
- (2019.01.15) deprecated gh_imgui.tab_bar_add().
! (2019.01.15) updated with ImGui 1.67 final release.

Thanks for your tests and feedback. That will probably help other owners of RX 400.

GeeXLab - english forum / H4shG3n 0.3.0 hash code generator released
« on: January 16, 2019, 02:20:06 PM »
A new version of H4shG3n has been released.

Homepage and downloads:

Version - 2019/01/16
+ (Windows) Buttons have been added to manually copy hash codes
   to clipboard (hash codes are no longer automatically copied).
+ (Windows, Linux) a button has been added to export hash codes
   to the hashcodes.txt file.
! updated with GeeXLab

H4shG3n - Hash codes generator MD5, SHA1, SAH256

Geeks3D's GPU Tools / FurMark 1.20.4 released
« on: January 16, 2019, 11:36:58 AM »
A new maintenance version of FurMark has been released:

Version - 2019-01-16
+ added NVIDIA GeForce RTX 2060 support
! updated: GPU Shark
! updated: ZoomGPU 1.22.5 (GPU monitoring library).

Geeks3D's GPU Tools / GPU Caps Viewer 1.41.3 released
« on: January 16, 2019, 10:54:56 AM »
A new maintenance version of GPU Caps Viewer is ready.


Version - 2019.01.16
+ added support of NVIDIA GeForce RTX 2060.
- dropped support of Windows XP.
! updated with latest GeeXLab SDK libs.
! updated: GPU Shark
! updated: ZoomGPU 1.22.5 (GPU monitoring library).

Geeks3D's GPU Tools / GPU Shark released
« on: January 16, 2019, 10:44:37 AM »
A new maintenance version of GPU Shark is available.


Version - 2019.01.16
+ added NVIDIA GeForce RTX 2060 support.
- removed support of Windows XP.
! updated: ZoomGPU 1.22.5 (GPU monitoring library).

Quick test of ImGui 1.67 tabs in upcoming GeeXLab 0.27.3: tabs work and they are simple to code.

Geeks3D's GPU Tools / FurMark 1.20.3 released
« on: January 15, 2019, 04:20:01 PM »
A maintenance version of FurMark has been released:

Version - 2019-01-15
* fixed the GPU temperature reading on some Radeon GPUs like RX 400 series.
! GPU temperature spike filter is now disabled by default.
- removed support of Windows XP.

I'm still impressed by the stability of stacks in PhysX.

Both CPU and GPU versions work fine.
The PhysX GPU is a little GeForce GT 1030...

I will release the demo as soon as possible  ;)

GeeXLab - PhysX 4 demo - stack of blocks

GeeXLab - PhysX 4 demo - stack of blocks

GeeXLab - PhysX 4 demo - stack of blocks

GeeXLab - PhysX 4 demo - stack of blocks

#geexlab #physx #physx3 #physx4 #demo #lua

A new Python 3 demo has been added to the demopack.

This demo shows how to code a simple TCP server (as well as a TCP client). The server is stoppable.

The demos require GeeXLab 0.27.2+.

- Python 3 Demopack Download

The demo is available in the py3-04-socket-tcp-server/ folder.


Python 3 socket module - TCP server with GeeXLab

GeeXLab - english forum / Re: Hash codes demo (MD5, SHA-1, SHA-256)
« on: January 14, 2019, 06:36:00 PM »
Is it possible to not run render code if final image does not change? I remember some info from changelog about adding such method.

Yes, GeeXLab has a mode where 3D/2D rendering is driven by a timer or input events (mouse, keyboard).

Just edit the main.xml file and add

render_timer_interval="200" separate_render_thread="0"

to the window xml node:

Code: [Select]
<window name="win3d01" title="Hash Codes"
              width="740" height="600"
              render_timer_interval="200" separate_render_thread="0"
              gl_version_major="2" gl_version_minor="1"  />

The render code is executed every 200ms or if an input event is received.

Always Trouble Inside...

Indeed, there is a problem. I did test with a RX 470 and a Vega 56.

- RX 470 : at the first run of FurMark, the GPU temperature is correct. I fully closed FurMark, launched it again, and, at the second run, GPU temp reading is wrong.

- Vega 56: at the first run of FurMark, the GPU temperature is properly read. At second run, GPU temp is still ok, at the third run still ok...

Looks like the issue is only present on RX 400 (maybe RX 500 and HD 7000 too, I don't know). RX Vega GPUs are not impacted...

Last test: GPU Shark. I launched GPU Shark when FurMark displayed wrong GPU temp and the GPU temp in GPU Shark was correct.

Likely a bug in FurMark since GPU Shark reads the GPU temp correctly (I also used GPU-Z). Will try to fix it asap  :P
Thanks for your feedback.

GeeXLab - english forum / GeeXLab released for Linux
« on: January 11, 2019, 02:45:10 PM »
A new version of GeeXLab for Linux is available.


Version - 2019.01.11
! (2019.01.11) [Linux] removed the dependency with GCLIB 2.27, so GeeXLab
  can run on Linux with older versions of GLIBC.

Pages: [1] 2 3 ... 90