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 ... 17 18 [19] 20 21 ... 55
English forum / Re: 140 demos converted and counting...
« on: June 19, 2015, 06:32:07 PM »
Could you paste the pixel shader ?

I coded a simple slideshow demo :

I hope that demo will help you with your transition effects.

English forum / Re: 140 demos converted and counting...
« on: June 19, 2015, 04:57:42 PM »
Don't know how to get the value "p" for the vertex shader (so i used the VS that comes with GLSL Hacker)

There is no standard name for the vertex shader inputs but usually there is always the position. In your case:
Code: [Select]
attribute vec3 p;void main(){gl_Position=vec4(p,1.);}

replace  "attribute vec3 p" by "in vec4 gxl3d_Position" :
Code: [Select]
#version 150
in vec4 gxl3d_Position;
void main()
  gl_Position = gxl3d_Position;

3D-Tech News Around The Web / Cache In A Multi-Core Environment
« on: June 18, 2015, 06:29:08 PM »
- Only use an Atomic when necessary, check if a volatile will meet your needs first
- Keep classes with multicore access segmented by cache lines to eliminate False Sharing
- Local variables are preferred over sharing data outside of the thread


3D-Tech News Around The Web / MagPi #34 available
« on: June 18, 2015, 02:26:31 PM »
MagPi #34 is available in PDF format here:


#34 talks about VNC for Raspberry Pi, Windows 10 IoT Core, and more cool articles about RPi.

All previous issues are available here:


3D-Tech News Around The Web / Cache And How To Work For It
« on: June 18, 2015, 02:19:08 PM »
The Cache is always trying to guess what memory you’ll need to have before you request it, this prediction is called Cache Prefetching. This is why when working on an array it’s best to go through in sequential order instead of randomly jumping through, as the Cache Prefetcher will be able to guess what you’re using and have it ready before you need it. Cache loads things in groups of 64 bytes. The size is CPU-dependant and can be checked under your CPU’s specification under Cache Line size, although it’s typically 64 bytes. This means that if you have an array of integers and you grab 1 of those integers, the cache has also grabbed the Cache Line that it sits on. Grabbing the next integer stored next to it will be a Cache Hit and subsequently extremely fast. The alignment of the Cache Line will always be a multiple of the Cache Line's size, meaning that if you fetch memory at 0x00 (0) then what will be cached is everything between 0x00 (0) and 0x40 (64) and if you fetch something at 0x4F (79) then you’ll get everything between 0x40 (64) and 0x80 (128).

Full article:

English forum / Re: GLSL Hacker 0.8.4
« on: June 18, 2015, 12:03:28 PM »
The only limitation is that you won't be able to use Python in your demos. That's all. All features are available in Lua and Python so the Python plugin is not mandatory.

Now if you want to play with Python, you have to install the latest Python 2.7 64-bit :


I have to look at this issue in a near future...

English forum / Re: 120 demos converted and counting...
« on: June 18, 2015, 11:57:13 AM »
I'll try to post a demo asap that displays several images that should help you.

In the horror genre, gore and guts are commonplace. And the folks at Tripwire Interactive are using our technology to take the gore in their new horror survival game to a new level. In Killing Floor 2, you must fight your way through waves of mutated specimens, called Zeds. The longer you fight, the messier things get.

The three foundations of the game’s initial design mantra were “Bullets, Blades and Blood.” And that lead to the creation of the M.E.A.T. (massive evisceration and trauma) system to depict dynamic gore, blood splatter and detailed graphic violence. To get the M.E.A.T. just right, Tripwire made Killing Floor 2 the first game to use our NVIDIA PhysX FleX technology for soft tissue and fluid interaction. That’s geek for guts and blood splatter.

- A Bloody Masterpiece: Killing Floor 2 is First with NVIDIA FleX

- NVIDIA Flex SDK v0.8

3D-Tech News Around The Web / Demoscene Statistics (1991 - 2014)
« on: June 15, 2015, 02:55:47 PM »
Some statistics about the demoscene:

More stats and full story here:

3D-Tech News Around The Web / OS X Metal - Raw Notes
« on: June 15, 2015, 11:24:29 AM »
Metal for desktop has instancing, sane constant buffers, texture barrier, occlusion query, and draw-indirect. It looks like it does not have transform feedback, geometry shaders or tessellation. (The docs do mention outputting vertices to a buffer with a nil fragment function, but I don't see a way to specify the output buffer for vertex transform. I also don't see any function attach points for geometry shaders or tessellation shaders.)


3D-Tech News Around The Web / AMD Radeon R9 Fury X latest news
« on: June 15, 2015, 11:14:47 AM »
Latest news about AMD Radeon Fury (Fiji GPU).



The board has 2 x 8-pin power connectors that allows the card to draw up to 375W.


Scores at 3DMark FireStrike Extreme (P1440 ) and Ultra (P2160):

We present a technique for synthesizing the effects of skin microstructure deformation by anisotropically convolving a highresolution displacement map to match normal distribution changes in measured skin samples. We use a 10-micron resolution scanning technique to measure several in vivo skin samples as they are stretched and compressed in different directions, quantifying how stretching smooths the skin and compression makes it rougher. We tabulate the resulting surface normal distributions, and show that convolving a neutral skin microstructure displacement map with blurring and sharpening filters can mimic normal distribution changes and microstructure deformations. We implement the spatially-varying displacement map filtering on the GPU to interactively render the effects of dynamic microgeometry on animated faces obtained from high-resolution facial scans.


3D-Tech News Around The Web / Unreal Engine 4.8 released
« on: June 11, 2015, 05:07:41 PM »
The largest update to Unreal Engine to date, this release includes 189 great changes that were submitted from our amazing community of developers, plus loads of new upgrades from Epic.

- Release notes

English forum / Re: 80 demos converted and counting...
« on: June 11, 2015, 01:51:29 PM »

Maybe you could manually merge all previous topics (one by one) with this one...

3D-Tech News Around The Web / Re: NVIDIA Mech Ti DirectX 12 tech demo
« on: June 11, 2015, 12:26:03 PM »
NVIDIA's Tom Petersen explaining the demo:

News on NVIDIA blog:

"Cooking up a Storm: GPU-Powered Smart Oven is a Miracle Machine"

The June Intelligent Oven uses the Tegra K1 processor to make critical cooking decisions, so you don’t have to.

English forum / Re: The Institute converted
« on: June 09, 2015, 05:58:34 PM »
That makes sense, because layout is a keyword in GLSL with OpenGL 3.2+. As usual, AMD is strict with GLSL compilation. 

A bit lost with DirectX feature level?

A DirectX feature level, in contrast, defines the level of support a GPU gives while still supporting the underlying specification. This capability was first introduced in DirectX 11. Microsoft defines a feature level as “a well defined set of GPU functionality. For instance, the 9_1 feature level implements the functionality that was implemented in Microsoft Direct3D 9, which exposes the capabilities of shader models ps_2_x and vs_2_x, while the 11_0 feature level implements the functionality that was implemented in Direct3D 11.”


A 24.8 precision texture interpolator means that there's a maximum of 256 intermediate values possible between two adjacent pixels of a texture. 256 values are a lot for albedo textures for sure, but often in computer graphics textures encode not only surface properties, but they serve as LookUp Tables (LUT), heighfields (for terrain rendering), or who knows what. In those cases, you can find yourself easily lacking more resolution than 256 values between pixels. This article is about why this problem manifests and how it can be easily workarounded. In the image below you can see the difference between a regular GLSL's texture() or texture2D() call which triggers the hardware texture interpolation with its 256 intermediate values and that procudes starcase artifacts versus the correct full floating point texture interpolation which produces the desired smooth results.


In short for GLSL shaders, replace:
Code: [Select]
// regular texture fetching
vec4 textureBad( sampler2D sam, vec2 uv )
    return texture( sam, uv );


Code: [Select]
// improved bilinear interpolated texture fetch
vec4 textureGood( sampler2D sam, vec2 uv )
    vec2 res = textureSize( sam );

    vec2 st = uv*res - 0.5;

    vec2 iuv = floor( st );
    vec2 fuv = fract( st );

    vec4 a = texture( sam, (iuv+vec2(0.5,0.5))/res );
    vec4 b = texture( sam, (iuv+vec2(1.5,0.5))/res );
    vec4 c = texture( sam, (iuv+vec2(0.5,1.5))/res );
    vec4 d = texture( sam, (iuv+vec2(1.5,1.5))/res );

    return mix( mix( a, b, fuv.x),
                mix( c, d, fuv.x), fuv.y );

Pages: 1 ... 17 18 [19] 20 21 ... 55