日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

DirectX11 With Windows SDK--24 Render-To-Texture(RTT)技术的应用

發(fā)布時(shí)間:2024/4/15 windows 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DirectX11 With Windows SDK--24 Render-To-Texture(RTT)技术的应用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
DirectX11 With Windows SDK--24 Render-To-Texture(RTT)技術(shù)的應(yīng)用 原文:DirectX11 With Windows SDK--24 Render-To-Texture(RTT)技術(shù)的應(yīng)用

前言

盡管在上一章的動態(tài)天空盒中用到了Render-To-Texture技術(shù),但那是針對紋理立方體的特化實(shí)現(xiàn)。考慮到該技術(shù)的應(yīng)用層面非常廣,在這里抽出獨(dú)立的一章專門來講有關(guān)它的通用實(shí)現(xiàn)以及各種應(yīng)用。

章節(jié)回顧
深入理解與使用2D紋理資源(重點(diǎn)閱讀ScreenGrab庫)
23 立方體映射:動態(tài)天空盒的實(shí)現(xiàn)

DirectX11 With Windows SDK完整目錄

Github項(xiàng)目源碼

歡迎加入QQ群: 727623616 可以一起探討DX11,以及有什么問題也可以在這里匯報(bào)。

再述Render-To-Texture技術(shù)

在前面的章節(jié)中,我們默認(rèn)的渲染目標(biāo)是來自DXGI后備緩沖區(qū),它是一個(gè)2D紋理。而Render-To-Texture技術(shù),實(shí)際上就是使用一張2D紋理作為渲染目標(biāo),但一般是自己新建的2D紋理。與此同時(shí),這個(gè)紋理還能夠綁定到著色器資源視圖(SRV)供著色器所使用,即原本用作輸出的紋理現(xiàn)在用作輸入。

它可以用于:

  • 小地圖的實(shí)現(xiàn)
  • 陰影映射(Shadow mapping)
  • 屏幕空間環(huán)境光遮蔽(Screen Space Ambient Occlusion)
  • 利用天空盒實(shí)現(xiàn)動態(tài)反射/折射(Dynamic reflections/refractions with cube maps)
  • 在這一章,我們將展示下面這三種應(yīng)用:

  • 屏幕淡入/淡出
  • 小地圖(有可視范圍的)
  • 保存紋理到文件
  • TextureRender類

    該類借鑒了上一章DynamicSkyEffect的實(shí)現(xiàn),因此也繼承了它簡單易用的特性:

    class TextureRender { public:template<class T>using ComPtr = Microsoft::WRL::ComPtr<T>;TextureRender(ID3D11Device * device,int texWidth, int texHeight,bool generateMips = false);~TextureRender();// 開始對當(dāng)前紋理進(jìn)行渲染void Begin(ID3D11DeviceContext * deviceContext);// 結(jié)束對當(dāng)前紋理的渲染,還原狀態(tài)void End(ID3D11DeviceContext * deviceContext);// 獲取渲染好的紋理ID3D11ShaderResourceView * GetOutputTexture();// 設(shè)置調(diào)試對象名void SetDebugObjectName(const std::string& name);private:ComPtr<ID3D11ShaderResourceView> m_pOutputTextureSRV; // 輸出的紋理對應(yīng)的著色器資源視圖ComPtr<ID3D11RenderTargetView> m_pOutputTextureRTV; // 輸出的紋理對應(yīng)的渲染目標(biāo)視圖ComPtr<ID3D11DepthStencilView> m_pOutputTextureDSV; // 輸出紋理所用的深度/模板視圖D3D11_VIEWPORT m_OutputViewPort; // 輸出所用的視口ComPtr<ID3D11RenderTargetView> m_pCacheRTV; // 臨時(shí)緩存的后備緩沖區(qū)ComPtr<ID3D11DepthStencilView> m_pCacheDSV; // 臨時(shí)緩存的深度/模板緩沖區(qū)D3D11_VIEWPORT m_CacheViewPort; // 臨時(shí)緩存的視口bool m_GenerateMips; // 是否生成mipmap鏈 };

    它具有如下特點(diǎn):

  • 支持任意寬高的紋理(在初始化時(shí)確定),因?yàn)樗鼉?nèi)置了一個(gè)獨(dú)立的深度/模板緩沖區(qū)
  • 使用Begin和End方法,確保在這兩個(gè)方法調(diào)用之間的所有繪制都將輸出到該紋理
  • Begin方法會臨時(shí)緩存后備緩沖區(qū)、深度/模板緩沖區(qū)和視口,并在End方法恢復(fù),因此無需自己去重新設(shè)置這些東西
  • TextureRender初始化

    現(xiàn)在我們需要完成下面5個(gè)步驟:

  • 創(chuàng)建紋理
  • 創(chuàng)建紋理對應(yīng)的渲染目標(biāo)視圖
  • 創(chuàng)建紋理對應(yīng)的著色器資源視圖
  • 創(chuàng)建與紋理等寬高的深度/模板緩沖區(qū)和對應(yīng)的視圖
  • 初始化視口
  • 具體代碼如下:

    TextureRender::TextureRender(ID3D11Device * device, int texWidth, int texHeight, bool generateMips): m_GenerateMips(generateMips), m_CacheViewPort() {// ******************// 1. 創(chuàng)建紋理//ComPtr<ID3D11Texture2D> texture;D3D11_TEXTURE2D_DESC texDesc;texDesc.Width = texWidth;texDesc.Height = texHeight;texDesc.MipLevels = (m_GenerateMips ? 0 : 1); // 0為完整mipmap鏈texDesc.ArraySize = 1;texDesc.SampleDesc.Count = 1;texDesc.SampleDesc.Quality = 0;texDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;texDesc.Usage = D3D11_USAGE_DEFAULT;texDesc.BindFlags = D3D11_BIND_RENDER_TARGET | D3D11_BIND_SHADER_RESOURCE;texDesc.CPUAccessFlags = 0;texDesc.MiscFlags = D3D11_RESOURCE_MISC_GENERATE_MIPS;// 現(xiàn)在texture用于新建紋理HR(device->CreateTexture2D(&texDesc, nullptr, texture.ReleaseAndGetAddressOf()));// ******************// 2. 創(chuàng)建紋理對應(yīng)的渲染目標(biāo)視圖//D3D11_RENDER_TARGET_VIEW_DESC rtvDesc;rtvDesc.Format = texDesc.Format;rtvDesc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2D;rtvDesc.Texture2D.MipSlice = 0;HR(device->CreateRenderTargetView(texture.Get(),&rtvDesc,m_pOutputTextureRTV.GetAddressOf()));// ******************// 3. 創(chuàng)建紋理對應(yīng)的著色器資源視圖//D3D11_SHADER_RESOURCE_VIEW_DESC srvDesc;srvDesc.Format = texDesc.Format;srvDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D;srvDesc.Texture2D.MostDetailedMip = 0;srvDesc.TextureCube.MipLevels = -1; // 使用所有的mip等級HR(device->CreateShaderResourceView(texture.Get(),&srvDesc,m_pOutputTextureSRV.GetAddressOf()));// ******************// 4. 創(chuàng)建與紋理等寬高的深度/模板緩沖區(qū)和對應(yīng)的視圖//texDesc.Width = texWidth;texDesc.Height = texHeight;texDesc.MipLevels = 0;texDesc.ArraySize = 1;texDesc.SampleDesc.Count = 1;texDesc.SampleDesc.Quality = 0;texDesc.Format = DXGI_FORMAT_D24_UNORM_S8_UINT;texDesc.Usage = D3D11_USAGE_DEFAULT;texDesc.BindFlags = D3D11_BIND_DEPTH_STENCIL;texDesc.CPUAccessFlags = 0;texDesc.MiscFlags = 0;ComPtr<ID3D11Texture2D> depthTex;device->CreateTexture2D(&texDesc, nullptr, depthTex.GetAddressOf());D3D11_DEPTH_STENCIL_VIEW_DESC dsvDesc;dsvDesc.Format = texDesc.Format;dsvDesc.Flags = 0;dsvDesc.ViewDimension = D3D11_DSV_DIMENSION_TEXTURE2D;dsvDesc.Texture2D.MipSlice = 0;HR(device->CreateDepthStencilView(depthTex.Get(),&dsvDesc,m_pOutputTextureDSV.GetAddressOf()));// ******************// 5. 初始化視口//m_OutputViewPort.TopLeftX = 0.0f;m_OutputViewPort.TopLeftY = 0.0f;m_OutputViewPort.Width = static_cast<float>(texWidth);m_OutputViewPort.Height = static_cast<float>(texHeight);m_OutputViewPort.MinDepth = 0.0f;m_OutputViewPort.MaxDepth = 1.0f; }

    TextureRender::Begin方法--開始對當(dāng)前紋理進(jìn)行渲染

    該方法緩存當(dāng)前渲染管線綁定的渲染目標(biāo)視圖、深度/模板視圖以及視口,并替換初始化好的這些資源。注意還需要清空一遍緩沖區(qū):

    void TextureRender::Begin(ID3D11DeviceContext * deviceContext) {// 緩存渲染目標(biāo)和深度模板視圖deviceContext->OMGetRenderTargets(1, m_pCacheRTV.GetAddressOf(), m_pCacheDSV.GetAddressOf());// 緩存視口UINT num_Viewports = 1;deviceContext->RSGetViewports(&num_Viewports, &m_CacheViewPort);// 清空緩沖區(qū)float black[4] = { 0.0f, 0.0f, 0.0f, 1.0f };deviceContext->ClearRenderTargetView(m_pOutputTextureRTV.Get(), black);deviceContext->ClearDepthStencilView(m_pOutputTextureDSV.Get(), D3D11_CLEAR_DEPTH | D3D11_CLEAR_STENCIL, 1.0f, 0);// 設(shè)置渲染目標(biāo)和深度模板視圖deviceContext->OMSetRenderTargets(1, m_pOutputTextureRTV.GetAddressOf(), m_pOutputTextureDSV.Get());// 設(shè)置視口deviceContext->RSSetViewports(1, &m_OutputViewPort); }

    TextureRender::End方法--結(jié)束對當(dāng)前紋理的渲染,還原狀態(tài)

    在對當(dāng)前紋理的所有繪制方法調(diào)用完畢后,就需要調(diào)用該方法以恢復(fù)到原來的渲染目標(biāo)視圖、深度/模板視圖以及視口。若在初始化時(shí)還指定了generateMips為true,還會給該紋理生成mipmap鏈:

    void TextureRender::End(ComPtr<ID3D11DeviceContext> deviceContext) {// 恢復(fù)默認(rèn)設(shè)定deviceContext->RSSetViewports(1, &m_CacheViewPort);deviceContext->OMSetRenderTargets(1, m_pCacheRTV.GetAddressOf(), m_pCacheDSV.Get());// 若之前有指定需要mipmap鏈,則生成if (m_GenerateMips){deviceContext->GenerateMips(m_pOutputTextureSRV.Get());}// 清空臨時(shí)緩存的渲染目標(biāo)視圖和深度模板視圖m_pCacheDSV.Reset();m_pCacheRTV.Reset(); }

    最后就可以通過TextureRender::GetOutputTexture方法獲取渲染好的紋理了。

    注意:不要將紋理既作為渲染目標(biāo),又作為著色器資源,雖然不會報(bào)錯(cuò),但這樣會導(dǎo)致程序運(yùn)行速度被拖累。在VS的輸出窗口你可以看到它會將該資源強(qiáng)制從著色器中撤離,置其為NULL,以保證不會同時(shí)綁定在輸入和輸出端。

    屏幕淡入/淡出效果的實(shí)現(xiàn)

    該效果對應(yīng)的特效文件為ScreenFadeEffect.cpp,著色器文件為ScreenFade_VS.hlsl和ScreenFade_PS.hlsl。

    ScreenFadeEffect類在這不做講解,有興趣的可以查看第13章的自定義Effects管理類實(shí)現(xiàn)教程,或者去翻看ScreenFadeEffect類的源碼實(shí)現(xiàn)。

    首先是ScreenFade.hlsli

    // ScreenFade.hlsli Texture2D gTex : register(t0); SamplerState gSam : register(s0);cbuffer CBChangesEveryFrame : register(b0) {float g_FadeAmount; // 顏色程度控制(0.0f-1.0f)float3 g_Pad; }cbuffer CBChangesRarely : register(b1) {matrix g_WorldViewProj; }struct VertexPosTex {float3 PosL : POSITION;float2 Tex : TEXCOORD; };struct VertexPosHTex {float4 PosH : SV_POSITION;float2 Tex : TEXCOORD; };

    然后分別是對于的頂點(diǎn)著色器和像素著色器實(shí)現(xiàn):

    // ScreenFade_VS.hlsl #include "ScreenFade.hlsli"// 頂點(diǎn)著色器 VertexPosHTex VS(VertexPosTex vIn) {VertexPosHTex vOut;vOut.PosH = mul(float4(vIn.PosL, 1.0f), g_WorldViewProj);vOut.Tex = vIn.Tex;return vOut; } // ScreenFade_PS.hlsl #include "ScreenFade.hlsli"// 像素著色器 float4 PS(VertexPosHTex pIn) : SV_Target {return g_Tex.Sample(g_Sam, pIn.Tex) * float4(g_FadeAmount, g_FadeAmount, g_FadeAmount, 1.0f); }

    該套著色器通過gFadeAmount來控制最終輸出的顏色,我們可以通過對其進(jìn)行動態(tài)調(diào)整來實(shí)現(xiàn)一些效果。當(dāng)gFadeAmount從0到1時(shí),屏幕從黑到正常顯示,即淡入效果;而當(dāng)gFadeAmount從1到0時(shí),平面從正常顯示到變暗,即淡出效果。

    一開始像素著色器的返回值采用的是和Rastertek一樣的tex.Sample(sam, pIn.Tex) * gFadeAmount,但是在截屏出來的.dds文件觀看的時(shí)候顏色變得很奇怪

    原本以為是輸出的文件格式亂了,但當(dāng)我把Alpha通道關(guān)閉后,圖片卻一切正常了

    故這里應(yīng)該讓Alpha通道的值乘上1.0f以保持Alpha通道的一致性

    為了實(shí)現(xiàn)屏幕的淡入淡出效果,我們需要一張渲染好的場景紋理,即通過TextureRender來實(shí)現(xiàn)。

    首先我們看GameApp::UpdateScene方法中用于控制屏幕淡入淡出的部分:

    // 更新淡入淡出值 if (m_FadeUsed) {m_FadeAmount += m_FadeSign * dt / 2.0f; // 2s時(shí)間淡入/淡出if (m_FadeSign > 0.0f && m_FadeAmount > 1.0f){m_FadeAmount = 1.0f;m_FadeUsed = false; // 結(jié)束淡入}else if (m_FadeSign < 0.0f && m_FadeAmount < 0.0f){m_FadeAmount = 0.0f;SendMessage(MainWnd(), WM_DESTROY, 0, 0); // 關(guān)閉程序// 這里不結(jié)束淡出是因?yàn)榘l(fā)送關(guān)閉窗口的消息還要過一會才真正關(guān)閉} }// ...// 退出程序,開始淡出 if (m_KeyboardTracker.IsKeyPressed(Keyboard::Escape)) {m_FadeSign = -1.0f;m_FadeUsed = true; }

    啟動程序的時(shí)候,mFadeSign的初始值是1.0f,這樣就使得打開程序的時(shí)候就在進(jìn)行屏幕淡入。

    而用戶按下Esc鍵退出的話,則先觸發(fā)屏幕淡出效果,等屏幕變黑后再發(fā)送關(guān)閉程序的消息給窗口。注意發(fā)送消息到真正關(guān)閉還相隔一段時(shí)間,在這段時(shí)間內(nèi)也不要關(guān)閉淡出效果的繪制,否則最后那一瞬間又突然看到場景了。

    然后在GameApp::DrawScene方法中,我們可以將繪制過程簡化成這樣:

    // ****************** // 繪制Direct3D部分 //// 預(yù)先清空后備緩沖區(qū) m_pd3dImmediateContext->ClearRenderTargetView(m_pRenderTargetView.Get(), reinterpret_cast<const float*>(&Colors::Black)); m_pd3dImmediateContext->ClearDepthStencilView(m_pDepthStencilView.Get(), D3D11_CLEAR_DEPTH | D3D11_CLEAR_STENCIL, 1.0f, 0);if (mFadeUsed) {// 開始淡入/淡出m_pScreenFadeRender->Begin(m_pd3dImmediateContext.Get()); }// 繪制主場景...if (mFadeUsed) {// 結(jié)束淡入/淡出,此時(shí)繪制的場景在屏幕淡入淡出渲染的紋理m_pScreenFadeRender->End(m_pd3dImmediateContext.Get());// 屏幕淡入淡出特效應(yīng)用m_ScreenFadeEffect.SetRenderDefault(m_pd3dImmediateContext.Get());m_ScreenFadeEffect.SetFadeAmount(m_FadeAmount);m_ScreenFadeEffect.SetTexture(m_pScreenFadeRender->GetOutputTexture());m_ScreenFadeEffect.SetWorldViewProjMatrix(XMMatrixIdentity());m_ScreenFadeEffect.Apply(m_pd3dImmediateContext.Get());// 將保存的紋理輸出到屏幕m_pd3dImmediateContext->IASetVertexBuffers(0, 1, m_FullScreenShow.modelParts[0].vertexBuffer.GetAddressOf(), strides, offsets);m_pd3dImmediateContext->IASetIndexBuffer(m_FullScreenShow.modelParts[0].indexBuffer.Get(), DXGI_FORMAT_R16_UINT, 0);m_pd3dImmediateContext->DrawIndexed(6, 0, 0);// 務(wù)必解除綁定在著色器上的資源,因?yàn)橄乱粠_始它會作為渲染目標(biāo)m_ScreenFadeEffect.SetTexture(nullptr);m_ScreenFadeEffect.Apply(m_pd3dImmediateContext.Get()); }

    對了,如果窗口被拉伸,那我們之前創(chuàng)建的紋理寬高就不適用了,需要重新創(chuàng)建一個(gè)。在GameApp::OnResize方法可以看到:

    void GameApp::OnResize() {// ...// 攝像機(jī)變更顯示if (mCamera != nullptr){// ...// 屏幕淡入淡出紋理大小重設(shè)m_pScreenFadeRender = std::make_unique<TextureRender>(m_pd3dDevice.Get(), m_ClientWidth, m_ClientHeight, false);} }

    由于屏幕淡入淡出效果需要先繪制主場景到紋理,然后再用該紋理完整地繪制到屏幕上,就不說前面還進(jìn)行了大量的深度測試了,兩次繪制下來使得在渲染淡入淡出效果的時(shí)候幀數(shù)下降比較明顯。因此不建議經(jīng)常這么做。

    小地圖的實(shí)現(xiàn)

    關(guān)于小地圖的實(shí)現(xiàn),有許多種方式。常見的如下:

  • 美術(shù)預(yù)先繪制一張地圖紋理,然后再在上面繪制一些2D物件表示場景中的物體
  • 捕獲游戲場景的俯視圖用作紋理,但只保留靜態(tài)物體,然后再在上面繪制一些2D物件表示場景中的物體
  • 通過俯視圖完全繪制出游戲場景中的所有物體
  • 可以看出,性能的消耗越往后要求越高。

    因?yàn)楸卷?xiàng)目的場景是在夜間森林,并且樹是隨機(jī)生成的,因此采用第二種方式,但是地圖可視范圍為攝像機(jī)可視區(qū)域,并且不考慮額外繪制任何2D物件。

    小地圖對應(yīng)的特效文件為MinimapEffect.cpp,著色器文件為Minimap_VS.hlsl和Minimap_PS.hlsl。同樣這里只關(guān)注HLSL實(shí)現(xiàn)。

    首先是Minimap.hlsli:

    // Minimap.hlsliTexture2D g_Tex : register(t0); SamplerState g_Sam : register(s0);cbuffer CBChangesEveryFrame : register(b0) {float3 g_EyePosW; // 攝像機(jī)位置float g_Pad; }cbuffer CBDrawingStates : register(b1) {int g_FogEnabled; // 是否范圍可視float g_VisibleRange; // 3D世界可視范圍float2 g_Pad2;float4 g_RectW; // 小地圖xOz平面對應(yīng)3D世界矩形區(qū)域(Left, Front, Right, Back)float4 g_InvisibleColor; // 不可視情況下的顏色 }struct VertexPosTex {float3 PosL : POSITION;float2 Tex : TEXCOORD; };struct VertexPosHTex {float4 PosH : SV_POSITION;float2 Tex : TEXCOORD; };

    為了能在小地圖中繪制出局部區(qū)域可視的效果,還需要依賴3D世界中的一些參數(shù)。其中g(shù)RectW對應(yīng)的是3D世界中矩形區(qū)域(即x最小值, z最大值, x最大值, z最小值)。

    然后是頂點(diǎn)著色器和像素著色器的實(shí)現(xiàn):

    // Minimap_VS.hlsl #include "Minimap.hlsli"// 頂點(diǎn)著色器 VertexPosHTex VS(VertexPosTex vIn) {VertexPosHTex vOut;vOut.PosH = float4(vIn.PosL, 1.0f);vOut.Tex = vIn.Tex;return vOut; } // Minimap_PS.hlsl #include "Minimap.hlsli"// 像素著色器 float4 PS(VertexPosHTex pIn) : SV_Target {// 要求Tex的取值范圍都在[0.0f, 1.0f], y值對應(yīng)世界坐標(biāo)z軸float2 PosW = pIn.Tex * float2(g_RectW.zw - g_RectW.xy) + g_RectW.xy;float4 color = g_Tex.Sample(g_Sam, pIn.Tex);[flatten]if (g_FogEnabled && length(PosW - g_EyePosW.xz) / g_VisibleRange > 1.0f){return g_InvisibleColor;}return color; }

    接下來我們需要通過Render-To-Texture技術(shù),捕獲整個(gè)場景的俯視圖。關(guān)于小地圖的繪制放在了GameApp::InitResource中:

    bool GameApp::InitResource() {// ...m_pMinimapRender = std::make_unique<TextureRender>(m_pd3dDevice.Get(), 400, 400, true);// 初始化網(wǎng)格,放置在右下角200x200m_Minimap.SetMesh(m_pd3dDevice, Geometry::Create2DShow(0.75f, -0.66666666f, 0.25f, 0.33333333f));// ...// 小地圖攝像機(jī)m_MinimapCamera = std::unique_ptr<FirstPersonCamera>(new FirstPersonCamera);m_MinimapCamera->SetViewPort(0.0f, 0.0f, 200.0f, 200.0f); // 200x200小地圖m_MinimapCamera->LookTo(XMVectorSet(0.0f, 10.0f, 0.0f, 1.0f),XMVectorSet(0.0f, -1.0f, 0.0f, 1.0f),XMVectorSet(0.0f, 0.0f, 1.0f, 0.0f));m_MinimapCamera->UpdateViewMatrix();// ...// 小地圖范圍可視m_MinimapEffect.SetFogState(true);m_MinimapEffect.SetInvisibleColor(XMVectorSet(0.0f, 0.0f, 0.0f, 1.0f));m_MinimapEffect.SetMinimapRect(XMVectorSet(-95.0f, 95.0f, 95.0f, -95.0f));m_MinimapEffect.SetVisibleRange(25.0f);// 方向光(默認(rèn))DirectionalLight dirLight[4];dirLight[0].Ambient = XMFLOAT4(0.15f, 0.15f, 0.15f, 1.0f);dirLight[0].Diffuse = XMFLOAT4(0.25f, 0.25f, 0.25f, 1.0f);dirLight[0].Specular = XMFLOAT4(0.1f, 0.1f, 0.1f, 1.0f);dirLight[0].Direction = XMFLOAT3(-0.577f, -0.577f, 0.577f);dirLight[1] = dirLight[0];dirLight[1].Direction = XMFLOAT3(0.577f, -0.577f, 0.577f);dirLight[2] = dirLight[0];dirLight[2].Direction = XMFLOAT3(0.577f, -0.577f, -0.577f);dirLight[3] = dirLight[0];dirLight[3].Direction = XMFLOAT3(-0.577f, -0.577f, -0.577f);for (int i = 0; i < 4; ++i)m_BasicEffect.SetDirLight(i, dirLight[i]);// ******************// 渲染小地圖紋理// m_BasicEffect.SetViewMatrix(m_MinimapCamera->GetViewXM());m_BasicEffect.SetProjMatrix(XMMatrixOrthographicLH(190.0f, 190.0f, 1.0f, 20.0f)); // 使用正交投影矩陣(中心在攝像機(jī)位置)// 關(guān)閉霧效m_BasicEffect.SetFogState(false);m_pMinimapRender->Begin(m_pd3dImmediateContext.Get());DrawScene(true);m_pMinimapRender->End(m_pd3dImmediateContext.Get());m_MinimapEffect.SetTexture(m_pMinimapRender->GetOutputTexture());// ... }

    通常小地圖的制作,建議是使用正交投影矩陣,XMMatrixOrthographicLH函數(shù)的中心在攝像機(jī)位置,不以攝像機(jī)為中心的話可以用XMMatrixOrthographicOffCenterLH函數(shù)。

    然后如果窗口大小調(diào)整,為了保證小地圖在屏幕的顯示是在右下角,并且保持200x200,需要在GameApp::OnResize重新調(diào)整網(wǎng)格模型:

    void GameApp::OnResize() {// ...// 攝像機(jī)變更顯示if (mCamera != nullptr){// ...// 小地圖網(wǎng)格模型重設(shè)m_Minimap.SetMesh(m_pd3dDevice.Get(), Geometry::Create2DShow(1.0f - 100.0f / m_ClientWidth * 2, -1.0f + 100.0f / m_ClientHeight * 2, 100.0f / m_ClientWidth * 2, 100.0f / m_ClientHeight * 2));} }

    最后是GameApp::DrawScene方法將小地圖紋理繪制到屏幕的部分:

    // 此處用于小地圖和屏幕繪制 UINT strides[1] = { sizeof(VertexPosTex) }; UINT offsets[1] = { 0 };// 小地圖特效應(yīng)用 m_MinimapEffect.SetRenderDefault(m_pd3dImmediateContext.Get()); m_MinimapEffect.Apply(m_pd3dImmediateContext.Get()); // 最后繪制小地圖 m_pd3dImmediateContext->IASetVertexBuffers(0, 1, m_Minimap.modelParts[0].vertexBuffer.GetAddressOf(), strides, offsets); m_pd3dImmediateContext->IASetIndexBuffer(m_Minimap.modelParts[0].indexBuffer.Get(), DXGI_FORMAT_R16_UINT, 0); m_pd3dImmediateContext->DrawIndexed(6, 0, 0);

    項(xiàng)目演示

    本項(xiàng)目的場景沿用了第20章的森林場景,并搭配了夜晚霧效,在打開程序后可以看到屏幕淡入的效果,按下Esc后則屏幕淡出后退出。

    然后人物在移動的時(shí)候,小地圖的可視范圍也會跟著移動。

    DirectX11 With Windows SDK完整目錄

    Github項(xiàng)目源碼

    歡迎加入QQ群: 727623616 可以一起探討DX11,以及有什么問題也可以在這里匯報(bào)。

    posted on 2019-05-05 10:01 NET未來之路 閱讀(...) 評論(...) 編輯 收藏

    轉(zhuǎn)載于:https://www.cnblogs.com/lonelyxmas/p/10811422.html

    總結(jié)

    以上是生活随笔為你收集整理的DirectX11 With Windows SDK--24 Render-To-Texture(RTT)技术的应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

    天天操天天射天天操 | 99 视频 高清 | 99久久精品国产一区二区三区 | 久久99免费视频 | 成人免费视频网 | 二区三区视频 | 婷婷九九 | 免费精品国产va自在自线 | 中文字幕一区二 | 日本性xxx | 亚洲欧美偷拍另类 | www亚洲一区 | 在线观看激情av | 中文字幕有码在线播放 | 香蕉视频久久久 | 久久久久成 | 97国产超碰在线 | 在线黄色国产 | 欧美成人精品在线 | 日韩av在线不卡 | 欧美精品做受xxx性少妇 | 夜色.com| 久久久久久片 | 亚洲精品视频www | 国产黄色大片免费看 | 日韩精品欧美专区 | 亚洲综合爱 | 热久久最新地址 | 狠狠干狠狠久久 | 国产精品久久久久久久久久免费看 | 亚洲狠狠操 | 成人在线免费看视频 | 国产精品 中文在线 | 麻豆国产精品va在线观看不卡 | 国产精品视频区 | 亚洲精品国偷拍自产在线观看 | 婷婷久操 | 天天拍天天色 | 亚洲国产精品视频 | 国产成人三级三级三级97 | 国产黄色一级片在线 | 波多野结衣亚洲一区二区 | 一级片免费视频 | 久久免费视频2 | 日韩aⅴ视频 | 国产黄色视| 干干日日 | 99精品免费视频 | 中文字幕一区二区三区久久 | 天堂av观看| 国产美女精品视频免费观看 | 欧美一级久久久 | 中文av在线播放 | 综合五月婷婷 | 91亚洲成人| 99视频在线免费 | 国产精品videoxxxx | 国产字幕在线观看 | av电影 一区二区 | 欧美一区二区三区在线播放 | 久久麻豆精品 | 欧美精品久久人人躁人人爽 | 亚洲影音先锋 | 久操视频在线播放 | 久草网站在线 | 日韩免费在线看 | 黄色视屏在线免费观看 | 欧美va天堂va视频va在线 | 日本三级不卡 | 久久精品中文字幕少妇 | 日韩精品一区二区免费 | 久久成人精品视频 | 日韩高清在线一区二区 | 欧美一区二区三区免费观看 | 视频在线观看亚洲 | 欧美精品久久天天躁 | 香蕉网址| 国产福利91精品一区二区三区 | 久久免费视频播放 | 丝袜av一区 | 成人免费观看完整版电影 | 九七视频在线观看 | 91在线精品播放 | 综合网成人 | 久久99国产精品久久99 | 午夜影视一区 | av 一区 二区 久久 | 久久久久免费精品视频 | 色偷偷88888欧美精品久久久 | 国产亚洲一区二区三区 | 美女在线黄 | 丁香六月网| 99久久夜色精品国产亚洲 | 亚洲成色 | 日韩精品一区二区在线 | 欧美另类重口 | 综合久久久久久久久 | 欧美久久久影院 | 麻豆视频免费播放 | 国产精品美女999 | 午夜视频免费 | 国内精品久久久久久久久久清纯 | 久久久久久久久综合 | 国产视频综合在线 | 久久精品艹 | 国产在线精品一区二区三区 | 99亚洲视频| 91av视频播放| 亚洲精品999 | 欧美色综合久久 | 欧美少妇bbwhd | 视频成人永久免费视频 | 视频二区在线视频 | 狠狠狠狠狠狠 | 日p视频| 亚洲激情五月 | a级片久久久 | 欧美日本不卡视频 | 国产精品美女免费看 | 精品一区二区影视 | 亚洲成aⅴ人片久久青草影院 | 国产黄在线免费观看 | 国产1区2区3区精品美女 | 在线观看你懂的网站 | 99久久精品无码一区二区毛片 | av韩国在线| 久久国产精品成人免费浪潮 | 91在线小视频 | 日韩一区二区三区免费视频 | 国产美女视频一区 | 国产精品国产三级国产aⅴ无密码 | 久久亚洲福利视频 | 成人a级网站 | 精品在线你懂的 | 欧美日本不卡视频 | www.香蕉视频在线观看 | 99爱国产精品 | 狠狠干天天色 | 色综合五月天 | 日日日操操 | 91亚洲精品国偷拍自产在线观看 | 中文欧美字幕免费 | 又黄又爽又色无遮挡免费 | 成人资源在线播放 | 亚洲在线成人精品 | www国产精品com| 91亚洲精品久久久蜜桃网站 | 亚洲男男gaygay无套同网址 | 中文一区在线观看 | 人人爽人人爽人人片av | 操综合| 亚洲精品在线免费 | 国产黄色资源 | 狠狠干天天射 | 免费色黄 | 玖玖在线观看视频 | 国产中文字幕av | 黄在线免费看 | 又黄又刺激的网站 | 国产又粗又猛又黄视频 | 日韩a欧美 | 国产在线观看网站 | 青草草在线视频 | 欧美性天天 | 午夜精品久久久久99热app | 国产不卡视频在线 | 欧美国产在线看 | 亚洲国产成人在线 | 国色天香永久免费 | av日韩国产 | 狠狠色丁香婷婷综合最新地址 | 成人av免费 | av黄色av | 国产高清精品在线 | 日本不卡一区二区三区在线观看 | 久久99国产综合精品免费 | 色婷婷亚洲综合 | www.天天操.com| 亚洲精品乱码久久久久久9色 | 爱爱av在线 | 欧美日韩a视频 | 久久久人 | 中文字幕网址 | 午夜少妇 | 深夜免费福利视频 | 麻豆91网站 | 国产高清精 | 欧美日韩亚洲第一页 | 国产精品电影一区 | 国产精品黄色影片导航在线观看 | 国产在线观看免费观看 | 久久久久久久久福利 | 超碰在线亚洲 | av福利第一导航 | 麻豆激情电影 | 国产黄色在线观看 | 久久不卡电影 | 中文字幕在线观看三区 | 亚洲毛片在线观看. | 天天搞天天干 | 国产美女网站视频 | 国产精品99久久久久久久久 | 波多野结衣视频一区 | 色婷婷www | 国产小视频免费在线观看 | 91亚洲永久精品 | 伊人五月综合 | 欧美精品亚洲精品日韩精品 | aa一级片| 久草在线观看 | 免费在线观看av的网站 | 亚洲国产精品va在线看黑人 | 特级西西444www高清大视频 | 日韩亚洲国产中文字幕 | 中文字幕一区二区三区久久蜜桃 | 日韩小视频 | 一区二区免费不卡在线 | 麻豆一区在线观看 | 国产69久久精品成人看 | 久久久影院官网 | 欧美一区视频 | 久久9精品 | 久久这里只有精品首页 | 中文字幕日本在线观看 | 91视频高清免费 | 一区二区三区四区五区六区 | 久草视频免费在线播放 | 国产一区二区在线观看视频 | 激情视频一区二区三区 | 九色精品免费永久在线 | 久久深夜福利免费观看 | 国产精品久久久久aaaa九色 | 伊人久久电影网 | 九九热在线播放 | 激情五月开心 | 成人国产精品电影 | 日韩三级免费观看 | 国产精品久久久久久久av电影 | 日本中文字幕在线观看 | 999毛片 | 国产精品久久久av | 久久免费的视频 | 国产视频网站在线观看 | 国产精品网在线观看 | 国产vs久久 | 射久久| 国产99久久精品一区二区300 | 婷婷精品进入 | 成人app在线免费观看 | 日韩高清毛片 | 欧美在线观看禁18 | 国产精品剧情在线亚洲 | 亚洲欧美色婷婷 | 国产一区二区三区网站 | 亚洲激情综合 | av片免费播放| 亚洲高清国产视频 | 视频在线观看亚洲 | 四虎成人精品永久免费av | 人人澡超碰碰 | 亚洲美女视频网 | 97香蕉久久超级碰碰高清版 | 91黄视频在线观看 | 国产精品福利在线观看 | 久久久精品福利视频 | 精品网站999www | 91黄色成人 | 99久久久成人国产精品 | 91在线欧美| 免费看一级一片 | 免费国产ww | 天天干天天操天天做 | 波多野结衣视频一区 | 日韩网站一区二区 | 国产中年夫妇高潮精品视频 | 久久观看| 日韩在线中文字幕视频 | 久久久久女人精品毛片 | 国产精品免费久久久 | av不卡免费在线观看 | 91xav| 免费在线色 | av在线h | 福利一区二区三区四区 | 欧美亚洲一级片 | 日韩欧美一区二区三区黑寡妇 | 一区二区三区在线免费观看 | 97精品超碰一区二区三区 | 免费三级黄色片 | 一区二区三区动漫 | 欧美日韩免费一区二区三区 | 黄色毛片一级片 | 精品人人爽 | 国产黄在线| 欧美成人一区二区 | 青青草国产免费 | 日日操日日插 | 精品国产日本 | 久久免费高清 | 亚洲激情在线观看 | 三级性生活视频 | 国产成人性色生活片 | 国产精品久久久久久高潮 | 爱爱一区 | 亚洲精品tv久久久久久久久久 | 丁香色婷 | 中文字幕在线网址 | 韩国精品在线观看 | 久久久久国产精品厨房 | 色网址99 | 在线观看日韩专区 | 久久高清免费观看 | 免费91在线 | 免费黄a| 中文字幕成人av | 69久久久| 国产亚洲午夜高清国产拍精品 | 婷婷在线播放 | 精品视频国产一区 | 亚洲精品国产精品久久99热 | 香蕉视频免费在线播放 | 99久久久国产精品免费观看 | 国产97视频 | 日本xxxx裸体xxxx17 | 国产精品久久久精品 | 国产精品 日本 | 久久美女精品 | www.69xx| 国产亚洲精品成人av久久ww | 国产一级大片在线观看 | 中日韩欧美精彩视频 | 日韩一级电影网站 | 日韩三级不卡 | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | 91桃色在线观看视频 | 黄网站app在线观看免费视频 | 激情av综合 | 999视频在线播放 | 中文有码在线视频 | 欧美性久久久久久 | 亚洲视频www | www.五月激情.com | 婷婷五天天在线视频 | 欧美另类xxxxx | 在线观看亚洲精品 | 午夜精品久久久久久久99 | 在线观看免费观看在线91 | 国产999视频| 韩国三级在线一区 | 在线观看视频你懂的 | a级片韩国 | 国产黄色免费在线观看 | 91成人在线视频 | 国产又粗又猛又色又黄网站 | 91亚洲影院 | 亚洲激情在线播放 | 毛片播放网站 | 亚洲 成人 欧美 | 伊人久久在线观看 | 亚洲另类视频在线观看 | 狠狠色丁香久久综合网 | 手机av电影在线观看 | 99久久婷婷国产综合精品 | 久久观看最新视频 | 怡红院成人在线 | 碰天天操天天 | 欧美日韩另类在线观看 | 久久人人97超碰精品888 | 在线观看视频国产一区 | 天堂激情网 | 在线亚洲成人 | 麻豆视频www| 丰满少妇在线观看网站 | 在线播放日韩av | a级国产乱理伦片在线观看 亚洲3级 | 久久久毛片 | 又污又黄的网站 | 99精品视频在线观看播放 | 99精品视频免费全部在线 | 免费观看91视频大全 | 久久久不卡影院 | 一区二区视频在线看 | 三级黄色免费片 | 人人干人人艹 | 精品国产亚洲在线 | www狠狠| 一级成人在线 | 91在线视频在线 | 亚洲不卡av一区二区三区 | 日日夜夜狠狠操 | 18网站在线观看 | 久久乐九色婷婷综合色狠狠182 | 国产婷婷一区二区 | 欧女人精69xxxxxx | 九色视频网 | 亚洲国内精品在线 | 九九国产视频 | 日韩中文字幕在线观看 | 国模一二三区 | 免费在线中文字幕 | 国产手机在线 | 国产精品 亚洲精品 | 国产一区久久久 | 精品视频专区 | 久久久久免费精品视频 | a'aaa级片在线观看 | 欧美中文字幕久久 | 丝袜美女在线观看 | 激情在线网址 | 国产精品a久久 | 欧美色精品天天在线观看视频 | www.亚洲视频 | 国产精品免费麻豆入口 | 中文字幕在线免费观看 | 在线观看岛国av | 婷婷精品视频 | 日韩免费观看一区二区三区 | 91精品国产综合久久婷婷香蕉 | 精品国产一区二区三区在线观看 | 久久国产精品区 | 欧美日韩一区二区三区在线免费观看 | 在线观看a视频 | 欧美有色 | 久久久久网址 | 一区二区三区在线不卡 | www.五月婷婷| 国产精品自拍在线 | 99综合久久 | 久久久2o19精品 | 日韩欧美在线观看 | 国产精品久久久久久久久久妇女 | 国产第一福利 | av在线色| 日韩精品免费一区二区在线观看 | 日韩mv欧美mv国产精品 | 国产在线p| 4438全国亚洲精品观看视频 | 天天插日日操 | 国产高清在线视频 | 九九欧美 | 久久精品网站免费观看 | 狠狠干 狠狠操 | 在线观看亚洲成人 | 激情开心色 | 色爱区综合激月婷婷 | 国产高清在线免费视频 | 国产一级免费电影 | 在线黄网站 | 亚洲欧洲国产日韩精品 | 国产精品第二页 | 人人玩人人添人人澡97 | 午夜久久视频 | 激情文学丁香 | 97热久久免费频精品99 | 亚洲成人精品久久久 | 美女网站在线免费观看 | 99草在线视频 | 国产精品成人aaaaa网站 | 黄色a在线观看 | 黄色软件在线观看 | 最新日韩在线观看视频 | 国产乱码精品一区二区蜜臀 | 亚洲在线精品 | 国产激情小视频在线观看 | 狠狠操电影网 | 草在线视频 | 成人影片免费 | 69亚洲乱 | 色吊丝av中文字幕 | 国产夫妻性生活自拍 | 国产精品尤物 | 国产精品视频地址 | 国产日韩在线看 | 亚洲亚洲精品在线观看 | 亚洲国产中文字幕 | 国产a网站 | 97在线视频免费 | 日韩毛片在线一区二区毛片 | 国产五码一区 | 天天射天天操天天干 | 黄色av网站在线免费观看 | 超碰免费观看 | 玖玖在线资源 | 黄色一级大片在线免费看产 | 91大神精品视频 | 日韩视频a| 免费在线观看黄 | 国产成人一二片 | 亚洲专区路线二 | 成人av电影免费在线播放 | 色欧美成人精品a∨在线观看 | 亚洲伊人第一页 | 欧美日韩在线观看一区二区三区 | 欧美日韩精品在线一区二区 | 中文字幕观看在线 | 久久国产精品久久精品 | 亚欧日韩成人h片 | 一本一本久久a久久精品综合小说 | 国产精品夜夜夜一区二区三区尤 | 欧美一级片在线观看视频 | 美女网站在线看 | 99热99 | 国产小视频在线看 | 美女视频黄色免费 | 久久久69 | 欧美日韩另类在线 | 97精品超碰一区二区三区 | 激情欧美丁香 | 中文在线a∨在线 | 国产精品片 | www.亚洲视频.com| 国产剧在线观看片 | 亚洲国产999| 99国产成+人+综合+亚洲 欧美 | 99久精品视频 | 亚洲最大激情中文字幕 | 免费成人在线视频网站 | 99精品偷拍视频一区二区三区 | 日日草夜夜操 | 久草在线一免费新视频 | 九九热在线视频 | 日韩av一区在线观看 | 精品国产精品一区二区夜夜嗨 | 成人黄色中文字幕 | 手机av在线免费观看 | 欧美国产日韩在线视频 | 手机看片99 | 国产精彩在线视频 | 午夜资源站 | 成人av免费电影 | 久热久草在线 | 国产伦理精品一区二区 | 日韩免费高清在线 | 久久综合射| 欧美国产一区在线 | 手机成人免费视频 | 久99久在线| 九九免费观看全部免费视频 | 999视频在线播放 | 国产最新福利 | 一区二区三区动漫 | 97热久久免费频精品99 | 天堂av在线 | 婷婷色站 | 国产精品va在线播放 | 精品国产亚洲日本 | 天天综合成人网 | 欧美色图视频一区 | 伊人永久 | 国精产品999国精产品视频 | 亚洲理论在线观看 | av电影久久 | 国产在线91在线电影 | 久久免费国产精品1 | 成人免费视频播放 | 日韩在线电影观看 | 在线看欧美 | 久久综合久久综合久久 | 丰满少妇对白在线偷拍 | 天天射天 | 亚洲欧美视频网站 | 最新超碰 | 久久久国产网站 | 在线 国产 亚洲 欧美 | 涩涩网站在线看 | 国产一区在线免费观看 | 69国产精品成人在线播放 | 91在线精品一区二区 | 免费色网站 | 日韩成人看片 | 精品国产成人在线影院 | 99久久精品国产系列 | 中文一区二区三区在线观看 | 久久夜夜夜 | 91av在线视频播放 | 久久久精品 | 欧美男同视频网站 | 色综合天天天天做夜夜夜夜做 | 五月婷婷综合在线视频 | 国产一级二级在线观看 | 久草在线费播放视频 | 亚洲欧美日韩国产 | 二区三区在线视频 | 欧美性脚交 | 亚洲精品乱码久久久久 | 亚洲九九九在线观看 | 中文字幕免费观看全部电影 | 国产精品电影一区二区 | 色橹橹欧美在线观看视频高清 | 狠狠做深爱婷婷综合一区 | 九色精品在线 | 一级欧美日韩 | 日韩动漫免费观看高清完整版在线观看 | a成人v在线 | 精品一二三区视频 | 九九热视频在线 | 久久久久久久久国产 | 国产成人资源 | 成人在线播放免费观看 | 国产又粗又硬又长又爽的视频 | 免费精品在线观看 | 国产一区二区三区高清播放 | 天天插天天色 | 人人超碰在线 | 国产色资源 | 亚洲最新在线视频 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 久久久久免费电影 | 日日碰狠狠添天天爽超碰97久久 | 日韩毛片久久久 | 中文字幕乱码在线播放 | 亚洲 欧洲av | 久久黄页 | 特级西西www44高清大胆图片 | 国产成人精品一区二 | 在线免费观看一区二区三区 | 狂野欧美激情性xxxx欧美 | 久久久影片 | 99亚洲国产 | 97爱 | 国产一二区视频 | 麻豆久久一区二区 | 天天天天射 | 韩日电影在线观看 | 96超碰在线| 欧美精品中文 | 黄av资源| 成人99免费视频 | 91精品国产91久久久久久三级 | 亚洲国产精品影院 | 久久久一本精品99久久精品 | 久热av| 日韩理论影院 | 黄色的视频网站 | 日韩r级电影在线观看 | 久久成人综合 | 久久综合爱 | 日韩午夜高清 | 波多野结衣动态图 | 色婷五月天 | 久久综合色综合88 | 香蕉视频在线免费 | 最新av电影网址 | 黄视频网站大全 | 激情丁香综合五月 | 日韩精品不卡在线 | 九九免费精品视频在线观看 | 国产精品福利在线 | 九九av| 精品福利视频在线 | 久草.com| 中文字幕在线专区 | 国产精品精品久久久久久 | 久久人人插 | 亚洲三级国产 | 国产精品久久久一区二区三区网站 | 久久视频免费观看 | 97香蕉久久超级碰碰高清版 | 国产黄色网 | 日本中文字幕在线视频 | 97超碰人人澡人人爱 | 天天干天天射天天操 | 一级黄色片在线免费看 | 在线观看成人网 | 久久久午夜精品福利内容 | 成人高清在线 | 婷婷深爱网 | www色婷婷com| 蜜臀av在线一区二区三区 | 日韩精品免费在线播放 | 精品一区二区三区在线播放 | 免费在线黄色av | 91九色视频观看 | 毛片一二区 | 亚洲国产精品一区二区久久hs | 97精品国产手机 | 亚洲精品美女在线观看播放 | 五月天久久婷 | 久久久久久久久久久久av | 色婷婷骚婷婷 | 91成版人在线观看入口 | 在线高清 | 亚洲国产欧美在线看片xxoo | 国产在线中文 | h视频在线看 | 日日夜夜天天久久 | 一级特黄aaa大片在线观看 | 久久免费在线观看 | 亚洲另类视频在线观看 | 国产黄色大片免费看 | 又黄又刺激视频 | 草久在线观看视频 | 成人亚洲精品久久久久 | 久久久久久久国产精品 | 成人黄色大片在线观看 | 久久影视一区 | 一级欧美黄 | 国产高清在线精品 | 午夜少妇一区二区三区 | 国产特黄色片 | 88av网站| 日韩成年视频 | 欧美激情精品久久久久久免费 | 天天干天天射天天操 | 久99久在线 | 精品9999| 激情久久久久 | 伊人久久国产 | 中文国产字幕 | 亚洲国产成人精品在线观看 | 欧美性精品 | 日韩电影久久 | av在线a| 国产日韩欧美自拍 | 视频二区在线视频 | 久久新视频 | 日韩精品欧美精品 | 99久久影视| 久草.com| 久久精品国产免费看久久精品 | 在线观看久久久久久 | 久久99久久99精品免视看婷婷 | 精品视频97 | av先锋影音少妇 | 久久久精品一区二区三区 | 亚洲综合成人婷婷小说 | 国产美女视频 | 中文字幕在线观看第二页 | 国产亚洲精品久久久网站好莱 | www.人人草 | 一级片免费观看 | 久久久久久久毛片 | 国产1区在线观看 | 98超碰在线 | 欧美大片aaa | 一区免费在线 | 国产精品高清一区二区三区 | 在线观看中文字幕网站 | 黄污在线观看 | 国产精品高清一区二区三区 | 国产精品视频观看 | 中文字幕一区二区三区四区久久 | 中文字幕国产精品一区二区 | 99视频精品免费观看, | 久久久久久蜜桃一区二区 | 日韩视频在线观看免费 | www久草 | 天天干天天拍天天操天天拍 | 日韩免费看 | 91爱看片| 超碰在线国产 | 91香蕉视频黄色 | 在线免费观看羞羞视频 | 日韩中文字幕免费看 | 五月婷婷播播 | 日韩va在线观看 | 狠狠躁日日躁狂躁夜夜躁av | 黄色av免费| 国产精品三级视频 | 国产精品欧美激情在线观看 | 三级视频片 | 91豆麻精品91久久久久久 | 日韩成人免费观看 | 久久免费观看少妇a级毛片 久久久久成人免费 | 在线视频 国产 日韩 | 99综合视频 | 精品久久五月天 | 4hu视频| 国产麻豆精品一区二区 | 最近高清中文字幕在线国语5 | 亚洲黄a | 91在线免费公开视频 | 日韩av一区二区在线 | 久久,天天综合 | 日本精品中文字幕在线观看 | 成年人在线播放视频 | 中文字幕免费看 | 久久尤物电影视频在线观看 | 超碰97国产精品人人cao | 超碰伊人网 | 日本公乱妇视频 | 91在线最新 | 国产亚洲精品v | 国产首页| 久草视频在 | av网址aaa| 91视频啪| 超碰在线网 | 国产精品日韩在线播放 | 日韩爱爱片| 亚洲精品在线观看网站 | 欧美日韩国产三级 | 国产精品男女啪啪 | 亚洲国产成人在线观看 | www.天天综合 | 精品国产一区二区三区av性色 | 国产精品永久 | 超碰在线最新地址 | 激情网站| 特黄免费av | 天天干天天操人体 | 久久99热精品 | 亚洲一级影院 | 国产区 在线 | 国产视频精品免费 | 九九爱免费视频在线观看 | 91精品伦理 | 日韩一片| 丝袜网站在线观看 | 国产成人精品一区二区三区福利 | www.成人sex| 欧美日韩天堂 | 伊人色综合久久天天 | 成人黄色电影免费观看 | 亚洲精品在线观看免费 | 99久久婷婷国产综合精品 | 人人爱在线视频 | 一级黄色片在线免费观看 | 国产传媒一区在线 | 欧美一级视频免费看 | 成人av高清在线观看 | 怡红院成人在线 | 在线视频 你懂得 | 人人干97| 五月天电影免费在线观看一区 | 91尤物国产尤物福利在线播放 | 九九久久影视 | 性色av一区二区三区在线观看 | 精品国产电影 | 欧美日韩视频在线播放 | www.福利视频 | 亚洲成人频道 | 国产精品毛片久久 | 久草亚洲视频 | 九九九视频精品 | 狠狠躁日日躁狂躁夜夜躁 | 一本色道久久综合亚洲二区三区 | 在线高清| 亚洲成人精品久久 | 少妇视频一区 | 久久精品人| 黄色精品久久 | 久久夜夜爽| 91网址在线 | 91av99| 精品久久久久久久久久岛国gif | 999久久久久久 | 在线观看完整版免费 | 亚洲自拍自偷 | 久久综合桃花 | 一区二区三区国产精品 | 99re8这里有精品热视频免费 | 六月丁香综合网 | 久久久亚洲国产精品麻豆综合天堂 | 色五月激情五月 | 欧美贵妇性狂欢 | 欧美黄色免费 | 亚洲精品av在线 | 999视频在线观看 | 成人免费视频网站 | av在线观 | 久久av中文字幕片 | 国产日韩精品一区二区在线观看播放 | 五月婷婷综合久久 | 亚洲涩涩网站 | 97在线免费视频观看 | 亚洲精品88欧美一区二区 | 九九视频精品在线 | 丁香九月婷婷 | 黄色精品一区 | 中文字幕 国产 一区 | 久久免费视频8 | 久久成人亚洲欧美电影 | 日韩中文字幕免费视频 | 亚洲精品国产精品国 | 日韩精品五月天 | 亚洲电影久久久 | 免费av免费观看 | 涩涩网站在线播放 | 久久久这里有精品 | 在线观看免费一级片 | 久草成人在线 | 亚洲成人精品久久 | 亚洲伊人av| 色999精品 | 婷婷在线网 | 欧美无极色 | 狠狠躁日日躁夜夜躁av | 国产精品初高中精品久久 | 日本中文在线 | 国产一级片免费观看 | 五月宗合网 | 国产在线观看你懂的 | 激情丁香 | 国产一级片免费视频 | 免费亚洲一区二区 | 国产成人在线免费观看 | 99夜色| 天天色天天操综合 | 久久久久久在线观看 | 欧美a级免费视频 | 欧美在线视频精品 | 欧美,日韩 | 欧美一区三区四区 | 91人人人| av免费高清观看 | 少妇搡bbbb搡bbb搡忠贞 | 日韩精品国产一区 | 日韩精品播放 | 91一区二区三区在线观看 | 国产人成看黄久久久久久久久 | 麻豆免费精品视频 | 天天操福利视频 | 亚洲精品字幕在线观看 | 午夜久久福利视频 | 在线一二区 | 国产成人福利在线观看 | 国产中文在线观看 | 色鬼综合网 | 亚洲精品中文在线资源 | 日日草夜夜操 | 国产精品久久久久久妇 | 国产精品久久久久久久久久99 | 久久久久久综合网天天 | 在线看欧美 | 九色视频自拍 | 国产精品久久久久久久免费 | 九色福利视频 | 久久五月婷婷综合 | 中文字幕av全部资源www中文字幕在线观看 | 久草在线最新免费 | 91久久精品一区二区三区 | 精品国产视频在线 | 奇米网777| 国产九九精品视频 | 国产盗摄精品一区二区 | 国产在线视频一区二区 | 精品久久久国产 | av一级片 | 天天躁天天操 | 一区二区三区日韩在线 | 日韩av福利在线 | 日韩av手机在线看 | 久久久精品午夜 | 亚洲一一在线 | 91原创在线观看 | 午夜免费视频网站 | 日韩免费三级 | 精品自拍sae8—视频 | 97成人在线免费视频 | 成年人黄色在线观看 | 亚洲va欧美va人人爽春色影视 | 亚洲国产剧情 | 欧美精品久久久久性色 | 国产人在线成免费视频 | 五月天狠狠操 | 亚洲人片在线观看 | 91在线精品播放 | 午夜精品久久久久久久99水蜜桃 | 日日碰狠狠添天天爽超碰97久久 | 亚洲成人黄色在线 | 人人添人人澡人人澡人人人爽 | 欧美一级片免费 | 蜜臀av.com | 在线观看aaa | 亚洲女人天堂成人av在线 | 97视频免费在线观看 | 黄色小网站在线观看 | 久久精品专区 | 免费成人在线视频网站 | 91在线中文 | 国产在线不卡精品 | 国产 日韩 欧美 中文 在线播放 | 69视频国产| 国产精品video爽爽爽爽 | 色婷婷国产精品 | 美女久久久久久久久久久 | 欧洲高潮三级做爰 | 免费三级骚 | 美女视频黄,久久 | 中文字幕在线观看一区二区 | 欧美先锋影音 | 激情电影在线观看 | 四虎免费在线观看 | 天天精品视频 | 中文字幕免费高 | 综合铜03| 欧美日韩69 | 成人av av在线 | 日本高清免费中文字幕 | 天天色天天射综合网 | 中文字幕在线观看1 | 麻豆首页| 国产精品v a免费视频 | 久久激情综合 | 成人免费 在线播放 | 国产一级免费在线 | 久久久亚洲网站 |