欧美1区2区3区激情无套,两个女人互添下身视频在线观看,久久av无码精品人妻系列,久久精品噜噜噜成人,末发育娇小性色xxxx

DirectX11 With Windows SDK 07添加光照與常用幾何模型、光柵化狀態(tài) 課后作業(yè)

本文是DirectX11 With Windows SDK 07添加光照與常用幾何模型、光柵化狀態(tài) 的課后作業(yè)
答案僅供參考
原文鏈接:DirectX11 With Windows SDK 07添加光照與常用幾何模型、光柵化狀態(tài)

  1. 嘗試修改本章Demo的光照,讓方向光只射出紅光,點光燈只射出綠光,聚光燈只射出藍光。

     // 方向光 紅色
     m_DirLight.ambient = XMFLOAT4(1.0f, 0.0f, 0.0f, 1.0f);
     m_DirLight.diffuse = XMFLOAT4(1.0f, 0.0f, 0.0f, 1.0f);
     m_DirLight.specular = XMFLOAT4(1.0f, 0.0f, 0.0f, 1.0f);
     m_DirLight.direction = XMFLOAT3(-0.577f, -0.577f, 0.577f);
     // 點光 綠色
     m_PointLight.ambient = XMFLOAT4(0.0f, 1.0f, 0.0f, 1.0f);
     m_PointLight.diffuse = XMFLOAT4(0.0f, 1.0f, 0.0f, 1.0f);
     m_PointLight.specular = XMFLOAT4(0.0f, 1.0f, 0.0f, 1.0f);
     // 聚光燈 藍色
     m_SpotLight.ambient = XMFLOAT4(0.0f, 0.0f, 0.0f, 1.0f);
     m_SpotLight.diffuse = XMFLOAT4(0.0f, 0.0f, 1.0f, 1.0f);
     m_SpotLight.specular = XMFLOAT4(0.0f, 0.0f, 1.0f, 0.f);
  2. 嘗試修改本章Demo所用到的材質,讓其只反射紅光。

     // 初始化用于PS的常量緩沖區(qū)的值
     // 將 diffuse 或者 ambient 或者 specular 修改為 1.0, 0 , 0 即可 下面代碼我只修改了 diffuse
     m_PSConstantBuffer.material.ambient = XMFLOAT4(0.5f, 0.5f, 0.5f, 1.0f);
     m_PSConstantBuffer.material.diffuse = XMFLOAT4(1.0f, 0.0f, 0.0f, 1.0f);
     m_PSConstantBuffer.material.specular = XMFLOAT4(0.5f, 0.5f, 0.5f, 5.0f);
  3. 嘗試修改本章Demo所用到的聚光燈,通過鼠標滾輪的形式,對光照匯聚強度增加/減少,范圍為2-512,觀察效果。

     // 我的代碼并沒有按照 2-512的范圍去弄 所以僅供參考
     //UpdateScene函數(shù)
     // 獲取鼠標狀態(tài) 
     Mouse::State mouseState = m_pMouse->GetState();
     Mouse::State lastMouseState = m_MouseTracker.GetLastState();
     m_MouseTracker.Update(mouseState);
     static float  d = 15.0f;
     d -= mouseState.scrollWheelValue/360.0f;
     m_pMouse->ResetScrollWheelValue();
     //之后在聚光燈的條件語句中添加
     m_PSConstantBuffer.spotLight.spot = d;
     // 注:需要不斷的去按 3 滑動滾輪才能看出效果
  4. 嘗試修改本章Demo所用到的材質,看看如果鏡面反射強度的值小于1會發(fā)生什么情況。

  5. 實現(xiàn)一個函數(shù)用于創(chuàng)建膠囊(capsule)幾何體,需要指定上下半球的半徑(radius)、柱體部分高度(height)、球面三角形切片數(shù)(slices)和上下半球的層級數(shù)(levels),并且實現(xiàn)頂點要包含位置(position)、法向量(normal)。若已經(jīng)接觸過紋理映射與法線貼圖,則可以考慮額外實現(xiàn)紋理坐標(texcoord)和切線向量(tangent)

    評論區(qū)

  6. 利用光柵化狀態(tài),嘗試同時畫出立方體和其三角形邊界(題圖無光照)

     //思路就是 分兩次draw,第一次為線框模式,第二次繪制實體,而且線框和實體不能使用一個顏色
     //1. 在UpdateScene() 中添加
     // 設置 光柵化狀態(tài) 以及顏色值
     m_pd3dImmediateContext->RSSetState(m_pRSWireframe.Get());
     m_PSConstantBuffer.material.diffuse = XMFLOAT4(0.0f, 0.0f, 0.0f,0.0f);
     //2. DrawScene 添加如下代碼
     // 第一次繪制
     m_pd3dImmediateContext->DrawIndexed(m_IndexCount, 0, 0);
    
     // 第二次繪制
     m_pd3dImmediateContext->RSSetState(nullptr);
     // 顏色更改為白色
     m_PSConstantBuffer.material.diffuse = XMFLOAT4(1.0f, 1.0f, 1.0f, 0.0f);
     D3D11_MAPPED_SUBRESOURCE mappedData;
     HR(m_pd3dImmediateContext->Map(m_pConstantBuffers[1].Get(), 0, D3D11_MAP_WRITE_DISCARD, 0, &mappedData));
     memcpy_s(mappedData.pData, sizeof(PSConstantBuffer), &m_PSConstantBuffer, sizeof(PSConstantBuffer));
     m_pd3dImmediateContext->Unmap(m_pConstantBuffers[1].Get(), 0);
     // 繪制幾何模型
     m_pd3dImmediateContext->DrawIndexed(m_IndexCount, 0, 0);
圖形學碎碎念 文章被收錄于專欄

學習圖形學

全部評論

相關推薦

04-30 21:35
已編輯
長安大學 C++
曉沐咕咕咕:評論區(qū)沒被女朋友好好對待過的計小將可真多。覺得可惜可以理解,畢竟一線大廠sp。但是罵樓主糊涂的大可不必,說什么會被社會毒打更是丟人。女朋友體制內生活有保障,讀研女朋友還供著,都準備訂婚了人家兩情相悅,二線本地以后兩口子日子美滋滋,哪輪到你一個一線城市房子都買不起的996清高計小將在這說人家傻??
點贊 評論 收藏
分享
評論
點贊
收藏
分享

創(chuàng)作者周榜

更多
??途W(wǎng)
牛客企業(yè)服務