看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) optix、cuda 問題(Question): 修改optix範例來貼圖 餵入的資料(Input): 預期的正確結果(Expected Output): model有貼圖 程式碼加上cuda程式有點多,所以附在最後面 想請問對於Optix、cuda熟悉的板友 我目前用progressivePhotonMap這個範例程式修改 會讀入一個obj檔,但是不確定要怎麼改texture才會貼上去 目前我研究其他範例在貼圖時會有下面code的形式 在一般的cpp檔內 GeometryInstance GI; GI["diffuse_map"]->setTextureSampler(loadTexture(..));//讀進貼圖 在.cu檔內 rtTextureSampler<float4, 2> diffuse_map; rtDeclareVariable(PerRayData_tex, prd, rtPayload, ); rtDeclareVariable(float3, texcoord, attribute texcoord, ); RT_PROGRAM void closest_hit_radiance() { const float3 uv = texcoord; prd.result = make_float3( tex2D( diffuse_map, uv.x, uv.y ) ); } 在progressivePhotonMap這個範例中,他會實作ray tracing 而實作ray tracing跟讀進texcoord的cu檔不同 (以上述例子來說就是prd跟texcoord在不同的.cu檔) 所以無法參考其他範例來把貼圖貼上並產生ray tracing的效果 曾經嘗試把texcoord丟到ray tracing的cu檔 但結果VS在compile過程中當掉(無法終止compile 想請問對Optix、cuda熟的板友是否可以幫忙解惑一下 或者可以推薦參考教學,網路上連英文教學都少得可憐QQ 對不起我描述得很爛,但我對Optix、cuda真的超級新手Orz 程式碼 https://www.dropbox.com/sh/8wl0o28kxpu93oi/AADqETYtID2kypTMNiIZHG-Ra?dl=0 如果有任何問題我可以盡量描述更細 但怕我自己也是一知半解囧> -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.210.20 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1451410124.A.01F.html ※ 編輯: micrometer (140.113.210.20), 12/30/2015 01:32:27 ※ 編輯: micrometer (140.113.210.20), 12/30/2015 01:38:10