欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

基于Qt的OpenGL可編程管線學(xué)習(xí)(8)-探照燈-創(chuàng)新互聯(lián)

關(guān)于探照燈的效果如下圖所示:

成都創(chuàng)新互聯(lián)公司制作網(wǎng)站網(wǎng)頁(yè)找三站合一網(wǎng)站制作公司,專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì),網(wǎng)站設(shè)計(jì),企業(yè)網(wǎng)站搭建,網(wǎng)站開(kāi)發(fā),建網(wǎng)站業(yè)務(wù),680元做網(wǎng)站,已為成百上千家服務(wù),成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)將一如既往的為我們的客戶提供最優(yōu)質(zhì)的網(wǎng)站建設(shè)、網(wǎng)絡(luò)營(yíng)銷(xiāo)推廣服務(wù)!

基于Qt的OpenGL可編程管線學(xué)習(xí)(8)- 探照燈

基于Qt的OpenGL可編程管線學(xué)習(xí)(8)- 探照燈

探照燈需要傳入光源的位置,光源的方向以及夾角的大小(夾角為光源覆蓋的夾角的一半)

計(jì)算思路:

用光源到點(diǎn)的距離與光源的方向的單位向量做點(diǎn)乘,得到夾角的cos,用計(jì)算的夾角cos與

傳入的角度的cos做比較,確定光線照射的范圍。邊緣不部分計(jì)算的cos做基底,然后給定一個(gè)冪,

就可以做到漸變的效果;探照燈的計(jì)算時(shí)也要算上衰減

Shader中的相關(guān)代碼如下:

vec3 light = M_LightPos.xyz;
float distanceLight = 0.0;      // 距離光源的距離
float attenuation = 1.0;         // 衰減系數(shù)

// 衰減因子
float constantFactor = 0.9;           // 常亮衰減常數(shù)
float linerFactor = 0.0;                 //  線性衰減系數(shù)
float expFactor = 0.0;                  //  平方衰減系數(shù)
// 點(diǎn)光源
if (M_LightPos.w != 0.0)
{
    light = M_LightPos.xyz - M_WordPos;
    distanceLight = length(light);
    attenuation = 1.0 / (constantFactor + linerFactor * distanceLight + expFactor * distanceLight * distanceLight);
}
vec3 LightNormal = normalize(light);       // 指向光源的單位向量
vec3 NormalNormal = normalize(M_normal);      //  法線的單位向量

light = M_LightPos.xyz - M_WordPos;
vec3 spotLightPointDirection = normalize(-light);
vec3 spotLightDirection = normalize(M_SpotLightDirection.xyz);
float spotDegreeCos = dot(spotLightPointDirection, spotLightDirection);
float spotCutoffCos = cos(M_SpotLightCutoff * 3.14 / 180.0);
float diffuseIntensity = 0.0;
if (M_SpotLightDirection.w > 0 && M_SpotLightCutoff > 0)
{
    if (spotDegreeCos > spotCutoffCos)
    {
        diffuseIntensity = pow(max(0.0, spotDegreeCos), M_SpotLightDirection.w) * 2;
    }
}
else
{
    diffuseIntensity = max(0.0, dot(NormalNormal, LightNormal));
}
vec4 diffuseColor = M_DiffuseLightColor * M_DiffuseMaterial * 
                    diffuseIntensity * attenuation;

CPU中的設(shè)置

// 光源位置
float nLightPos[4] = {0.0f, 0.0f, -2.0f, 1.0f};
OpenGLCore->glUniform4fv(m_LightPos, 1, nLightPos);
// 探照燈方向及角度
float nSpotLightDirection[4] = {0.0f, 0.0f, -1.0f, 128.0f};
OpenGLCore->glUniform4fv(m_SpotLightDirection, 1, nSpotLightDirection);
float nSpotLightDegree = 30.0f;
OpenGLCore->glUniform1f(m_SpotLightCutoff, nSpotLightDegree);

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

當(dāng)前文章:基于Qt的OpenGL可編程管線學(xué)習(xí)(8)-探照燈-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://aaarwkj.com/article40/gdjeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、定制網(wǎng)站、定制開(kāi)發(fā)、企業(yè)建站、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開(kāi)發(fā)
我要看亚洲黄色片一级| 日韩在线中文字幕一区| 国产内射一级一片内射高清视频1| 中文字幕人妻在线播放| 国产精品18禁一区二区三区| 日日做日夜夜操天天搞| 国产国产成年年人免费看片| 亚洲黄色av乱码在线观看| 黄色大全欧美在线观看| 亚洲国产精品一区二区av| 91国语对白在线观看| 在线播放av男人的天堂| 中文字幕人妻丝袜乱一区二区| 午夜精品一区二区三区在线视频| 欧美中文日韩国产字幕| 亚洲免费一区二区三区四区| 国产丝袜美腿诱惑久久| 亚洲精品一区二区午夜| 国产免费高清视频成人| 激情男女一区二区三区| 久久男女激情免费视频| 天天躁日日躁夜夜躁夜夜| 老湿机午夜十分钟视频| 久久精品国产一区二区| 日韩亚洲毛片全在线播放| 91九色国产在线播放| 免费无遮挡午夜视频网站| 91亚洲熟妇国产熟妇肥婆| 亚洲午夜精品毛片成人| 福利1中文字幕手机在线| 欧美欧美欧美欧美在线| 中文字幕一区二区中文字幕| 福利一区二区在线视频| 日韩欧美一区二区免费| 国产精品大屁股白浆一区二区| 亚洲中文字幕乱码第一页| 日韩免费在线观看av| 亚洲激情中文字幕av网| 欧美日韩专区一区二区三区| 亚洲免费精品一区二区三区四区| 熟妇人妻久久中文字幕麻豆网|