[問題] optix範例如何貼圖

作者: micrometer (微米)   2015-12-30 01:28:42
開發平台(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
如果有任何問題我可以盡量描述更細
但怕我自己也是一知半解囧>

Links booklink

Contact Us: admin [ a t ] ucptt.com