Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 1047971
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 16, 20262026-05-16T16:23:01+00:00 2026-05-16T16:23:01+00:00

I have tried so many different strategies to get a usable noise function and

  • 0

I have tried so many different strategies to get a usable noise function and none of them work. So, how do you implement perlin noise on an ATI graphics card in GLSL?

Here are the methods I have tried:
I have tried putting the permutation and gradient data into a GL_RGBA 1D texture and calling the texture1D function. However, one call to this noise implementation leads to 12 texture calls and kills the framerate.

I have tried uploading the permutation and gradient data into a uniform vec4 array, but the compiler won’t let me get an element in the array unless the index is a constant. For example:

int i = 10;
vec4 a = noise_data[i];

will give a compiler error of this:

ERROR: 0:43: Not supported when use temporary array indirect index.

Meaning I can only retrieve the data like this:

vec4 a = noise_data[10];

I also tried programming the array directly into the shader, but I got the same index issue. I hear NVIDIA graphics cards will actually allow this method, but ATI will not.

I tried making a function that returned a specific hard coded data point depending on the input index, but the function, being called 12 times and having 64 if statements, made the linking time unbearable.

ATI does not support the “built in” noise functions for glsl, and I cant just precompute the noise and import it as a texture, because I am dealing with fractals. This means I need the infinite precision of calculating the noise at run time.

So the overarching question is…

How?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-16T16:23:01+00:00Added an answer on May 16, 2026 at 4:23 pm

    noise() is well-known for not beeing implemented…

    roll you own :

    int c;
    int Xn;
    srand(int x, int y, int width){// in pixel
        c = x+y*width;
    };
    
    int rand(){
        Xn = (a*Xn+c)%m;
        return Xn;
    }
    

    for a and m values, see wikipedia

    It’s not perfect, but often good enough.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

http://www.example.com/http://www.test.com I have tried many different methods using .htaccess with no luck. I need
I have asked this question so many times and have tried so many different
I have tried many different mapping configurations but continue to generate exceptions or create
i need help with this regex pattern. I have tried many different patterns but
So I have been battling this issue for awhile now and tried many different
Over the years, I have tried many times to find a good, easy to
This should be really simple, but I have tried many solutions posted on the
I have tried what seems like everything - I've done similiar things many times
I have tried different examples to filter a gridview by dropdownlist, but is it
I know this must be a trivial question, but I've tried many different ways,

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.