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

I have tried many options mentioned in the previous messages/forums.None of them seem to
I have tried many different languages and copied various examples, but none of my
I am using jQuery fullcalendar plugin , I have tried altering this many different
I have tried many permutations but they all don't seems to work well. Am
I want to get the page rank for any website. I have tried many
Yes, I have searched and tried many techniques, but nothing seems to work. Here
I tried many ways to solve this problem but none works. suppose I have
http://www.example.com/http://www.test.com I have tried many different methods using .htaccess with no luck. I need
So I have been battling this issue for awhile now and tried many different
I'm struggling with the code below. I have tried many different ways of doing

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.