Skip to main content
GameDev.net gamedev.net
🔒 Locked

noise functions in GLSL

Started by dimensionX Nov 11, 2005 at 11:35 AM 11 replies 11.8k views
Original Post
dimensionX
dimensionX
What is the word on GLSL noise1/2/3 functions on NVIDIA hardware (7800GTX, 81.85) ? Seems, these functions always return 0.0. Did anyone see the same result ?
Promit
Promit
They're only implemented on the 3DLabs Wildcat Realizm, as I understand it.

[Edited by - Promit on November 11, 2005 1:43:15 PM]
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
dimensionX
dimensionX
If these are not implemented, atleast the compiler should produce an error saying functions not supported or something. What's the point in compiling without complaining and returning 0.0 ?
Solias
Solias
It's in their release notes too:

http://download.nvidia.com/developer/Papers/2005/OpenGL_2.0/NVIDIA_OpenGL_2.0_Support.pdf

It would be nice if there was a standard way in GLSL to claim support for different subsets of functionality.
RichardS
RichardS
If the hardware doesn't support noise functions, the driver SHOULD fall back to a software renderer, and produce the correct results.

Unfortunately, Nvidia usually prefers performance over compatability, even if the well-performing result is simply wrong. I do not know what ATI's windows drivers do. Mac OS X 10.4.3 will fall back, and will render shaders with noise() corrrectly.
_the_phantom_
_the_phantom_
Quote:
Original post by Promit
They're only implemented on the 3dfx Wildcat Realizm, as I understand it.


That'll be a 3DLabs Wildcat Realizm [wink]

zedzeek
zedzeek
IMO noise is something that shouldnt be supported in glsl
search the www.opengl.org glsl forum someone has written a noise lookup via a texture (runs reasonably fast)
_the_phantom_
_the_phantom_
Given that core clock speed is increasing faster than memory bandwidth using instructions to calculate noise is a better solution than performing a texture lookup.

Anyways, if you need a noise function then look up 'simplex noise'
Promit
Promit
Quote:
Original post by phantom
Quote:
Original post by Promit
They're only implemented on the 3dfx Wildcat Realizm, as I understand it.

That'll be a 3DLabs Wildcat Realizm [wink]

Um...yeah. My mistake.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
dimensionX
dimensionX
I want to generate a noise texture on the GPU, so I can't do a texture look.
zedzeek
zedzeek
Quote:
Original post by phantom
Given that core clock speed is increasing faster than memory bandwidth using instructions to calculate noise is a better solution than performing a texture lookup.

Anyways, if you need a noise function then look up 'simplex noise'


true noise undoubtably will be quicker on the gpu but the problem is its (quite a lot) of added complexitity (in card + drivers) for something that ultimatly is only gonna be useful in a few senerios (similar to instancing)

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.