青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

腳踏實地

心 勿噪

#

shader 中避免if else

// test less and equal zero
// x小于,等于0返回0,x大于0返回1
// if x <= 0 return 0 and x > 0 return 1.
float LQZ(x){
   return max(0, sign(x));
   // return ceil(clamp(0.,1.,x));
}

// if x <= 0 return a and x > 0 return b
// x小于,等于0返回a,x大于0返回b
float v = mix(a, b, LQZ(x));  

// if x is odd number (0~1,2~3,4~5,6~7) return a else return b
// 奇數段(0~1,2~3,4~5,...)返回a,偶數段(1~2,3~4)返回b
float v = mix(a, b, LQZ(mod(x,2.0) - 1.0));

posted @ 2016-09-04 14:32 LSH| 編輯 收藏

hlsl的 投影和view矩陣

float4x4 LookAtMatrix(float3 eyePosition, float3 lookAt, float3 up)
{
    float3 zaxis = normalize(lookAt - eyePosition);
    float3 yaxis = normalize(up);
    float3 xaxis = normalize(cross(yaxis, zaxis));
    yaxis = normalize(cross(zaxis, xaxis));
    
    float4x4 result = float4x4(xaxis.x, yaxis.x, zaxis.x, 0.0,
                               xaxis.y, yaxis.y, zaxis.y, 0.0,
                               xaxis.z, yaxis.z, zaxis.z, 0.0,
     -dot(xaxis, eyePosition), -dot(yaxis, eyePosition), -dot(zaxis, eyePosition), 1.0);
                   
    return result;
}
#define MATH_PI_DIV_180  0.0174532925
float4x4 DxPorjMatrix(float fov_y, float aspect, float zNear, float zFar)
{
    // Left Hand
    float f_n = 1.0f / (zFar - zNear);
    float yScale = 1.0 / tan(MATH_PI_DIV_180 * (fov_y) * 0.5f);
    float xScale = yScale / aspect;
    float4x4 result = float4x4(xScale, 0.0, 0.0, 0.0,
                               0.0, yScale, 0.0, 0.0,
                               0.0, 0.0, zFar*f_n, 1.0,
                               0.0, 0.0, -zNear * zFar * f_n, 1.0);
    return result;
}

biliner 插值

posted @ 2015-10-24 10:38 LSH| 編輯 收藏

game physics chapter 2.

第二章 物理中的基礎概念
在這一章中我們回顧一些物理的基礎概念,這些概念關系到(relevant)運動分析(analysis)和對剛體的影響。包含質量的類型區(qū)域被歸類于(classified)剛體。2.1,2.2節(jié)中的主題介紹了粒子的在absence力量下,在二維或者三維所呈現的曲線路徑。這些主題與運動學(kinematics)有關.而這一節(jié)的主題介紹了物理概念里的位置,速度,加速度。很多應用為更好的處理問題來選擇適合的坐標系。笛卡爾坐標系統(tǒng)通常很方便,但是我們還需極坐標系(polar coordinates),圓柱坐標系(cylindrical coordinates), 球坐標系(spherical coordinates)。還有單個粒子的運動學,還有粒子系統(tǒng)和實體系統(tǒng)的運動學。這些物理材質都屬于物理引擎,在第六章討論。
這一章的其他剩余部分將介紹一些標準的物理概念。一條主線是從2.3節(jié)開始介紹牛頓運動法則,討論力的概論在2.4中,其書中具體例子涉及到重力,彈力,摩擦力。力矩和平衡也在這節(jié)出現。各種測量距在2.5節(jié)討論,包含了線性和角度距,一階距,這些與物體的質心,距,慣性息息相關。2.5的最后一部分展示了怎樣計算質量不變的實體多邊形的質心和慣性張量。在第6章中討論的物理引擎中需要實現的東西。功和能是本章最后討論的。在開發(fā)拉格朗日動態(tài)模型中,動能是重要的量。在處理保守力中勢能也是非常重要的量,如重力就是保守力。
2.1 剛體類型
剛體的特征(characterized)是質量存在于區(qū)域中。最簡單的剛體是一個質量為m的單粒子它處于位置x處。p是一個含有碰撞的有限數量的粒子所組成的粒子系統(tǒng),第i個粒子的質量M i處于位置X i,l <= i <= p. 單粒子和粒子系統(tǒng)是粒子數目有限的松散材質的例子。一個粒子系統(tǒng)把各種物理量累加之和的標準樣子是:
                 p
Q
       = S Qi
     total    
                i=1
Qi是一些物理量

posted @ 2015-08-09 11:29 LSH| 編輯 收藏

中心縮放公式

按某中心為原點的縮放公式為.
p' = o + (p - o) * s;
p 為需要變換的點.
o 為縮放中心點.
s 縮放的值. (s >= 0)
p' 為結果.

posted @ 2015-05-19 17:33 LSH 閱讀(447) | 評論 (0)編輯 收藏

Never call virtual function during construction or destruction.(用遠不要在構造函數或者析構函數中調用虛函數或純虛函數)

the title is all about.

posted @ 2015-05-05 16:33 LSH| 編輯 收藏

please please please, make it smaller!

http://www.iquilezles.org/blog/?p=2828

I think size matters. However, unlike in real life, when programming the smaller the better. Generally. Also, the less branches the better, at least when programming for parallel systems. And also, the more compact and regular, the prettier (but this is my personal opinion only).
Related to this, in the last 6 months I have pointed out / proposed this same optimization to at least five different people. Basically, it seems most people make this same “mistake” over and over again, which is to write this horrifying thing
vec3 color = vec3(0.0);
if (theta < 1.0) {
color.r = 1.0;
color.g = theta;
}
else if (theta < 2.0) {
color.r = 2.0 - theta;
color.g = 1.0;
}
else if (theta < 3.0) {
color.g = 1.0;
color.b = theta - 2.0;
}
else if (theta < 4.0) {
color.g = 4.0 - theta;
color.b = 1.0;
}
else if (theta < 5.0) {
color.r = theta - 4.0;
color.b = 1.0;
}
else {
color.r = 1.0;
color.b = 6.0 - theta;
}
return color;
instead of this equivalent line:
vec3 color = clamp( abs(mod(theta+vec3(0.,4.,2.),6.)-3.)-1., 0., 1. );

posted @ 2015-01-05 14:22 LSH 閱讀(315) | 評論 (0)編輯 收藏

please simplify me (again…)

http://www.iquilezles.org/blog/?p=2848

Yet another example of code simplification that people don’t seem to want to do. It must be the 5th ot 6th time I ask people to do this change when programming a point-to-line distance computation: please, replace this ugly
float sdLine( vec2 a, vec2 b, vec2 p )
{
    vec2 ba = b - a;
    vec2 pa = p - a;
    float dist = (ba.x*pa.y - ba.y*pa.x) / distance(a, b);
    if( dot(a-b,p-b) < 0.0 ) 
        return distance(b, p);
    if( dot(b-a,p-a) < 0.0 ) 
        return distance(a, p);
    return abs(dist);
}
by the much more beautiful:
float sdLine( vec2 a, vec2 b, vec2 p )
{
    vec2 pa = p - a;
    vec2 ba = b - a;
    float h = clamp( dot(pa,ba)/dot(ba,ba), 0.0, 1.0 );
    return length( pa - ba*h );
}
Do it for the karma or something.  

posted @ 2015-01-05 14:04 LSH 閱讀(306) | 評論 (0)編輯 收藏

矢量直線,矢量點

 1 
 2 // 繪制點
 3 float point(vec2 p, vec2 center, float radius)
 4 {
 5     vec2 c2p = p-center;
 6     float d = dot(c2p,c2p); // c2p的長度平方
 7     if(d < radius * radius)
 8         return 1.0;
 9     
10     return 0.0;
11 }
12 
13 
14 // 繪制直線
15 float line(vec2 p, vec2 a, vec2 b, float w)
16 {
17     vec2 a2b = b - a;
18     vec2 a2p = p - a;
19     
20     
21     // 因為投影 proj(a2p,a2b) 等于 dot(a2p,a2b) / length(a2b)
22     // 在把投影的值和a2b向量做比例關系。
23     // 所以proj(a2p,a2b)/length(a2b) 等于 dot(a2p,a2b)/dot(a2b,a2b)
24     
25     float h = clamp( dot(a2p,a2b)/dot(a2b,a2b), 0.0, 1.0 );
26     vec2 p1 = mix( a, b, h );
27     if( length( p1 - p ) <= w )
28         return 1.0;
29     
30     return 0.0;
31 }
32 
33 void main(void)
34 {
35     vec2 uv = gl_FragCoord.xy / iResolution.y;
36     uv.x = uv.x + (1.0 - iResolution.x/iResolution.y)*0.5;
37     
38     vec3 col = vec3(1.0,0,0) * point(uv, vec2(0.5,0.5), 0.05)
39              + vec3(0,0,1.0) * line(uv, vec2(0.0,0.25), vec2(1.0,0.55), 0.05);
40     
41     gl_FragColor = vec4(col,1.0);
42 }

posted @ 2015-01-05 02:21 LSH 閱讀(284) | 評論 (0)編輯 收藏

光照模型

光照類型

環(huán)境光(ambient): 沒有確切來源。各種光經過反射后的得到的結果。
表示式 = 環(huán)境光強度 * 環(huán)境反射的顏色;

散射光(diffuse): 在真實世界中,我們經常見到的光線都是由某些固定的光源發(fā)出的,它們總是從某一個方向照射到物體上,而不像我們在討論環(huán)境光時那樣不用考慮光線的方向。所以他需要方向。
表達式 = 散射光強度  *(射出角度 點乘 面法線向量)* 散射的顏色  

鏡面反射光(specular):在真實世界中,不僅要使用漫反射模型,同時還要接觸大量鏡面反射的情況。通過鏡面反射,可以看到物體表面的高光,或者是光源在光亮物體表面上的反射。
表達式 = 反射系數 *  光照強度 * (cosA的反射指數 次方)

發(fā)射光(emission):看起來發(fā)光,但不是光源,不能照亮環(huán)境。
表達式 = 發(fā)射光

光源的類型

定向光:屬性:光照強度不雖距離的而變化。
表達式 = 光源初始強度 * 光源的顏色

點光源:屬性:光源強度雖距光源的距離而衰減。
表達式 = 光源初始強度*光源的顏色 / 三個因子      其中三個因子為:常量因子,線性因子,二次因子

聚光燈 :屬性:具有內錐(本影)和外錐(半影)。
表達式分為內錐和外錐兩個。不在內錐和外錐范圍內不受光照影響。 

posted @ 2010-05-17 02:23 LSH 閱讀(404) | 評論 (0)編輯 收藏

僅列出標題
共2頁: 1 2 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美高清在线| 黄色日韩在线| 翔田千里一区二区| 亚洲欧美日产图| 亚洲综合欧美| 久久久精品日韩欧美| 久久青草久久| 欧美激情视频在线免费观看 欧美视频免费一 | 国产综合视频| 老牛影视一区二区三区| 欧美黑人在线播放| 欧美国产专区| 国产精品久久77777| 国产一区二区三区精品欧美日韩一区二区三区| 国产欧美va欧美va香蕉在| 激情另类综合| 中国成人在线视频| 久久精品视频播放| 亚洲高清免费视频| 亚洲精品国产无天堂网2021| 亚洲影院色在线观看免费| 国产亚洲在线观看| 久久久久一区二区| 午夜欧美不卡精品aaaaa| 欧美与欧洲交xxxx免费观看| 免费亚洲一区二区| 国产噜噜噜噜噜久久久久久久久| 亚洲国产精品电影在线观看| 亚洲欧美日韩另类| 亚洲国产欧美国产综合一区| 亚洲一区二区三区四区中文| 牛牛国产精品| 国产一区二区三区四区三区四| 亚洲精品人人| 久久偷看各类wc女厕嘘嘘偷窃| aaa亚洲精品一二三区| 免费观看亚洲视频大全| 国产在线视频不卡二| 亚洲综合电影一区二区三区| 亚洲国产精品一区| 久久久综合激的五月天| 国内精品久久久| 午夜精品福利在线观看| 日韩视频专区| 欧美精品电影在线| 亚洲人成在线观看一区二区| 久久精品视频免费播放| 亚洲综合视频1区| 欧美日韩专区在线| 亚洲私人黄色宅男| 99www免费人成精品| 欧美电影在线观看完整版| 一色屋精品视频免费看| 久久久国产亚洲精品| 午夜精品偷拍| 国产一区二区三区高清在线观看| 久久狠狠亚洲综合| 久久精品国产亚洲a| 国产一区二区无遮挡| 久久久xxx| 久久激情视频久久| 黄色在线一区| 欧美成人按摩| 欧美国产精品一区| 中国av一区| 亚洲欧美激情四射在线日| 国产精品乱码久久久久久| 亚洲素人在线| 亚洲欧美成人在线| 悠悠资源网久久精品| 欧美刺激午夜性久久久久久久| 快射av在线播放一区| 亚洲精品黄网在线观看| 亚洲伦伦在线| 国产区在线观看成人精品| 久久久久久欧美| 免费看黄裸体一级大秀欧美| 亚洲视频一二| 亚洲视频欧美视频| 国产精品激情电影| 久久久国产91| 欧美激情视频免费观看| 亚洲小说春色综合另类电影| 亚洲视频欧美视频| 伊人春色精品| 日韩一区二区精品| 国产午夜精品麻豆| 欧美国产国产综合| 国产精品v日韩精品| 久久久久久久久久看片| 欧美黄在线观看| 欧美在线一级va免费观看| 久久久久久黄| 亚洲一区二区免费视频| 欧美在线视频观看免费网站| 亚洲激情婷婷| 亚洲欧美成人网| 日韩亚洲欧美一区| 欧美在线视频导航| 亚洲素人在线| 欧美成人小视频| 久久精品论坛| 欧美日韩综合| 亚洲国产电影| 伊大人香蕉综合8在线视| 亚洲无限乱码一二三四麻| 亚洲高清自拍| 欧美一区二区视频97| 亚洲视频高清| 久久综合五月| 久久免费国产精品1| 欧美午夜影院| 亚洲激情精品| 一区二区在线视频| 亚洲欧美一区二区激情| 亚洲午夜免费福利视频| 欧美超级免费视 在线| 久久久久九九九| 国产精品网曝门| 亚洲伦理中文字幕| 日韩视频专区| 欧美精品97| 亚洲激情国产| av不卡在线| 欧美精品二区| 91久久嫩草影院一区二区| 亚洲福利视频在线| 久久亚洲不卡| 蜜桃av综合| 1204国产成人精品视频| 久久精品亚洲| 牛牛影视久久网| 亚洲承认在线| 美女在线一区二区| 欧美激情亚洲精品| 亚洲区一区二| 欧美成人自拍| 亚洲人精品午夜| 一区二区三区精密机械公司 | 亚洲欧美高清| 国产精品色在线| 亚洲深夜激情| 亚洲第一区中文99精品| 欧美日韩国产成人在线| 亚洲国内精品| 一区二区三欧美| 欧美三级网址| 午夜精品免费| 久久久九九九九| 有坂深雪在线一区| 欧美ed2k| 亚洲专区一区| 一道本一区二区| 午夜日韩视频| 国产精品揄拍500视频| 午夜精品久久久久久久男人的天堂| 午夜精品影院在线观看| 国产亚洲福利| 久久先锋影音av| 日韩一级片网址| 久久国产精品久久久久久电车| 国产中文一区| 欧美高清在线精品一区| 在线午夜精品自拍| 免费日韩成人| 亚洲小说欧美另类社区| 激情欧美丁香| 欧美日韩一区在线观看| 欧美在线视频不卡| 日韩系列欧美系列| 久久人人97超碰精品888| 亚洲理论在线| 国产一区二区三区日韩欧美| 欧美大片免费| 香蕉久久夜色精品国产| 亚洲国产另类久久精品| 午夜久久99| 日韩亚洲精品在线| 激情综合色综合久久| 欧美视频在线观看一区二区| 久久激情视频免费观看| 中文在线不卡| 亚洲国产精品高清久久久| 久久国产手机看片| 一区二区三区久久| 在线观看日韩专区| 国产乱码精品一区二区三区不卡| 麻豆av一区二区三区久久| 亚洲永久精品大片| 亚洲精品国产视频| 欧美激情1区| 美女黄色成人网| 欧美一级专区| 亚洲影院在线| 一本色道婷婷久久欧美| 亚洲国产精品毛片| 国内精品久久久久影院优| 久久亚洲综合| 99re6热只有精品免费观看| 在线观看日韩一区|