我最近試圖在C++中用OpenGL製作一個.obj網格加載器,並且遇到了一個奇怪的問題。不同機器上的不同照明行爲
我有一個std::vector<Vector3f>
表示表示頂點的座標,另一個表示它的法線。在我的Vector3f
中,有一個std::array<float,3>
,所以我可以保留元素之間的連續性。
// Vertex Pointer to triangle array
glVertexPointer(3,GL_FLOAT, sizeof(Vector3f), &(_triangles[0].data[0]));
// Normal pointer to normal array
glNormalPointer(GL_FLOAT,sizeof(Vector3f),&(_normals[0].data[0]));
當我編譯我的學校的電腦程序,它提供了良好的效果,但是當我編譯我的臺式電腦上,照明奇怪的是,它像所有的面反映了相機輕便,所以它們看起來都是白色的。
你們有什麼想法,可能是我的問題?
編輯:
我的電腦的ArchLinux下,我的窗口管理器是真棒,這是寫在貼紙上的我的電腦
Intel Core i7-3632QM 2.2GHz with Turbo Boost up to 3.2GHz.
NVIDIA GeForce GT 740M
我不知道很多關於我的學校的電腦,但我認爲他們在Ubuntu上。
你的桌面環境(操作系統和物理)? – 2014-09-22 16:02:28
你說得對,這可能是有用的......我應該想到它。我在我的帖子中添加了它! – tforgione 2014-09-22 17:46:06