日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

柏林噪声产生火焰等纹理

發(fā)布時(shí)間:2025/7/25 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 柏林噪声产生火焰等纹理 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

from: http://blog.csdn.net/jia20003/article/details/7220740


柏林噪聲是一種特殊的隨機(jī)噪聲,即對(duì)于每個(gè)給定的值產(chǎn)生的隨機(jī)數(shù)是唯一的,但是不同的

值產(chǎn)生不同的隨機(jī)數(shù)。關(guān)于柏林噪聲更詳細(xì)的解釋可以參考這里:

http://freespace.virgin.net/hugo.elias/models/m_perlin.htm

?

本文主要是探討如何使用柏林噪聲產(chǎn)生火焰效果與烏云效果的紋理,在解釋實(shí)現(xiàn)代碼之前,

首先來(lái)看一下影響柏林噪聲效果的兩個(gè)參數(shù)音度(Octave) 與余輝(Persistence),可以調(diào)節(jié)

紋理的大小和密度。

?

最終實(shí)現(xiàn)的火焰紋理效果


最終實(shí)現(xiàn)的烏云紋理效果


最終實(shí)現(xiàn)的草地紋理效果–怎么感覺(jué)有點(diǎn)魔獸中精靈族的草地啊,哈哈


代碼解釋

首先產(chǎn)生隨機(jī)空白噪聲,使用隨機(jī)空白噪聲產(chǎn)生柏林噪聲,最后將柏林噪聲映射為RGB值

輸出到指定大小的圖像中,代碼如下:

float[][] whiteNoise = GenerateWhiteNoise(rows, cols);

float[][] perlinNoise = GeneratePerlinNoise(whiteNoise, 6); //

float[][] colorData = MapGray(perlinNoise);

?

白噪聲產(chǎn)生主要是利用JAVA中的系統(tǒng)時(shí)間作為種子,產(chǎn)生[0~1]之間的噪聲數(shù)組

代碼如下:

public float[][] GenerateWhiteNoise(int width,int height)

{

Random random = new Random(System.currentTimeMillis()); ???

float[][] noise = new float[width][height];

for (int i = 0; i < width; i++)

{

??? ??? for (int j = 0; j <height; j++)

??? ??? {

??? ???? ?? noise[i][j] = (float)random.nextDouble();

??? ??? }

??? }

??? return noise;

}

?

柏林噪聲的產(chǎn)生稍微復(fù)雜一點(diǎn)點(diǎn),首先把上面的白噪聲數(shù)據(jù)帶入,利用插值公式產(chǎn)生平滑的噪聲

數(shù)據(jù),具體要產(chǎn)生幾組平滑噪聲數(shù)據(jù)取決于音度(Octave)參數(shù)。本程序的插值公式非常簡(jiǎn)單,

代碼如下:

public float Interpolate(float x0,float x1, float alpha)

{

return x0 * (1 - alpha) + alpha * x1;

}

最后把這些組的平滑噪聲加上不同的振幅混合在一起產(chǎn)生一個(gè)輸出數(shù)組結(jié)果即為柏林噪聲。

完成上面這些還不足以產(chǎn)生那些效果震撼的紋理,另外一個(gè)頂級(jí)秘訣在于怎么把柏林噪聲

映射到你想要的RGB值。代碼如下:

?? ?float[][] MapGradient(float[][] perlinNoise)

??? {

??? ?? int width =perlinNoise.length;

??? ?? int height =perlinNoise[0].length;

??? ?? float[][] image = new float[width][height];

??? ?? int ta=0, tr=0, tb=0,tg=0;

??? ?? for (int i = 0; i <width; i++)

??? ?? {

??? ????? for (int j = 0; j <height; j++)

??? ????? {

??? ??? ??ta = 255;

??? ??? ??int u = (int)(perlinNoise[i][j] * (float)angryFireColorTable.length);

??? ??? ??tr = (int)angryFireColorTable[u][0];

??? ??? ??tg = (int)angryFireColorTable[u][1];

??? ??? ??tb = (int)angryFireColorTable[u][2];

??? ??? ??image[i][j] = (ta <<24) | (tr << 16) | (tg << 8) | tb;

??? ????? }

??? ?? }

??? ??

??? ?? return image;

??? }

程序完全源代碼如下:

[java] view plaincopy
  • package?com.gloomyfish.perlin.noise;??
  • ??
  • import?java.util.Random;??
  • ??
  • public?class?PerlinNoiseCreator?{??
  • ??????
  • ????private?int[][]?angryFireColorTable?=?{??
  • ????????????{255,?255,?204},????{255,?255,?204},????{255,?255,?204},????{255,?255,?204},??
  • ????????????{255,?255,?204},????{255,?255,?204},????{255,?255,?204},????{255,?255,?204},????{255,?255,?204},??
  • ????????????{255,?255,?204},????{255,?255,?204},????{255,?255,?204},????{255,?255,?204},????{255,?255,?204},??
  • ????????????{255,?255,?204},????{255,?255,?204},????{255,?255,?204},????{255,?255,?204},????{255,?255,?204},??
  • ????????????{255,?255,?204},????{255,?255,?204},????{255,?255,?204},????{255,?255,?204},????{255,?255,?204},??
  • ????????????{255,?255,?204},????{255,?255,?204},????{255,?255,?204},????{255,?255,?204},????{255,?255,?204},??
  • ????????????{255,?255,?204},????{255,?255,?204},????{255,?255,?204},????{255,?255,?204},????{255,?255,?204},??
  • ????????????{255,?255,?204},????{255,?255,?204},????{255,?255,?204},????{255,?255,?204},????{255,?255,?199},??????
  • ????????????{255,?255,?199},????{255,?255,?197},????{255,?255,?197},????{255,?255,?193},????{255,?255,?193},??
  • ????????????{255,?255,?191},????{255,?255,?191},????{255,?255,?189},????{255,?255,?189},????{255,?255,?185},??
  • ????????????{255,?255,?185},????{255,?255,?183},????{255,?255,?183},????{255,?255,?179},????{255,?255,?179},??
  • ????????????{255,?255,?177},????{255,?255,?177},????{255,?255,?175},????{255,?255,?175},????{255,?255,?171},??????????
  • ????????????{255,?255,?171},????{255,?255,?169},????{255,?255,?169},????{255,?255,?167},????{255,?255,?167},??
  • ????????????{255,?255,?163},????{255,?255,?161},????{255,?255,?157},????{255,?255,?155},????{255,?255,?153},??
  • ????????????{255,?251,?149},????{255,?249,?147},????{255,?246,?144},????{255,?244,?142},????{255,?242,?140},??
  • ????????????{253,?244,?205},????{248,?246,?197},????{248,?246,?187},????{248,?245,?178},????{248,?245,?168},??
  • ????????????{247,?245,?160},????{248,?243,?149},????{247,?244,?141},????{249,?243,?133},????{248,?243,?123},??
  • ????????????{249,?242,?112},????{248,?242,?102},????{248,?242,?92},?{247,?241,?81},?{248,?241,?73},??
  • ????????????{247,?240,?63},?{249,?239,?53},?{247,?239,?42},?{249,?238,?32},?{249,?238,?26},??
  • ????????????{248,?234,?21},?{248,?231,?21},?{250,?224,?25},?{248,?218,?24},?{249,?214,?26},??
  • ????????????{249,?209,?26},?{252,?204,?32},?{251,?198,?32},?{251,?191,?33},?{251,?186,?34},??
  • ????????????{250,?179,?35},?{252,?176,?38},?{252,?169,?41},?{252,?164,?41},?{254,?157,?44},??
  • ????????????{254,?151,?46},?{253,?145,?47},?{254,?141,?49},?{251,?136,?47},?{253,?135,?48},??
  • ????????????{251,?130,?47},?{250,?129,?46},?{249,?126,?46},?{247,?124,?44},?{246,?120,?43},??
  • ????????????{244,?118,?41},?{243,?115,?42},?{241,?113,?40},?{242,?111,?41},?{240,?109,?39},??
  • ????????????{239,?104,?40},?{236,?101,?37},?{234,?99,?35},??{235,?97,?34},??{232,?93,?34},??
  • ????????????{231,?91,?32},??{229,?88,?32},??{227,?86,?30},??{227,?83,?30},??{225,?81,?28},??
  • ????????????{224,?78,?27},??{222,?76,?25},??{223,?72,?27},??{221,?70,?25},??{219,?66,?24},??
  • ????????????{216,?63,?22},??{216,?58,?21},??{212,?54,?19},??{210,?50,?18},??{209,?45,?17},??
  • ????????????{206,?40,?14},??{206,?37,?14},??{203,?32,?12},??{200,?29,?9},???{200,?24,?9},??
  • ????????????{197,?21,?6},???{195,?17,?7},???{191,?13,?3},???{190,?7,?3},????{188,?5,?1},??
  • ????????????{184,?2,?0},????{180,?0,?0},????{178,?0,?0},????{174,?0,?0},????{172,?0,?0},??
  • ????????????{169,?1,?0},????{164,?0,?1},????{160,?0,?0},????{158,?0,?0},????{154,?0,?0},??
  • ????????????{150,?0,?0},????{146,?0,?0},????{144,?0,?0},????{140,?0,?1},????{136,?0,?2},??
  • ????????????{133,?0,?1},????{130,?0,?0},????{126,?1,?0},????{124,?0,?2},????{120,?0,?1},??
  • ????????????{116,?0,?0},????{112,?0,?0},????{109,?1,?1},????{104,?0,?0},????{103,?0,?1},??
  • ????????????{98,?0,?0},?{95,?0,?0},?{92,?1,?0},?{92,?1,?0},?{90,?0,?0},??
  • ????????????{89,?1,?0},?{88,?0,?0},?{86,?0,?0},?{86,?0,?0},?{84,?0,?0},??
  • ????????????{84,?0,?0},?{82,?1,?0},?{82,?1,?0},?{80,?0,?0},?{80,?0,?0},??
  • ????????????{79,?1,?1},?{78,?0,?0},?{76,?0,?0},?{76,?0,?0},?{74,?0,?0},??
  • ????????????{74,?0,?0},?{72,?0,?1},?{72,?0,?1},?{70,?0,?0},?{70,?0,?0},??
  • ????????????{69,?1,?2},?{68,?0,?1},?{66,?0,?1},?{66,?0,?1},?{64,?0,?0},??
  • ????????????{62,?1,?0},?{61,?1,?1},?{60,?0,?0},?{60,?0,?0},?{60,?0,?0},??
  • ????????????{58,?0,?0},?{58,?0,?0},?{56,?0,?1},?{56,?0,?1},?{54,?0,?0},??
  • ????????????{54,?0,?0},?{52,?1,?0},?{51,?0,?0},?{50,?0,?1},?{50,?0,?1},??
  • ????????????{49,?1,?1},?{48,?0,?0},?{46,?0,?0},?{46,?0,?0},?{44,?0,?1},??
  • ????????????{42,?0,?1},?{42,?0,?1},?{40,?0,?0},?{40,?0,?0},?{39,?0,?0},??
  • ????????????{38,?0,?0},?{38,?0,?0},?{36,?0,?0},?{35,?0,?0},?{34,?0,?0},??
  • ????????????{34,?0,?0},?{32,?0,?1},?{30,?0,?0},?{30,?0,?0},?{29,?1,?0},??
  • ????????????{28,?0,?0},?{28,?0,?0},?{26,?0,?1},?{24,?0,?0},?{22,?1,?0},??
  • ????????????{22,?1,?0},?{21,?1,?0},?{20,?0,?0},?{19,?1,?1},?{19,?1,?1},??
  • ????????????{16,?0,?0},?{16,?0,?0},?{16,?0,?0},?{14,?0,?0},?{12,?0,?0},??
  • ????????????{12,?0,?0},?{11,?1,?0},?{10,?0,?0},?{9,?1,?0},??{8,?0,?0},??
  • ????????????{6,?0,?0},??{6,?0,?0},??{5,?1,?0},??{4,?0,?0},??{2,?1,?0},??
  • ????????????{2,?1,?0},??{1,?1,?1},??{0,?0,?0},??{0,?0,?0},??{0,?0,?0},??
  • ????????};??
  • ??
  • ??????
  • ????public?void?generateNoise(int[]?noiseData,?int?rows,?int?cols)?{??
  • ??
  • ????????float[][]?whiteNoise?=?GenerateWhiteNoise(rows,?cols);??
  • ????????float[][]?perlinNoise?=?GeneratePerlinNoise(whiteNoise,?6);?//?default?value?is?6??
  • ????????//float[][]?colorData?=?MapGradient(perlinNoise);??
  • ????????float[][]?colorData?=?MapGray(perlinNoise);??
  • ????????int?index?=?0;??
  • ????????for(int?row?=?0;?row<rows;?row++)?{??
  • ????????????for(int?col=0;?col<cols;?col++)?{??
  • ????????????????index?=?row?*?cols?+?col;??
  • ????????????????noiseData[index]?=?(int)colorData[row][col];??
  • ????????????}??
  • ????????}??
  • ????}??
  • ??????
  • ????public?float[][]?GenerateWhiteNoise(int?width,?int?height)??
  • ????{??
  • ????????Random?random?=?new?Random(System.currentTimeMillis());?//Seed?to?0?for?testing??
  • ????????float[][]?noise?=?new?float[width][height];??
  • ???????
  • ????????for?(int?i?=?0;?i?<?width;?i++)??
  • ????????{??
  • ????????????for?(int?j?=?0;?j?<?height;?j++)??
  • ????????????{??
  • ????????????????noise[i][j]?=?(float)random.nextDouble();??
  • ????????????}??
  • ????????}??
  • ???????
  • ????????return?noise;??
  • ????}??
  • ??????
  • ????public?float[][]?GenerateSmoothNoise(float[][]?baseNoise,?int?octave)??
  • ????{??
  • ???????int?width?=?baseNoise.length;??
  • ???????int?height?=?baseNoise[0].length;??
  • ???????
  • ???????float[][]?smoothNoise?=?new?float[width][height];??
  • ???????
  • ???????int?samplePeriod?=?1?<<?octave;?//?calculates?2?^?k??
  • ???????float?sampleFrequency?=?1.0f?/?samplePeriod;??
  • ???????
  • ???????for?(int?i?=?0;?i?<?width;?i++)??
  • ???????{??
  • ??????????//calculate?the?horizontal?sampling?indices??
  • ??????????int?sample_i0?=?(i?/?samplePeriod)?*?samplePeriod;??
  • ??????????int?sample_i1?=?(sample_i0?+?samplePeriod)?%?width;?//wrap?around??
  • ??????????float?horizontal_blend?=?(i?-?sample_i0)?*?sampleFrequency;??
  • ???????
  • ??????????for?(int?j?=?0;?j?<?height;?j++)??
  • ??????????{??
  • ?????????????//calculate?the?vertical?sampling?indices??
  • ?????????????int?sample_j0?=?(j?/?samplePeriod)?*?samplePeriod;??
  • ?????????????int?sample_j1?=?(sample_j0?+?samplePeriod)?%?height;?//wrap?around??
  • ?????????????float?vertical_blend?=?(j?-?sample_j0)?*?sampleFrequency;??
  • ???????
  • ?????????????//blend?the?top?two?corners??
  • ?????????????float?top?=?Interpolate(baseNoise[sample_i0][sample_j0],??
  • ????????????????baseNoise[sample_i1][sample_j0],?horizontal_blend);??
  • ???????
  • ?????????????//blend?the?bottom?two?corners??
  • ?????????????float?bottom?=?Interpolate(baseNoise[sample_i0][sample_j1],??
  • ????????????????baseNoise[sample_i1][sample_j1],?horizontal_blend);??
  • ???????
  • ?????????????//final?blend??
  • ?????????????smoothNoise[i][j]?=?Interpolate(top,?bottom,?vertical_blend);??
  • ??????????}??
  • ???????}??
  • ???????
  • ???????return?smoothNoise;??
  • ????}??
  • ??????
  • ????public?float?Interpolate(float?x0,?float?x1,?float?alpha)??
  • ????{??
  • ???????return?x0?*?(1?-?alpha)?+?alpha?*?x1;??
  • ????}??
  • ??????
  • ????public?float[][]?GeneratePerlinNoise(float[][]?baseNoise,?int?octaveCount)??
  • ????{??
  • ???????int?width?=?baseNoise.length;??
  • ???????int?height?=?baseNoise[0].length;??
  • ???????
  • ???????float[][][]?smoothNoise?=?new?float[octaveCount][][];?//an?array?of?2D?arrays?containing??
  • ???????
  • ???????float?persistance?=?0.5f;?//?default?value?is?0.5f??
  • ???????
  • ???????//generate?smooth?noise??
  • ???????for?(int?i?=?0;?i?<?octaveCount;?i++)??
  • ???????{??
  • ???????????smoothNoise[i]?=?GenerateSmoothNoise(baseNoise,?i);??
  • ???????}??
  • ???????
  • ????????float[][]?perlinNoise?=?new?float[width][height];??
  • ????????float?amplitude?=?1.0f;??
  • ????????float?totalAmplitude?=?0.0f;??
  • ???????
  • ????????//blend?noise?together??
  • ????????for?(int?octave?=?octaveCount?-?1;?octave?>=?0;?octave--)??
  • ????????{??
  • ???????????amplitude?*=?persistance;??
  • ???????????totalAmplitude?+=?amplitude;??
  • ???????
  • ???????????for?(int?i?=?0;?i?<?width;?i++)??
  • ???????????{??
  • ??????????????for?(int?j?=?0;?j?<?height;?j++)??
  • ??????????????{??
  • ?????????????????perlinNoise[i][j]?+=?smoothNoise[octave][i][j]?*?amplitude;??
  • ??????????????}??
  • ???????????}??
  • ????????}??
  • ???????
  • ???????//normalization??
  • ???????for?(int?i?=?0;?i?<?width;?i++)??
  • ???????{??
  • ??????????for?(int?j?=?0;?j?<?height;?j++)??
  • ??????????{??
  • ?????????????perlinNoise[i][j]?/=?totalAmplitude;??
  • ??????????}??
  • ???????}??
  • ???????
  • ???????return?perlinNoise;??
  • ????}??
  • ??????
  • ????float[][]?MapGray(float[][]?perlinNoise)??
  • ????{??
  • ???????int?width?=?perlinNoise.length;??
  • ???????int?height?=?perlinNoise[0].length;??
  • ???????float[][]?image?=?new?float[width][height];??
  • ???????int?ta=0,?tr=0,?tb=0,?tg=0;??
  • ???????for?(int?i?=?0;?i?<?width;?i++)??
  • ???????{??
  • ??????????for?(int?j?=?0;?j?<?height;?j++)??
  • ??????????{??
  • ??????????????ta?=?255;??
  • ??????????????int?u?=?(int)(perlinNoise[i][j]?*?(float)80.0);??
  • ??????????????tr?=?u+100;??
  • ??????????????tg?=?u+100;??
  • ??????????????tb?=?u+100;??
  • ??????????????//ta?=?(int)(255.0f?*?perlinNoise[i][j]);??
  • ??????????????image[i][j]?=?(ta?<<?24)?|?(tr?<<?16)?|?(tg?<<?8)?|?tb;??
  • ????????????????
  • ??????????}??
  • ???????}??
  • ?????????
  • ???????return?image;??
  • ????}??
  • ??????
  • ????float[][]?MapGradient(float[][]?perlinNoise)??
  • ????{??
  • ???????int?width?=?perlinNoise.length;??
  • ???????int?height?=?perlinNoise[0].length;??
  • ???????float[][]?image?=?new?float[width][height];??
  • ???????int?ta=0,?tr=0,?tb=0,?tg=0;??
  • ???????for?(int?i?=?0;?i?<?width;?i++)??
  • ???????{??
  • ??????????for?(int?j?=?0;?j?<?height;?j++)??
  • ??????????{??
  • ??????????????ta?=?255;??
  • ??????????????int?u?=?(int)(perlinNoise[i][j]?*?(float)angryFireColorTable.length);??
  • ??????????????tr?=?(int)angryFireColorTable[u][0];??
  • ??????????????tg?=?(int)angryFireColorTable[u][1];??
  • ??????????????tb?=?(int)angryFireColorTable[u][2];??
  • ??????????????image[i][j]?=?(ta?<<?24)?|?(tr?<<?16)?|?(tg?<<?8)?|?tb;??
  • ??????????}??
  • ???????}??
  • ?????????
  • ???????return?image;??
  • ????}??
  • ??
  • }??


  • 版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載。

    2
    0
    猜你在找
    大數(shù)據(jù)編程語(yǔ)言:Java基礎(chǔ)
    JavaScript for Qt Quick(QML)
    深入淺出Java的反射
    深入淺出Java5新特性
    Java基礎(chǔ)語(yǔ)法之基礎(chǔ)知識(shí)-Java基礎(chǔ)視頻_深入淺出精華版
    查看評(píng)論 7樓 qq_21801751 2015-09-25 20:07發(fā)表 [回復(fù)]
    請(qǐng)問(wèn),三維噪聲也是相同的原理嗎?
    6樓 z18770085003 2014-12-21 16:45發(fā)表 [回復(fù)]
    你上面那些二維素組都是width在外循環(huán)么?感覺(jué)怎么和一般矩陣的存儲(chǔ)方式相反了呢?一般是內(nèi)循環(huán)才是width呀。。。不知道我理解對(duì)了么?
    5樓 z18770085003 2014-12-21 15:46發(fā)表 [回復(fù)]
    大神還在不?最近在學(xué)習(xí)柏林噪聲,但是你這個(gè)代碼還有很多地方不懂,有沒(méi)有完整的代碼,就是直接可以運(yùn)行出來(lái)那種,我程序也是一個(gè)新手
    4樓 z18770085003 2014-12-21 15:45發(fā)表 [回復(fù)]
    大神還在不?最近在學(xué)習(xí)柏林噪聲,但是你這個(gè)代碼還有很多地方不懂,有沒(méi)有完整的代碼,就是直接可以運(yùn)行出來(lái)那種,我程序也是一個(gè)新手
    3樓 rex_zhu 2014-03-24 16:00發(fā)表 [回復(fù)]
    萬(wàn)能的樓主啊,還在嗎,為啥我用了您的代碼以后,輸出的數(shù)組和輸入的數(shù)組完全一樣啊.......一番運(yùn)算后白噪聲還是白噪聲 Re: gloomyfish 2014-03-24 16:03發(fā)表 [回復(fù)]
    回復(fù)rex_zhu:可能你運(yùn)算精度不對(duì),或者什么的,總之原理就是這個(gè)
    或者是你的lookup color table有問(wèn)題!
    2樓 fulongfuhu 2013-07-15 08:22發(fā)表 [回復(fù)]
    用你寫(xiě)的MapGray函數(shù) 同樣是一塊一塊的,我感覺(jué)是平滑函數(shù)這里有問(wèn)題,我是用vc改寫(xiě)的 Re: gloomyfish 2013-07-15 09:20發(fā)表 [回復(fù)]
    回復(fù)fulongfuhu:有可能是計(jì)算精度的問(wèn)題,我run Java一直沒(méi)問(wèn)題啊! Re: fulongfuhu 2013-07-15 16:46發(fā)表 [回復(fù)]
    回復(fù)jia20003:可以把文章中帶界面的java程序源碼給一份嗎? Re: fulongfuhu 2013-07-15 20:11發(fā)表 [回復(fù)]
    回復(fù)fulongfuhu:jingshishengxu@gmail.com,謝謝 Re: fulongfuhu 2013-07-15 20:19發(fā)表 [回復(fù)]
    回復(fù)fulongfuhu:不用了,弄好了,是我代碼一個(gè)地方改錯(cuò)了,謝謝 Re: gloomyfish 2013-07-15 22:24發(fā)表 [回復(fù)]
    回復(fù)fulongfuhu:贊!
    1樓 fulongfuhu 2013-07-14 08:07發(fā)表 [回復(fù)]
    我用你的代碼,為什么出來(lái)的火焰效果是一塊一塊的,不連續(xù)呢? Re: gloomyfish 2013-07-14 15:25發(fā)表 [回復(fù)]
    回復(fù)fulongfuhu:應(yīng)該不會(huì)吧,你有調(diào)整color table嘛,一定要調(diào)整color table

    總結(jié)

    以上是生活随笔為你收集整理的柏林噪声产生火焰等纹理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。