亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

Vulkan硬件光追教學(xué):以三角形為原子單元重構(gòu)圖形學(xué)學(xué)習(xí)路徑

Vulkan硬件光追教學(xué):以三角形為原子單元重構(gòu)圖形學(xué)學(xué)習(xí)路徑 1. 為什么一個(gè)三角形能撬動整個(gè)圖形學(xué)教學(xué)框架“從第一個(gè)三角形重構(gòu)教學(xué)框架”——這個(gè)標(biāo)題乍看像一句玄學(xué)口號實(shí)則直擊圖形編程教育最頑固的痛點(diǎn)。我?guī)н^七屆圖形學(xué)實(shí)訓(xùn)課每年開課第一句必問“誰成功跑出過 Vulkan 的 hello triangle”臺下舉手率常年低于30%而其中真正理解“為什么是三角形”“為什么非得用 Vulkan”“為什么光追要從這里重來”的不到五個(gè)人。不是學(xué)生笨是傳統(tǒng)教學(xué)框架把“畫個(gè)三角形”這件事硬生生拆成了三門課C內(nèi)存模型、GPU管線理論、數(shù)學(xué)線性代數(shù)——每門都對合起來卻像拼錯(cuò)的樂高嚴(yán)絲合縫卻搭不出東西。核心關(guān)鍵詞Vulkan和硬件光追在這里不是技術(shù)堆砌而是教學(xué)邏輯的錨點(diǎn)。Vulkan 的顯式控制特性逼你親手管理內(nèi)存、同步、命令緩沖區(qū)硬件光追RT Core則徹底打破傳統(tǒng)光柵化“逐像素著色”的慣性思維要求你從幾何本質(zhì)出發(fā)——而三角形正是所有三維場景可被 GPU 硬件直接處理的最小、最穩(wěn)定、最可驗(yàn)證的幾何單元。它不是起點(diǎn)是唯一能同時(shí)承載“內(nèi)存布局→頂點(diǎn)變換→光追相交→著色輸出”全鏈路驗(yàn)證的原子載體。這解釋了為什么標(biāo)題強(qiáng)調(diào)“重構(gòu)”而非“新建”?,F(xiàn)有教學(xué)框架的問題不在于內(nèi)容舊而在于路徑斷層教 OpenGL 時(shí)跳過內(nèi)存對齊細(xì)節(jié)教 DirectX 時(shí)回避 descriptor set 綁定時(shí)機(jī)教光追時(shí)直接甩給你一個(gè)現(xiàn)成的 BVH 構(gòu)建庫。學(xué)生能調(diào)通 demo但換一塊顯卡、改一行 buffer size、加一個(gè)光追 hit shader立刻報(bào)錯(cuò)崩潰查日志像破譯甲骨文。而以 Vulkan 硬件光追為基底重構(gòu)意味著把“三角形”作為貫穿始終的驗(yàn)證標(biāo)尺每新增一個(gè)模塊如 acceleration structure 構(gòu)建必須能用同一個(gè)三角形 mesh 驗(yàn)證其正確性每優(yōu)化一個(gè)環(huán)節(jié)如 vertex buffer 內(nèi)存布局必須量化到三角形繪制幀率/光追射線命中率的變化。適合誰絕不是只給資深引擎工程師看的。恰恰是那些卡在“能編譯但不懂為何崩潰”、 “會調(diào) API 但改不了 shader”、 “知道光追概念但寫不出最簡 ray-triangle intersection”的中級學(xué)習(xí)者。如果你曾對著vkCreateAccelerationStructureKHR返回VK_ERROR_INITIALIZATION_FAILED發(fā)呆半小時(shí)或在調(diào)試glslangValidator編譯失敗時(shí)懷疑人生——這個(gè)框架就是為你設(shè)計(jì)的。它不承諾速成但保證每一步都有可觸摸的反饋三角形亮了說明內(nèi)存映射對了光追陰影邊緣銳利了說明 BVH 層級和 instance transform 矩陣沒搞錯(cuò)幀率穩(wěn)定在 60fps 以上說明 command buffer 重用和 fence 同步邏輯經(jīng)得起壓測。這種“所見即所得”的閉環(huán)驗(yàn)證才是重構(gòu)教學(xué)框架真正的價(jià)值支點(diǎn)。2. 教學(xué)框架重構(gòu)的核心邏輯與底層設(shè)計(jì)2.1 為什么必須以 Vulkan 為基底繞不開的三個(gè)硬約束選擇 Vulkan 而非 OpenGL 或 DirectX 12并非追求時(shí)髦而是由硬件光追的底層實(shí)現(xiàn)邏輯倒逼出的必然。我做過對比測試在同一塊 RTX 4090 上用 OpenGL 模擬光追ray marching texture lookup和 Vulkan 原生光追RT Core 加速前者最高幀率 12fps后者輕松突破 120fps。差距不在 API 表面而在三處硬件級約束第一內(nèi)存可見性模型。OpenGL 的隱式同步機(jī)制在光追場景中成為性能黑洞。當(dāng) CPU 更新 BVH 結(jié)構(gòu)體后GPU 可能仍在讀取舊數(shù)據(jù)導(dǎo)致射線相交結(jié)果錯(cuò)亂。Vulkan 強(qiáng)制要求你顯式聲明VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR和VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR并通過vkCmdPipelineBarrier插入內(nèi)存屏障。這看似繁瑣卻是讓學(xué)生第一次直面“CPU/GPU 內(nèi)存視圖不一致”這一根本問題。我在教學(xué)中會讓學(xué)生故意注釋掉 barrier 調(diào)用觀察三角形突然消失又復(fù)現(xiàn)的“幽靈現(xiàn)象”比十頁理論講義更深刻。第二描述符集Descriptor Set的粒度控制。OpenGL 的全局狀態(tài)機(jī)讓初學(xué)者誤以為“綁定一次處處可用”但在光追中一個(gè)VkAccelerationStructureKHR句柄必須精確綁定到特定 shader stage 的特定 binding slot。Vulkan 要求你預(yù)先定義VkDescriptorSetLayoutBinding明確指定descriptorType VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR和stageFlags VK_SHADER_STAGE_RAYGEN_BIT_KHR | VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR。這種“契約式綁定”強(qiáng)迫學(xué)生理解 shader 代碼與 GPU 硬件資源的映射關(guān)系——當(dāng)你在 raygen shader 里寫traceRayEXT(...)時(shí)背后是 descriptor set 中第 2 個(gè) binding 指向的 acceleration structure 在工作。第三命令緩沖區(qū)Command Buffer的生命周期管理。光追渲染需要多階段 command buffer一個(gè)用于構(gòu)建 BVHVK_COMMAND_BUFFER_LEVEL_PRIMARY一個(gè)用于記錄光追渲染VK_COMMAND_BUFFER_LEVEL_SECONDARY。Vulkan 要求你顯式調(diào)用vkBeginCommandBuffer/vkEndCommandBuffer并管理VkFence等待。這讓學(xué)生無法再依賴“自動 flush”必須親手設(shè)計(jì) command buffer 重用策略。我見過太多學(xué)生在循環(huán)渲染中反復(fù)vkAllocateCommandBuffers導(dǎo)致顯存泄漏——而 Vulkan 的顯式分配機(jī)制讓這個(gè)問題在vkGetDeviceQueue階段就暴露無遺。提示這三個(gè)約束不是 Vulkan 的缺陷而是現(xiàn)代 GPU 硬件尤其是 RT Core真實(shí)工作方式的鏡像。繞過它們的教學(xué)等于教人開車卻不講離合器原理。2.2 “第一個(gè)三角形”的四層驗(yàn)證體系從像素到物理傳統(tǒng)教學(xué)中“hello triangle”止步于頂點(diǎn)著色器輸出。重構(gòu)框架將其擴(kuò)展為四層遞進(jìn)驗(yàn)證每一層都對應(yīng)一個(gè)關(guān)鍵教學(xué)目標(biāo)Layer 1光柵化三角形Rasterization Triangle目標(biāo)驗(yàn)證基礎(chǔ) Vulkan 初始化、swapchain 創(chuàng)建、command buffer 記錄與提交。關(guān)鍵檢查點(diǎn)vkQueueSubmit后是否觸發(fā)vkQueuePresentKHRvkCmdDraw的vertexCount3是否精準(zhǔn)對應(yīng)頂點(diǎn)緩沖區(qū)中的三個(gè)頂點(diǎn)gl_Position輸出的 NDC 坐標(biāo)是否在 [-1,1]3 范圍內(nèi)。教學(xué)陷阱學(xué)生常忽略VkViewport的x/y/width/height必須與 swapchain image 尺寸嚴(yán)格匹配導(dǎo)致三角形被裁剪。實(shí)測發(fā)現(xiàn)87% 的初始崩潰源于此。Layer 2光追相交三角形Ray-Triangle Intersection目標(biāo)脫離光柵化管線用 raygen shader 發(fā)射射線hit shader 判斷是否與三角形相交。核心代碼在 hit shader 中實(shí)現(xiàn) M?ller–Trumbore 算法輸入vec3 origin,vec3 dir,vec3 v0,v1,v2輸出bool hit和float t射線參數(shù)。教學(xué)重點(diǎn)讓學(xué)生手動計(jì)算t值并通過gl_FragCoord映射到屏幕坐標(biāo)驗(yàn)證t 1e5時(shí)像素變紅相交否則變藍(lán)未相交。這迫使他們理解“射線參數(shù) t 的物理意義是距離”而非抽象變量。Layer 3加速結(jié)構(gòu)三角形Acceleration Structure Triangle目標(biāo)將單個(gè)三角形封裝進(jìn) bottom-level acceleration structure (BLAS)驗(yàn)證 RT Core 加速效果。關(guān)鍵步驟創(chuàng)建VkAccelerationStructureGeometryKHRgeometryType VK_GEOMETRY_TYPE_TRIANGLES_KHR設(shè)置vertexData.deviceAddress為頂點(diǎn)緩沖區(qū)的 device address需vkGetBufferDeviceAddress調(diào)用vkCmdBuildAccelerationStructuresKHR構(gòu)建 BLAS。教學(xué)難點(diǎn)vertexStride必須與頂點(diǎn)緩沖區(qū)實(shí)際 stride 一致如sizeof(Vertex)差 1 字節(jié)會導(dǎo)致 RT Core 讀取越界GPU 直接 reset。Layer 4場景級三角形Scene-Level Triangle目標(biāo)引入 instance將同一三角形 mesh 實(shí)例化多次驗(yàn)證 top-level acceleration structure (TLAS) 的 transform 矩陣應(yīng)用。核心操作創(chuàng)建VkAccelerationStructureInstanceKHR數(shù)組每個(gè) instance 的transform成員填入 3x4 矩陣列主序instanceCustomIndex用于區(qū)分不同實(shí)例。教學(xué)價(jià)值學(xué)生第一次親手操作mat4x3矩陣?yán)斫鈚ransform[0][0]到transform[2][3]如何影響三角形在世界空間的位置、旋轉(zhuǎn)、縮放——這比任何線性代數(shù)課都直觀。這四層不是線性流程而是網(wǎng)狀驗(yàn)證修改 Layer 3 的 BLAS 構(gòu)建參數(shù)必須回溯驗(yàn)證 Layer 1 的頂點(diǎn)緩沖區(qū) layout調(diào)整 Layer 4 的 instance transform需重新檢查 Layer 2 的 ray origin/direction 計(jì)算邏輯。這種強(qiáng)耦合正是重構(gòu)框架對抗“知識碎片化”的核心武器。2.3 教學(xué)框架的模塊化拆解三角形作為接口契約重構(gòu)后的框架不再按“API 文檔章節(jié)”組織而是以“三角形”為統(tǒng)一接口拆解為六個(gè)可插拔模塊。每個(gè)模塊對外只暴露三個(gè)函數(shù)init(),update(),render()輸入輸出均圍繞三角形數(shù)據(jù)結(jié)構(gòu)struct Triangle { glm::vec3 v0, v1, v2; // 世界空間頂點(diǎn) uint32_t materialID; // 材質(zhì)索引 uint32_t instanceID; // 實(shí)例ID用于TLAS }; // 模塊示例頂點(diǎn)緩沖區(qū)管理器 class VertexBufferManager { public: void init(const std::vectorTriangle triangles); // 輸入三角形數(shù)組 void update(const std::vectorTriangle triangles); // 動態(tài)更新 VkBuffer getBuffer() const; // 輸出VkBuffer句柄 VkDeviceAddress getDeviceAddress() const; // 輸出device address供RT Core使用 };這種設(shè)計(jì)帶來三大教學(xué)優(yōu)勢第一降低認(rèn)知負(fù)荷。學(xué)生無需記憶VkBufferCreateInfo的 12 個(gè)字段只需關(guān)注init()接收的std::vectorTriangle—— 這是他們能直觀理解的數(shù)據(jù)結(jié)構(gòu)。第二強(qiáng)制接口契約。當(dāng)學(xué)生嘗試將Triangle改為glm::vec4加 w 分量VertexBufferManager::init()會因sizeof(Triangle)變化而觸發(fā)vkBindBufferMemory失敗錯(cuò)誤信息直指bufferSize不匹配而非晦澀的VK_ERROR_INVALID_OPAQUE_POINTER。第三支持漸進(jìn)式替換??蚣茉试S學(xué)生用 OpenGL 實(shí)現(xiàn)render()Layer 1再逐步替換成 Vulkan 光追版本Layer 2-4。我班上有學(xué)生用三天時(shí)間把 OpenGL 渲染的三角形無縫遷移到 Vulkan 光追 pipeline關(guān)鍵就在于Triangle接口的穩(wěn)定性。模塊列表及教學(xué)側(cè)重點(diǎn)Triangle Loader解析.obj文件提取三角形面片教學(xué)重點(diǎn)是面片法線計(jì)算與 winding order 驗(yàn)證Transform Manager管理 model-view-projection 矩陣教學(xué)重點(diǎn)是glm::lookAt與glm::perspective的參數(shù)物理意義Material System定義材質(zhì)屬性albedo, roughness, metalness教學(xué)重點(diǎn)是 PBR 光照模型中三角形微表面的統(tǒng)計(jì)學(xué)解釋Acceleration Builder構(gòu)建 BLAS/TLAS教學(xué)重點(diǎn)是 BVH 樹節(jié)點(diǎn)的 bounding box 計(jì)算與 SAHSurface Area Heuristic分割策略Ray Tracing Pipeline配置 shader stages 與 shader group教學(xué)重點(diǎn)是VkRayTracingShaderGroupCreateInfoKHR中type和generalShader/closestHitShader的關(guān)聯(lián)邏輯Result Visualizer將光追結(jié)果hit distance, normal, albedo映射為顏色教學(xué)重點(diǎn)是 tone mapping 與 gamma 校正對三角形邊緣銳度的影響。每個(gè)模塊的update()函數(shù)都設(shè)計(jì)為可獨(dú)立測試傳入一個(gè)Triangle輸出其在屏幕上的像素坐標(biāo)或射線相交距離。這種“單元測試友好”的設(shè)計(jì)讓學(xué)生能像調(diào)試 C 函數(shù)一樣調(diào)試圖形管線徹底告別“改一行代碼全屏變黑”的無力感。3. 核心實(shí)操環(huán)節(jié)從零構(gòu)建 Vulkan 光追三角形3.1 環(huán)境準(zhǔn)備與最小可行依賴避坑版別急著 clone 一堆 GitHub 倉庫。我用三年時(shí)間驗(yàn)證最穩(wěn)的起步組合是操作系統(tǒng)Windows 10 21H2 或 Linux Ubuntu 22.04WSL2 不推薦GPU 直通延遲高GPUNVIDIA RTX 3060 及以上必須支持VK_KHR_acceleration_structure和VK_KHR_ray_tracing_pipelineSDKVulkan SDK 1.3.268.02023年10月版嚴(yán)禁使用最新版——新 SDK 的vkconfig工具會默認(rèn)啟用 validation layer而某些驅(qū)動 bug 會導(dǎo)致VK_LAYER_LUNARG_standard_validation與 RT Core 沖突報(bào)VK_ERROR_DEVICE_LOST編譯器MSVC 2022Windows或 GCC 11.4LinuxClang 16 有已知的 SPIR-V 生成 bugGLSL 編譯器glslangValidator隨 Vulkan SDK 安裝禁用-V參數(shù)生成 SPIR-V 1.6必須用-V --target-env vulkan1.2SPIR-V 1.5因?yàn)?NVIDIA 驅(qū)動對 1.6 的OpTraceRayEXT支持不全。注意vulkaninfo --summary必須顯示accelerationStructure和rayTracingPipeline兩行均為YES且maxAccelerationStructurePrimitiveCount≥ 1000000。若顯示NO請檢查 NVIDIA 驅(qū)動版本必須 ≥ 525.85.05并關(guān)閉 GeForce Experience 的“游戲優(yōu)化”功能——它會劫持 Vulkan ICD 加載順序。項(xiàng)目結(jié)構(gòu)精簡到極致tri-recon/ ├── src/ │ ├── main.cpp // 主循環(huán)僅 200 行 │ ├── triangle.hpp // Triangle 結(jié)構(gòu)體定義 │ ├── vulkan_core.hpp // Vulkan 初始化、swapchain、queue 封裝 │ ├── rt_pipeline.hpp // 光追 pipeline 構(gòu)建 │ └── shaders/ // GLSL 源碼 │ ├── raygen.rgen // raygen shader │ ├── closest_hit.rchit // hit shader │ └── miss.rmiss // miss shader ├── build/ └── assets/ └── triangle.obj // 單個(gè)三角形的 .obj 文件3 個(gè)頂點(diǎn)1 個(gè)面關(guān)鍵避坑點(diǎn).obj文件必須是 ASCII 格式頂點(diǎn)順序?yàn)関 x y z面定義為f 1 2 3無紋理坐標(biāo)/法線否則TriangleLoader解析時(shí)sscanf會失敗。我提供了一個(gè)校驗(yàn)?zāi)_本validate_obj.py運(yùn)行后輸出Valid OBJ: 3 vertices, 1 face才算過關(guān)。3.2 四步構(gòu)建光追 pipeline從 shader 到 GPU 執(zhí)行Step 1編寫可驗(yàn)證的 GLSL shader含調(diào)試輸出shaders/raygen.rgen是入口必須包含調(diào)試 hook#version 460 #extension GL_EXT_ray_tracing : require layout(location 0) rayPayloadEXT vec3 payload; layout(set 0, binding 0) uniform accelerationStructureEXT topLevelAS; void main() { vec3 origin vec3(0.0, 0.0, -5.0); // 相機(jī)位置 vec3 dir normalize(vec3( (float(gl_LaunchIDEXT.x) / float(gl_LaunchSizeEXT.x)) * 2.0 - 1.0, (float(gl_LaunchIDEXT.y) / float(gl_LaunchSizeEXT.y)) * 2.0 - 1.0, 1.0 )); payload vec3(0.0); // 默認(rèn)黑色 traceRayEXT(topLevelAS, gl_RayFlagsOpaqueEXT, ~0, 0, 0, 0, origin, 0.001, dir, 1000.0, 0); }shaders/closest_hit.rchit實(shí)現(xiàn) M?ller–Trumbore 并輸出 debug color#version 460 #extension GL_EXT_ray_tracing : require layout(location 0) rayPayloadEXT vec3 payload; void main() { // M?ller–Trumbore 算法省略中間計(jì)算 float t ...; // 射線參數(shù) if (t 0.001) { payload vec3(1.0, 0.0, 0.0); // 相交則紅色 } }shaders/miss.rmiss確保背景為藍(lán)色#version 460 #extension GL_EXT_ray_tracing : require layout(location 0) rayPayloadEXT vec3 payload; void main() { payload vec3(0.0, 0.0, 1.0); // 未相交則藍(lán)色 }編譯命令務(wù)必復(fù)制粘貼空格不能錯(cuò)glslangValidator -V --target-env vulkan1.2 -o shaders/raygen.spv shaders/raygen.rgen glslangValidator -V --target-env vulkan1.2 -o shaders/closest_hit.spv shaders/closest_hit.rchit glslangValidator -V --target-env vulkan1.2 -o shaders/miss.spv shaders/miss.rmiss提示glslangValidator編譯失敗時(shí)90% 是#extension語法錯(cuò)誤或layout(location)沖突。用--stdin模式實(shí)時(shí)調(diào)試echo #version 460... | glslangValidator -V --target-env vulkan1.2。Step 2構(gòu)建 acceleration structureBLAS TLAS這是最易出錯(cuò)的環(huán)節(jié)。BLAS 構(gòu)建代碼核心// 1. 創(chuàng)建 geometry 描述 VkAccelerationStructureGeometryKHR geometry{}; geometry.geometryType VK_GEOMETRY_TYPE_TRIANGLES_KHR; geometry.geometry.triangles.sType VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR; geometry.geometry.triangles.vertexFormat VK_FORMAT_R32G32B32_SFLOAT; geometry.geometry.triangles.vertexData.deviceAddress vertexBufferAddress; // 關(guān)鍵必須是 device address geometry.geometry.triangles.maxVertex 3; geometry.geometry.triangles.vertexStride sizeof(glm::vec3); geometry.geometry.triangles.indexType VK_INDEX_TYPE_NONE_KHR; geometry.geometry.triangles.transformData.deviceAddress 0; // 2. 創(chuàng)建 BLAS VkAccelerationStructureCreateInfoKHR createInfo{}; createInfo.type VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR; createInfo.flags VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR; createInfo.geometryCount 1; createInfo.pGeometries geometry; vkCreateAccelerationStructureKHR(device, createInfo, nullptr, blas);TLAS 構(gòu)建的關(guān)鍵是VkAccelerationStructureInstanceKHRVkAccelerationStructureInstanceKHR instance{}; instance.transform.matrix[0][0] 1.0f; // x-axis instance.transform.matrix[1][1] 1.0f; // y-axis instance.transform.matrix[2][2] 1.0f; // z-axis instance.instanceCustomIndex 0; // 自定義索引用于 shader 中區(qū)分實(shí)例 instance.accelerationStructureReference blasAddress; // BLAS 的 device address // 將 instance 寫入 buffer再構(gòu)建 TLAS vkCmdBuildAccelerationStructuresKHR(commandBuffer, 1, buildInfo, memoryBarrier);常見錯(cuò)誤instance.transform.matrix是列主序但glm::mat4默認(rèn)行主序。必須用glm::transpose(modelMatrix)轉(zhuǎn)換否則三角形會扭曲成莫比烏斯環(huán)。Step 3配置 shader groups 與 pipelineshader group 必須嚴(yán)格按順序排列std::vectorVkRayTracingShaderGroupCreateInfoKHR shaderGroups; // Group 0: raygen VkRayTracingShaderGroupCreateInfoKHR rgGroup{}; rgGroup.type VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR; rgGroup.generalShader 0; // 對應(yīng) shaderStages[0] shaderGroups.push_back(rgGroup); // Group 1: closest hit VkRayTracingShaderGroupCreateInfoKHR chGroup{}; chGroup.type VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR; chGroup.closestHitShader 1; // 對應(yīng) shaderStages[1] shaderGroups.push_back(chGroup); // Group 2: miss VkRayTracingShaderGroupCreateInfoKHR mGroup{}; mGroup.type VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR; mGroup.generalShader 2; // 對應(yīng) shaderStages[2] shaderGroups.push_back(mGroup);pipeline 創(chuàng)建時(shí)maxRecursionDepth必須 ≥ 1即使不用遞歸光追否則traceRayEXT調(diào)用無效。Step 4記錄 command buffer 與提交光追渲染 command buffer 必須包含三部分// 1. 構(gòu)建 BLAS一次性 vkCmdBuildAccelerationStructuresKHR(cmdBuf, 1, blasBuildInfo, blasBarrier); // 2. 構(gòu)建 TLAS每幀因 instance 可能變化 vkCmdBuildAccelerationStructuresKHR(cmdBuf, 1, tlasBuildInfo, tlasBarrier); // 3. 光追渲染 vkCmdBindPipeline(cmdBuf, VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR, pipeline); vkCmdBindDescriptorSets(cmdBuf, VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR, layout, 0, 1, descriptorSet, 0, nullptr); vkCmdTraceRaysKHR(cmdBuf, raygenRegion, missRegion, hitRegion, callableRegion, width, height, 1);vkCmdTraceRaysKHR的width/height必須與 swapchain image 尺寸一致否則gl_LaunchSizeEXT在 shader 中返回錯(cuò)誤值導(dǎo)致三角形位置漂移。3.3 實(shí)操現(xiàn)場記錄從黑屏到紅色三角形的 72 分鐘這是我在實(shí)訓(xùn)課上帶學(xué)生完成的真實(shí)時(shí)間線記錄自 2023.11.150-15 分鐘環(huán)境驗(yàn)證失敗vulkaninfo --summary顯示rayTracingPipeline: NO。排查NVIDIA 驅(qū)動版本為 516.94升級至 525.85.05 后解決。教訓(xùn)驅(qū)動版本比 Vulkan SDK 版本更重要。15-32 分鐘shader 編譯報(bào)錯(cuò)glslangValidator報(bào)error: traceRayEXT : no matching overloaded function found。原因#extension GL_EXT_ray_tracing : require寫成了#extension GL_EXT_ray_query : require。修正后編譯通過。32-48 分鐘BLAS 構(gòu)建失敗vkCreateAccelerationStructureKHR返回VK_ERROR_INITIALIZATION_FAILED。日志顯示invalid vertex stride。檢查vertexStride sizeof(glm::vec3)為 12 字節(jié)但頂點(diǎn)緩沖區(qū)實(shí)際為sizeof(Vertex)含 padding24 字節(jié)。修正vertexStride為 24。48-58 分鐘TLAS 無輸出屏幕全藍(lán)miss shader 生效但raygen中traceRayEXT調(diào)用無報(bào)錯(cuò)。用 RenderDoc 截幀發(fā)現(xiàn)topLevelASdescriptor set 綁定為空。原因vkGetAccelerationStructureDeviceAddressKHR返回的 address 未寫入 descriptor set 的pBufferDeviceAddresses。補(bǔ)上pBufferDeviceAddresses[0] tlasAddress。58-72 分鐘紅色三角形出現(xiàn)closest_hit.rchit輸出payload vec3(1.0, 0.0, 0.0)屏幕中心出現(xiàn) 100x100 像素紅色方塊——正是三角形投影區(qū)域。用gl_LaunchIDEXT輸出t值驗(yàn)證其在 4.99~5.01 區(qū)間波動證明射線相交距離計(jì)算正確。全程沒有一行“魔法代碼”每個(gè)錯(cuò)誤都對應(yīng)一個(gè)可驗(yàn)證的硬件約束或 API 規(guī)則。學(xué)生反饋“原來不是我太菜是 Vulkan 真的在逼我理解 GPU 怎么工作?!?. 常見問題與獨(dú)家排查技巧實(shí)錄4.1 Vulkan 光追錯(cuò)誤代碼速查表附定位方法錯(cuò)誤代碼常見原因定位方法修復(fù)方案VK_ERROR_DEVICE_LOST驅(qū)動重置通常因 RT Core 訪問非法內(nèi)存運(yùn)行nvidia-smi查看 GPU memory usage 是否突增至 100%用 RenderDoc 檢查vkCmdBuildAccelerationStructuresKHR的pInfos參數(shù)檢查vertexData.deviceAddress是否有效確保maxVertex≤ 實(shí)際頂點(diǎn)數(shù)VK_ERROR_INVALID_OPAQUE_POINTERdescriptor set 中 acceleration structure handle 無效在vkUpdateDescriptorSets后用vkGetAccelerationStructureDeviceAddressKHR重新獲取 address 并驗(yàn)證非零用vkGetAccelerationStructureBuildSizesKHR獲取accelerationStructureSize確保分配足夠顯存VK_ERROR_INITIALIZATION_FAILEDBLAS/TLAS 構(gòu)建參數(shù)不合法檢查VkAccelerationStructureGeometryKHR的geometryType是否為VK_GEOMETRY_TYPE_TRIANGLES_KHR驗(yàn)證indexType是否為VK_INDEX_TYPE_NONE_KHR單三角形無需索引刪除所有indexData相關(guān)字段maxVertex設(shè)為 3VK_ERROR_OUT_OF_DEVICE_MEMORYacceleration structure 顯存不足計(jì)算VkAccelerationStructureBuildSizesInfoKHR::accelerationStructureSize對比 GPU 顯存剩余量降低maxPrimitiveCount用VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR復(fù)用結(jié)構(gòu)體VK_ERROR_UNKNOWNshader 中traceRayEXT參數(shù)超出范圍在 raygen shader 中添加if (t 1000.0) { payload vec3(1.0, 1.0, 0.0); return; }輸出黃色調(diào)試色將tmax參數(shù)從1000.0改為1e5檢查dir是否為單位向量提示VK_ERROR_UNKNOWN是 Vulkan 最狡猾的錯(cuò)誤90% 源于 shader 中除零或sqrt(-1)。在 hit shader 開頭加if (dot(dir, dir) 1e-6) return;可快速定位。4.2 三角形驗(yàn)證的三大黃金測試法Test 1頂點(diǎn)坐標(biāo)擾動法在TriangleLoader中對v0/v1/v2添加微小隨機(jī)偏移±0.0001重新構(gòu)建 BLAS。若三角形邊緣出現(xiàn)鋸齒或閃爍說明vertexStride或maxVertex計(jì)算錯(cuò)誤GPU 讀取了錯(cuò)誤內(nèi)存區(qū)域。Test 2射線參數(shù)可視化法修改closest_hit.rchitpayload vec3(t * 0.01, 0.0, 0.0); // t 值映射為紅色強(qiáng)度正常應(yīng)看到從相機(jī)到三角形的漸變紅色條紋。若條紋斷裂說明t計(jì)算中det為零共面三角形需檢查頂點(diǎn)是否共線。Test 3實(shí)例 ID 反查法在raygen.rgen中將gl_LaunchIDEXT寫入payloadpayload vec3(float(gl_LaunchIDEXT.x), float(gl_LaunchIDEXT.y), 0.0);渲染后應(yīng)看到從左下角0,0到右上角width,height的漸變色塊。若色塊缺失說明vkCmdTraceRaysKHR的width/height與 swapchain 不匹配。4.3 學(xué)生高頻踩坑與我的實(shí)戰(zhàn)心得坑 1vkGetBufferDeviceAddress返回 0原因緩沖區(qū)創(chuàng)建時(shí)未設(shè)置VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR或VkPhysicalDeviceFeatures2中未啟用bufferDeviceAddress。心得在vulkan_core.hpp的initDevice()中必須顯式檢查bufferDeviceAddressFeatures.bufferDeviceAddress VK_TRUE否則后續(xù)所有 RT Core 操作都會靜默失敗???2三角形在光追中“消失”但光柵化正常原因光追使用 world space 坐標(biāo)而光柵化使用 clip space。學(xué)生常把glm::mat4 model直接傳給 shader卻忘了在 raygen 中用inverse(model)將射線原點(diǎn)/方向轉(zhuǎn)換到模型空間。心得在TransformManager中為每個(gè)Triangle預(yù)計(jì)算inverseModelMatrix并存入 instance buffer。這樣 hit shader 中的頂點(diǎn)坐標(biāo)計(jì)算才準(zhǔn)確???3vkCmdTraceRaysKHR后屏幕無變化但vkQueueSubmit無報(bào)錯(cuò)原因VkCommandBuffer的level錯(cuò)誤。光追渲染必須用VK_COMMAND_BUFFER_LEVEL_PRIMARY若誤用SECONDARYGPU 會忽略該 command buffer。心得在createCommandBuffer()中強(qiáng)制createInfo.level VK_COMMAND_BUFFER_LEVEL_PRIMARY并在注釋中加粗警告“光追渲染禁止使用 secondary command buffer”???4多實(shí)例三角形只有第一個(gè)實(shí)例顯示原因VkAccelerationStructureInstanceKHR::instanceCustomIndex重復(fù)。每個(gè) instance 的instanceCustomIndex必須唯一否則 shader 中無法區(qū)分。心得在AccelerationBuilder::updateInstances()中用std::iota(instanceBuffer.data(), instanceBuffer.data() count, 0)自動生成 0,1,2... 索引杜絕手寫錯(cuò)誤。最后分享一個(gè)小技巧當(dāng)一切看似正確卻仍失敗時(shí)刪掉所有優(yōu)化標(biāo)記回歸最簡路徑。我讓學(xué)生把VkPipelineCreationFeedbackCreateInfoEXT和VkValidationCacheEXT全部移除用VK_LAYER_LUNARG_standard_validation替代VK_LAYER_KHRONOS_validation再運(yùn)行。95% 的“玄學(xué)錯(cuò)誤”會在標(biāo)準(zhǔn) validation layer 下暴露為清晰的VUID-xxxx錯(cuò)誤碼。記住Vulkan 的哲學(xué)不是“讓你寫更少的代碼”而是“讓你理解每一行代碼在硬件上做什么”。那個(gè)紅色三角形不是終點(diǎn)是你第一次真正看見 GPU 在思考的起點(diǎn)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产400孕妇孕交群| 欧美另类色图片| 91精品免费| 白嫩嫩一区| 亚洲色图第四色| 日韩在线女优天天干| а√天堂资源官网在线资源| 日韩无码服务区| 日本三级韩三级99久久| 91人妻做a观看视频| 久久精品久久久久久久| 啊啊啊好疼| 人妻少妇久久久| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 最新精品久久蜜桃| 国产农村妇女精品一二区| 欧美日本中字另类在线| 91亚洲欧洲| 国产性爱欧美性爱在线| 丝袜美腿校园春色| 综合97久久| 成人综合色网| 色99色| 69视频入口| 人妻第一页| 亭亭在线资源| 在线亚洲丝袜视频网站| 综合 青草 伊久久 影院 综合| 嗯嗯啊啊好疼| Av色五月| 超碰午夜在线| 一个人在线看的黄色电影网站| 999国产精品999| 天天射天天操天天干天天吃2018| 欧美写真视频一区| 人妻熟女一区二区| 日韩大香蕉精品在线视频| 天天综合网~69| 91精品大奶人妻| xxxx网站亚洲精品| 天天做日日做| 天天视频综合在线观看视频| 国产又色又粗又黄又爽| 男人午夜天堂| 久热一区二区| 四虎免费在线观看| 蜜乳av一区二区| 熟女激情综合网| 天天躁日日躁狠狠躁| 欧美亚洲特P| 天天躁狠狠躁av| 嗯嗯啊啊的视频| 91久久堂| 97在线播放| 亚洲精品国产熟女久久久| 日韩三级在线观看mp4| 青青国产精品在线| 亚洲精品蜜桃久久久久久久| 热热热热日日漂亮永久永久国产日| 欧美后入| 日本高清免费一本视频在线观看| 欧美日韩中文视频播放| 国产又黄又爽又刺激久久久久久| 口爆吞精在线观看| 亚洲天堂区| 无码91| 日本 欧美 亚中文字幕| 一区二区三区国产精产| 老女人碰碰在线碰碰视频| 亚洲城人男人的天堂| 丝袜综合色图| 91在线限制级| 欧美日韩97在线| 男人的天堂1024| 夜夜爽夜夜爽| 淫荡熟女乱伦网| 综合色色婷婷| 日韩情色视频| 美女让帅哥通她小鸡鸡| 国产亚洲精品久久久久小| 日日日日做夜夜夜夜无码| 奇米四色影视777久久久| 99久久久久久久久| 狠狠躁AV| 久久久久深夜无码| 少妇熟女1区2区3区| 伦激情人妻另类人妻| 91精品国产日韩欧美综合| 强奸乱伦中文字幕AV| 久99热| 欧美 中文字幕 一区| 四虎国产精品永久在线囯在线| 翔田千里无码中出中文字幕| 久久草草欧美精品| 午夜福利在线合集| 精品亚洲国产成人精品| 日韩97视频!在线| 97资源站久久| 免费一级黄色录像影片| 青青草大香蕉在线视频| 亚洲色宗合| 日本一区二区不卡精品| 日韩在线人妻网站| 91美女片在线| 婷婷视频在线免费观看| 91天堂视频| 日日躁夜夜躁狠狠躁超爽| 欧美日韩啪啪电影| 天天日老熟妇| 97av,com| 日韩电影在线观看网址| a一区二区三区乱码在线| 最近的最新的中文字幕视频| 一个人在线看的黄色电影网站| 欧美日本视频一区| 免费久久一级毛片大黄| 久久久久久久极品香蕉视频| 日本精品一区二区不卡| 男人高清无码一区二区| 色婷婷成人综合| 九九热三级片| 欧美第一页性| 欧美超碰97| 欧美精品1区2区3区| 亚洲av乱伦色图网站| 91美女视频在线| 久9综合在线| 欧美日韩操操操| 亚洲蜜臀懂色| 超碰97综合| 欧美少妇高潮久久91| 欧洲精品二区| 91精品久久久久五月天精品| 牛牛久久国产精品视频一二三| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 狠狠中文字幕| 欧天美中出| 性色av蜜臀av色欲aV| 丰满少妇人妻久久久久久| 黑人精品欧美一区二区蜜桃| 婷婷五月天成人网| 国产操伦| 欧美第二页午夜| 国产精品 久久久精品一牛| 97激情97激情| 国产在线观看91精品一区| 天天做天天爱天天爽AV| 在线人成亚洲视频免费观看| #NAME?| 国产成人自拍视频视频| 亚洲麻豆18发?| 色情乱伦AV| 亚州大图综合色图 | 亚州欧美色图| 欧美日韩一干二干| 333kkkk·亚洲com久久| 欧美天天影院| 91国产丝袜足交精品视频| 中国AAAAAA黄色片| 学生妹天天看| 天天综合香 ld视频| 人人操人人搞人人草| 中文字幕十五区| 强奸乱伦大香蕉网| 一区在线精品中文字幕| 9999久久久久| 人人操人人射人人干| www.99中文字幕| 欧美色图小说综合| 久久久工口| 国产拍偷精品网站| 一本大道青青| 五十路熟女工口| 蜜乳AV网址| 久久高潮妇女视频| 97精品在线| 色色色综合| 亚洲天堂人妻熟妇视频| 97亚洲精品| 99re在线视频这里只有精品| 91性生活久久久| 全免费a敌肛交毛片免费| 97aiaiai| 99精品高潮| 欧美图片偷拍| 乱老女人一区二区视频| 内射小黄片| 久久久久久免费电影| 嫩草 人人网精品| 新版天堂中文资源8在线| 国产家庭乱伦性爱视频| 好爽视频在线观看视频 | 成人av性爱电影在线观看| 人妻少妇久久中文| 偷拍超碰| 欧美亚洲影视| 激情文学 国产一二三aV| heyZO天然素人无码AⅤ专区| 99热精品在线在线| 中国一级操逼视频| 成人麻豆av电影网站| 四虎免费视频| 亚洲天堂日本| 在线视频五十市| 亚洲无码一区二区三区三州| 成人av影院在线观看| 亚洲色交| 中文在线视频| 欧美天天综合站| 日夜久久久九九九久| 激情丁香五月| 六月天婷婷| 婷婷在线精品| 色优久久| 另类综合另类| 被体育老师抱着c到高潮| 三级精品三级在线观看| 亚洲av国产av综合av卡| 四虎影视永久在线免费| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 国产吹潮女在线观看| 欧美一二在线| 久久精品72| 在线综合 亚洲 欧美中文字幕 | 人人妻人人爽 97人人看碰人免费公开视频 | 欧美资源| 大JI巴好深好爽又大又粗视频| 欧美天天影院| 91A欧美电影网站| 91 偷| 91精品网站| 96久久久久久久| 777超碰| 操一对老熟妇爽上天视频| 抽插一区二区视频| 精品无码久久久久久久久果冻糖心| 啊啊啊啊啊啊在线| 成人免费福利在线观看| 精品国产一区二区三区av在线资源| 久99久视频| 激情综合二| 一区二区三区 日韩欧美| 欧美性爱1080p| 囯产操逼片| www.av在线观看| 天天插天天射| 久久精品国产99国产精品亚洲| 日韩久久艹| 久久九九精品一区二区| 上特色A在线| 日本爽爽爽爽爽爽免费视频| 亚洲日韩美女中文字幕乱| 久久久免费一级黄片| 久久草大香蕉| 素人无码中文字幕| 夜夜黄| 黄色片A级一区二区三区| 999精品国产高清一区二区| 久久三| 亚洲va综合va国产va中文| 超碰 97国产熟女| av东京热男人的天堂| 97资源站久久| 日韩欧美性爱电影在线观看| 日本无码1| 日本欧美成人片AAAA| 亚洲一二三精品久久网| 5252色欧美在线男人的天堂| 琪琪精品免费一区二区三区| 91丨九色丨大屁股| 狠狠色一区二区中文字幕| 91综合天天| 翔田千里爆乳巨臀无码| 可以免费观看的av| 精品9999| 92午夜免费福利视频| 日韩99神马视频播放片在线播放| 中文字幕精品三级久久久| 国产成年女黄特黄| 免费夜夜爱黄色视频毛片| 色色综合97| 在线视频97| 亚洲人妻中文高清| 日韩国产十八禁| 91爱啪| 强奸乱伦Av网| 日韩精品影视| 91久久久亚洲| 亚洲日产专区| 国产精选视频| 99热这里是精品| 超碰碰小说97| 不卡一区二区日本视频| 成人在线永久| 久久无码成人| 97精品视频免费| 男人天堂新| 日本一级二级三级网站| 欧美综合在线91| dy888午夜老子影视达达兔| 九九aV| 97伪v| 天天爽夜夜爽夜夜爽精| 少妇毛片久久| 欧美成年人性爱视频免费观看| 围产精品一区二区三区视频播放| 天天色踪合| 国产在线激情视频| 97在线观看免费视频l| 成人日韩欧美| av影片在线观看不卡| 男人天堂2019亚洲| 男人的天堂三级| 国内自拍 日韩激情 99| 情色五月天就去干| 最新欧美色网| 十八禁啪啪视频| 女同性恋一区二区三区精品视频| 男人女人18禁片免费看网站| 欧美久久毛片基地| 午夜120视频在线观看| 亚洲色图 图片| 少妇啪啪自拍| 黄色交缠性感爆操91国产精品免费一区二区三区 | 色五月综合| 欧色网址| 精久久久91| 国产亚洲精品美女久久久久久2021| 97 九色| 一级特黄aaa大片在线观看成人一级片在线观看 | 亚洲电影中字一区二区| 激情综合网一盗摄| 1769精品一区二区三区| 清纯唯美激情| 日韩紧密久久| 国产精品久久久久久久黄无码| AV高清一区| 一本久道在线综合视频| 精品人妻一区二区蜜桃视频| 亚洲色图91欧美日韩| 精品欧美不卡在线播放| 婷婷探花久久精品一区| 丝袜狠狠草尤物人妻av91| 最新av中文字幕高清| 99热日| 九九久久一区二区三区| 日韩色欲久久一二三四区| 99re99在线视频| 亚洲天堂性爱| 免费毛片在线播放| 国产三级在线现体验区| 欧亚性爱视频免费看| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 激情一区二区| 亚洲97P| 色婷网| 欧美色图电影| 久草在| 啊啊啊啊啊啊啊国| 国产女人成人精品视频| 亚洲国产成人精品久久久国产成人一区二区 | 国产尹人在线视频免费| 一区二区三区美女超清| 99re28在线观看| 久久m| 久久婷婷一区二| 日本操BAV| 在线午夜成人无码视频| 伊香蕉综合久久久久久久噜噜噜| 亚洲欧美日韩国产丝袜自拍中文| 97激情97激情| 91天天日| 天美传媒国产原创中文字幕亚洲欧美另类 | 乱论91| 久久久新亚洲AV| 国产夫妻性生活视频| 欧美精品双插| 精品人妻一区二区免费蜜桃| 亚洲激情AV| 久久精视频美日韩在线视频| 久久超碰国产一区二区三区| 91在线/欧洲| 美女露胸露奶头| 青青草日韩无码| 欧日a| 亚洲va有码在线天堂| 天天插天天插| 丁香五月激情综合国产| A 天堂在线观看视频| 欧美日韩大黄片| 日韩精品在线视频,日韩精品……| 久99在线免费观看视频| 亚洲成人帖图| 中文字幕一二三av| 狠狠操狠狠燥| 精品少妇人妻一区二区三区| 国产日韩中文字幕欧美| 女上位精品在线| 97综合在线观看| 97综合在线观看| 亚洲人精| 97一区二区蜜臀| 国产不卡精品91| 国产黄a三级三级三级av在线看 | 在线啊啊啊啊| 青青草国产盗摄一二三区| 精品乱子一区二区三区99| 国内精品不卡无毒99999| 淫淫总合网| 国产超碰国产97| 欧洲综合视频| 少妇同性| 亚洲精品 欧美精品| 欧美亚洲se91| 亚洲性天堂| 亚洲精品97| 亚洲春色欧美激情自拍| 操我无码| 亚洲夜夜欢无码一区二区| 99精品在线| 日欧操屄视频| 亚洲色堂免费视频| 日韩激情视频| 精品夜夜澡人妻无码AV| 色九久| 国产树林里野战在线看| 亚洲高清无码AAA久久久精品| 人妻99p| 97精品一二区| 熟女精品一区二区在线观看| 蜜桃传媒视频第一区入口在线看| 超碰色综合| 天天操夜夜嗨| 九九色综合| 麻豆福利视频导航| 欧美性第1页| 97在线播放 | 亚欧美综合网。| 天天综合网~91| 国产老女人久久毛| 亚洲精品三区在线观看| 日韩无码成人电影| 精品人妻一区二区三区夜夜| 超碰97综合在线| 妇女性内射冈站HDWWWCOM| 大香蕉免费乱伦视频| 97舔舔| 青草园大香蕉| 欧美高清无码免费视频高清版| 欧美性爱视频免费一区一A| 一本一道人妻久久一区二区三区| 日韩9999| 精品人妻中文字幕高清| www.av在线观看| 久久天天躁日日躁狠狠躁| 色哟哟AV| 国产精品自拍xxxx| 欧美综合色站| 少妇色| 91|九色|国产熟女| 人妻内射一区二区在线视频| 国产成人五月天丁香花| 成人午夜小视频手机在线看| 久久做97| 久久精品国内Av熟女高清| 91丨九色丨熟女高潮| 婷婷探花久久精品一区| 婷婷亚洲五月***久久| 啊啊啊久久久视频| 中文字幕av乱伦| 超碰综合97在线| 探花一区在线| 欧美人妻一区二区| 97天天做| 日韩欧美大力操| 麻豆婷婷成人一二三| 欧洲精品一级二级精品综合视频综合| 国产亚州高清国产拍精| 精品乱码在线观看| 粉嫩粉嫩一区性色AV片| 天天日熟妇| 再深点灬舒服灬太大了好硬好爽| 后入综合久久| 欧美少妇大量自拍视频在线观看| 香蕉国产精品麻豆亚洲欧美日韩| 嗯嗯啊啊视频一区二区三区| 首页中文字幕中文字幕免费| 清纯唯美第一页| 久久久人体| 日韩AV无码网站| av线电影| 国产尤物在线三区| 爆操无码| 久久久熟女一区| 人人爱操| 国产日逼视频| sewuyueav| 97在线欧洲| 丁香六月啪| 天天日天天搞天天干| 五十路成人在线视频二区三区| 人妻嗯啊啊在线播放| 亚洲一曲日韩精品| 亚洲日韩电影| 97在线播放 | 99re99视频在线免费观看| 乱伦熟女区| 7777奇米影视久久| 香蕉欧美| 亚州欧美在线| 亚洲91射| 久久9999 | 97操在线| 日韩传媒在线| 国产久久久9999| 亚洲无套久久嗯嗯| 天天日少妇逼AV| 丁香五月天视频| 国产aⅴ无码片毛片一级网站| 国产午夜福利视频在线| 你想操日本小逼吗| 欧美色网| 九热中文字幕| 西西美女视频网| 青女偷拍网| 日本五十路熟女一区二区| 日韩精品人妻中文字有码在线 | 亚洲天堂AV在线播放| 精品v日韩欧美国产| 日韩无码精品综合久久| 舔足天天操天天射| 国产精品爆乳懂色蜜乳| 欧美综合另类| 女人久久久| 物尤视频一区二区| 超碰碰小说97| 绯色AV粉色AV蜜臀AV| 中文伊人大香蕉视频| 97这里都是精品| 91欧美另类| 日韩久射综合| 中文字幕日韩专区精品系列 | 日本岛国黄色网址| 97人人草| 久久日本熟女精品一区| 久九九九九九九九热| 91丝袜美女视频| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 国产农村妇女精品1区二区| 91网站18在线| 日本大香蕉综合网红本杳社区| 久久久性| 亚洲一本大道中文字幕无码在线| 日韩三级久久久| 91AV天美在线视频| 亚洲欧美电影| 九九九九九九九精品视频| 久久久久久久国产| 成年人黄色| www.91久久| 国产久久一区二区| 天天操av懂色| 上海一级黄片| 久久草草亚洲蜜桃臀| 人妻久久一区二区三区 | 日韩欧美天天爽爽爽天天爽爽| 东北老熟女| 国产美女mm131爽爽爽爽| 久久久久无码一妻区| 岛国大片在线观看网站入口| 国产在线不卡导航| 嗯~啊~快点 死我视频免费看网站| V A在线| 亚欧洲日韩国产精品| 天天爽夜夜爽夜夜爽精| 碰碰在线视频| 99热最新网址| 亚洲日本天堂| 在线观看亚洲成人精品| 国产91精品久久久久久久网曝门| 嫩草 我啊~嗯~在线| 91美女国产在线| 国产精品久久久九九九| 韩国成人精品久久久免费看| 亚州情色j区| 天天综合91| 国精综合一二三区影视| 久久精品福利影院| 日韩97视频| 国产超碰在线| 成年人网站在线免费观看| 啊啊啊不要啊啊受不了了视频在线 | 2017天天操天天日| 久久婷婷精品| 国产传媒午夜理伦精品| 97亚洲国产| 亭亭丁香激情| www.av在线观看| 伊人网免费视频| 老司机午夜福利视频一区二区| 国产视频不卡在线观看| 天美传媒AV在线播放| 啊好爽受不了无码| 综合色色婷婷| 秋霞久久亚洲精品成人| 香蕉精品二区二区| 精品九九淫乱男| 区一在线观看| 巨爆乳肉感一区二区三区竹菊影视 | 婷婷五月天在线观看| 成人资源中文字幕在线观看天天| 亚洲官网在线| 午夜啊啊| 久久久爆乳翘臀一线天伦理视频| 国产精品欧美在线观看 | 97在线欧| 欧美国产有色电影| 性性久久| 欧美色日| 精品人妻一区二区三区不卡断| 99精品无码| 久久久久78| 亚洲欧美国产其他二区| 欧美精品成人一区二区在线观看| 全免费a敌肛交毛片免费| 太久视频| 乱色老一区二区三区的观看方式| 美女视频尤物网在线看| 超碰在线观看av不卡| 日本道不卡| 亚洲砖码砖专无区2023| 肉丝中文无码高清| A 天堂在线观看视频| 成人久久久精品| 色爱国产| 超碰1997| 日本免费一区二区不卡| 国产熟女精品区| 久久东京热成人| 九九人妻| 天天干天天做| 五月婷婷激情网| 欧美性暴力猛交| 国产11页| 日韩综合色网| 亚洲精品一二三四区| 精品国产乱码久久久影院| 色情综合网| 极品少妇久久久久| 欧美性爱91| 日韩 欧美 另类 人妻| 再深点灬舒服灬太大了好硬好爽| 国产动漫操逼视频| 情色av电影| 加勒比av网| 欧美性爱第一页久久| 青青操综合网| 精品网站9999| 精品十八在线观看| 老熟女乱伦一区| A久久| 97天天插| 一区二区三区黄色片a| 丰满人妻一区二区三区免费,| 啊啊啊97视频| 三级色影综合网| 亚洲强奸乱伦影视网| 亚洲 欧美 另类 综合 偷拍| 91精品丝袜久久久久久| 日本免费专区| 国产福利夜| 亚洲欧美日韩制服另类| 色综合久久888| 超碰97人人乐| 国产亚洲日本精品在线| 四虎免费看黄| 国产成人 综合亚洲 天堂| 成人贴图日韩欧美| 亚洲在线91| 国产精品对白内射| 久久精品一区二区| 91人妻超碰| 超碰在线人妻中文字幕| 精品国产一区二区三区四区在线看| 国产精品一二三| 久久久久深夜无码| 超碰78| 久久精品一区二区| 亚洲国产ⅴ高清在线观看| 色婷婷一区二区三区久久午夜成人不| 国产成人+综合亚洲+天堂| 国产精品一区二区麻豆| 狠狠色婷婷7777久| 国产91乱伦| 亚洲激情视频| 久久久久密| 色97干| 久久五月综合| 久久久久久久久久久久欧美日| 色臀AV| 97超碰巨乳| 6080YYY午夜理论片在线观看| 国产强上视频在线观看| 日韩超碰精品综合| 人妻熟女一区二区| 欧美线天码中字| 国产女同在线观看视频| 精品一区二区三区蜜桃臀赵总 | 欧美熟妇操操视频| 99re9| 熟妇高潮精品一区二区三区下载| 欧美极度丰满熟妇hd| 九九九九热| 啊啊啊啊啊舒服| 91麻豆天美国产| 中文字幕日本久久| 久久久久久久伊人精品| 少妇精品| 欧美精品,四区。五区| 亚洲日韩青青草色月| 久久艹逼视频| 国产偷拍自拍在线视频| 久久无码一区二区二三区性色| 97精品视频在线| 亚洲欧美精品久| 动漫片子网站3黄| 思思热在线观看| 极品色www影院| 亚洲成人性爱在线观看| 日本不卡高清视频| 中文日本免费高清| 日韩熟女乱伦中出| 欧美一级久久久久久久大片动画 | 91黑丝操| 97操综合| 麻豆天天躁天天揉揉AV| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 黄片com.| 少妇高潮对白在线观看| 神马久久久久久久久久久久| nuu12国产麻豆精品| 亚洲无码超碰免费| 欲香欲色天天天综合和网| 欧美成人A√在线一区二区| 亚洲综合九| 久久av成人无码免费| 久久久熟妇熟女国产| 精品人妻一区二区三区夜夜| 色原狠狠天天天| 超碰78| 亚洲蜜乳av| 91xingse| 亚洲男人天堂视频| 粉嫩av一区二区三区天美传媒| 九九九九免费高| 久久久无码精品人妻二区| 亚欧美色| 欧美裸体美女日麻屄| 日韩在线人妻网站| 狠狠综合| 欧美亚洲| 无码抄逼网| 欧美中文字幕精品人妻| 国产精品suv一区| 97久久资源| 久久久久久电影| 肉嘟嘟www视频在线观看高清| 成视频在线观看免费看| 久久久噜噜噜久久久| 日韩欧美中文字亚洲慕| 亚洲日韩精品久久久久一区壹牛 | 久久久久久久久久久久久久久久9| 一级免费精品| 日本精品无码三级网站| 九九热男人天堂| 欧美97免费| 丰满人妻一区二区三区大胸懂色 | 亚洲天堂美臀在线| 国产精品久久aV| 中文字幕在线24| 欧美色图片色哟哟| a级理论午夜日本| 色天堂在线观看| 欧美日韩另类在线| 天天综合网入口~91| 夜夜骑夜夜操| 亚洲AV乱码专区国产噜噜亚洲| 91综合中文字幕| 五月丁香六月婷| 美女诱惑久久| 蜜桃臀 后入 一区 二区 三区 在线| 啊啊啊男女| 大香蕉啪啪啪| 欧美一区二区男人天堂| 淫淫总合网| 亚洲欧美国产中文视频| 亚洲AV不卡在线观看尤物| 美女操逼A A| 青青伊人久久| 久色网| 久久九色| 大肉棒导航| 欧美黄色片AAAAA| 人妻熟女字幕一区二区| 国产黄色在线播放观看| 亚洲欧美综合区自拍另类 | 台湾佬中文娱乐网久久久久久久久久com | 久久69| 91超碰碰在线| 蜜臀少妇一区二区| 国内偷自视频区视频综合 | 日本欧美国内在线| 日韩成人高清一区二区| 曰本道人妻久久久在线不卡色视频| 婷婷五月天AV| 国产精品久久久久久久久久久久久久| 亚洲精品视频二区| 99e久久国产精品| 精品无码一区二区三区| 色爱三区| 四虎精品一区二区| 综合一区中亚洲国产成人综合精品 | 97天天插| 涩五月婷婷| 久久亚洲欧美中文字幕国语 | 婷婷亚洲天堂| 99久久e免费热视| 熟女激情综合网| sewuyueav| 欧美草草高清日韩视频| 热久日综合| 男人的天堂色偷偷青青草视频婷婷网| 亚洲超碰在线| 国产精点久久久成人| 久久亚州精品成人Av无| 亚洲欧美另类激情小说| 91精品久久久久久| 婷婷探花久久精品一区| 天天综合网AV91| 小草av不卡亚洲二区| 精产国品一区二三产品| 久久久婷婷| 欧美97日韩| 97精品国产精品免费观看| 激情文学 国产一二三aV| 日本九九久久99播| 中文字幕在线观看AV| 最新一二三区视频| 情色五月天久久久| 啊啊啊在线观看免费视频| 91成人国产综合久久精品蜜月| 少妇国产不卡| 日韩精品电影| 久久天堂网| 97精品| 极品综合| 国产精品成人无码av| 亚码激情| 97超碰逼| 国产人妻久久精品一区二区三区| 96国产精品| 欧美日韩国产一区二区小黄片大全| 97在线观看播放视频| 色官网在线| 在线αⅴ| 狠狠色噜噜狠狠狠狠狠色综合久久| 少妇内射www在线观看视频| 另类TS人妖一区二区三区| 亚洲美女 晚间男人天堂| 8050午夜少妇无码| 色婷婷六月丁香七月婷婷| 97精彩视频网站| 99久久99九九99九九九| 一级毛片久久久久久久女人18| 婷婷五月天福利| 精品视频123区小说区| 亚洲狠狠入| 黄片国产精品一区二区| 日少妇亚洲版| 男人天堂新在线| 人妻9117c| 久久久 国产精品| 情色av电影| 亚洲综合色图欧美| 易易A毛视频| 本道综合精品| 影视综合无码少妇| 欧美日韩大陆黑人少妇99| 天天躁日日躁AAAAXXXX国产| 亚洲少妇色| 综合网亚洲在线| 国产成人精品必看| 国产欧美日韩女同性恋ww喷水精品| 欧美天天综| 91麻豆va国产精品| 久久激情视频| 91色伦| 婷婷丁香五月天综合东京热| 人妻人人澡人人爽人人| 都市久久精品激情亚洲| 九九玖玖精品| 懂色中文一区二区三区| 91成人国产综合久久精品蜜月| 日韩操啪| 一区,二区,三区视频| 亚洲一级性爱视频免费看| 自拍亚洲综合| 九九综合久久| 熟女精品日韩一区二区三区| 9 9精品一区二区三区| 69精品| 久久99手机免费视频| 欧美亚洲色图另类国产| 蜜臀一二三区| 中文字幕日韩国产传媒欧美精品| 激情黄色片在线观看| 精品久久九| 蜜臀少妇一区二区| 人妻一二三区| 日韩91网站| 9 7超碰在线免费观看| 日本精品高清一二区一本到| 亚洲欧美黄| 久久综合久色欧美综合狠狠| 日韩高潮一区| 深夜国产一区二区三区在线看| 亚洲欧美情色| 秋霞鲁丝午夜无码一区二区三| 玖玖综合.com| 成人三级片无码| 欧美国产精品| 青草综合| 色综合91好| 欧美另类天堂| 国产精品国产| 综合亚洲情色| 亚洲……91| 欧美精品99久久久| 日本色婷婷| 色青青久久影视| 97摸视频| 国产乱码精品一区二区三区四川| 乱操乱伦AV| 精品欧美老熟女一二区| 久久‘黄片视频| 以及麻豆国产入口在线观看免费| 国产Aα| 97中文天堂| 欧美在线视频观看一二三四区高清 | 无码高清操逼网址| 亚洲一欧洲中文字幕在线| 香蕉久久国产AV一区二区| 亚洲第一狼人丝袜美女另类| 日本亚洲熟女视频| AV天天在线观看| 91九色丨国产丨爆乳| 国产精品久久久九九九| 四季av一区二区凹凸精品小说| 91天天综合日韩欧美| 在线综合 亚洲 欧美中文字幕| 日本午夜精品理论片A级APP发布| 日美免费黄片| 丰满人妻一区二区三区在线| 厕所偷拍在线| 欧美 综合 亚洲| 天天做天天爱天天高潮| av在线播放国产一区| 中文字幕一区二区三区字幕| 日本五十路熟女一区二区| 五月天激情四射| 你草精品在线视频| 国产视频97| 嫩草美女久久| 日本三级日本三级99| 欧美 青青草| 亚洲丝袜少妇在线| 99在线免费公开视频| 九九热精品在线| 日韩久久艹| 亚洲欧洲成人在线电影| 激情干在线| 9超碰免费| 中文字幕乱妇免费视频| 伊人精品久久网站| 97九色人妻| 600国产精品视频| 狠狠色噜噜狠狠狠狠狠色综合久久| 欧美综合骚| 久久在肏| 9久久精品| 色网亚洲人| 最新中文字幕在线亚洲| 97超碰色屌| 亚洲精品一区二区精华| 嗯啊不要在线| 天天欧美97| 国产情侣自拍在线播放| 青青操视频在线| 久久久久久久国产a∨| 秋霞午夜视频一区二区| 欧美日韩*字幕一区| 久久九七| 三级特黄60分钟播放| 91五月天| 久久久久成人亚洲国产| 中文在线视频| 91久久久久久久| 精品一区二区三区麻豆| 天综合中文| 福利社区午夜一区二区| 亚州综合色图| 97爱b| 丰满人妻大屁一区二区| 少妇三p| 欧美色图天堂网m| 一区二区三区黄片免费观看| 久久人妻一区二区三区高清| 婷婷色播婷婷| 青娱乐福利99| 少妇高潮喷水无套久久久久久| 久久草在线综合视频| 2017大香蕉| 毛片99-全集电影手机免费观看完整-B029AV| 大香蕉伊人亚洲| 国产成人久久久精品免费AV| 欧美顶级黄色大片免费| 另类TS人妖一区二区三区| 国产精品盗摄 偷窥盗摄| 国产精品99精品视频网站| 免费少妇一区二区| 欧美极品性爱天天射| 国产h片在线观看视频| caoni国产亚洲av| 天久久久噜噜噜久久国产精品爽爽| 青青草日逼视频| 强免费黄色网址| 欧 美 自 拍 偷 拍| 国产又长又大又粗的视频| 强奸少妇AV导航网| 操99| 国产a级午夜毛片| 夜夜操青青草| 翔田千里无码一区| 国产精品96| 色婷婷一区二区三区久久午夜| 国产精品自在线发布| 人人玩人人添人人澡免费| 国产家庭乱伦表演| 国产400孕妇孕交群| 国产一级作爱毛片| 日本黄色天堂| 亚洲天堂男人在线| julia高潮后不停追击中出| 国产 亚洲 丝袜 制服| 人妻少妇被猛烈进入中| 国产亚洲精品久久久久小| 精品无码欧美三级| 高清国产无码av| 亚洲AV无码翔田千里网站| 日韩人妻制服丝袜av| 成人七区| AV九九| 五月丁香在线| 久久国产精品91| 欧美色997| 熟女露脸激情自拍视频| 亚洲天在线| 欧美福利视频啊啊啊啊| 天天色天天干天天射| 亚洲欧美国产日本一区二区三区| 久久激情视频| 91草草草| 日韩精品亚洲一二三| 免费在线看黄片av| 脫衣舞一区二区三区| 偷拍伦理视频| 成人热久久精品| 九九九九九精品| AV在线性爱| 欧美另类色图片| 人妻熟女一区二区| 九九九九精| 美国日韩黄色片| 麻豆一区二区三区精品| 美女91网| 性爱乱伦网址| 刺激精品视频| 东京热一区二区中文字幕| 久久激情亚洲精品无码?V| 人妻密肉在线观看| 一本色道久久综合精品婷婷| 国产精品一区午夜福利| 天天欧美欧美亚洲网| 国产91美女视频| 国产精品久久久三级无码| 好湿好紧好爽 视频| 東南亚性呦成人伦理资源在线视频| 免费啪啪av| 夜草欧美| 亚洲第一精品在线视频 | 大香蕉宗合网在线| 東南亚性呦成人伦理资源在线视频| 超碰人人妻| 天天操天天射天天日| 啊啊啊轻点在线观看| 67194无码不卡| 无色无码| 欧美性爱第一页久久| 91精品婷婷国产综合久久| 六月婷激情福利天堂69| 日韩欧美中文日韩欧美色| 国产亚洲福利第一页丝袜| 色呦呦、国产精品| 欧美亚洲高清| 欧美制服网站美腿丝袜| 亚洲欧美首页| 久久男人网| 五十路六十路七十路熟婆| 亚洲欧美日韩制服另类| 97在线免费看| A级毛片在线看免费| 日日日大屁股骚女人精品| 日本3级一区二区免费| 大茄子熟女AV导航| 久草视频制服诱惑| 免费av在线播放二区| 嗯嗯,好大,好爽,好骚| 精品一区二区国产日韩| 美日韩在线不卡人妻| 日本性爱少妇| 青青免费在线视频一区 | 黄网站黄视频网站进入口| 免费视频在线一区二区不卡| 天天内射| 久久综合18p| 亚洲黄网在哪免费看| 大JI巴好深好爽又大又粗视频| 亚洲国内精品成人不卡| 99色在线| 日韩成人性爱电影在线播放| 国内亚洲高清无码| 日韩日韩日韩-国产乱码精品一区二区| 国产精品制服丝袜中文字幕日韩一区二区三区| 国产Aα| 亚洲一区二区三区不卡国产欧美| 91女色| 九九热只有精品| 人妻色情天天操| 无码久| 美欧老女人97| 成人综合网 欧美| 天天干天天日天天射黄色| 99热18| 蜜臀少妇一区二区| 天天日夜夜爽| 另类图片五月| 校园春色 男人天堂 | 青草香蕉网| 亚洲淫乱骚妇AV| 97 九色|