X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ftexturecube.cpp;h=ef9d25297a4285c5ec630cd65e3237c6cddbf471;hb=2b779717e42b514210f7128cf9aee2276650e003;hp=bbe6a6b679fe259915e6710036ed75336634816e;hpb=6afbace895a7bbcf216ab8e48280ea0303ab5892;p=libs%2Fgl.git diff --git a/source/texturecube.cpp b/source/texturecube.cpp index bbe6a6b6..ef9d2529 100644 --- a/source/texturecube.cpp +++ b/source/texturecube.cpp @@ -32,6 +32,7 @@ void TextureCube::storage(PixelFormat fmt, unsigned sz) throw invalid_operation("TextureCube::storage"); if(sz==0) throw invalid_argument("TextureCube::storage"); + require_pixelformat(fmt); ifmt = fmt; size = sz; @@ -53,7 +54,7 @@ void TextureCube::image(TextureCubeFace face, unsigned level, PixelFormat fmt, D unsigned s = get_level_size(level); if(s==0) - throw invalid_argument("TextureCube::image"); + throw out_of_range("TextureCube::image"); Bind _bind(this, true); glTexImage2D(face, level, ifmt, s, s, 0, fmt, type, data); @@ -135,7 +136,7 @@ Vector3 TextureCube::get_texel_direction(TextureCubeFace face, unsigned u, unsig const Vector3 &fv = get_face_direction(face); const Vector3 &sv = get_s_direction(face); const Vector3 &tv = get_t_direction(face); - return Vector3(fv.x+s*sv.x, fv.y+t*tv.y, fv.z+s*sv.z+t*tv.z); + return fv+s*sv+t*tv; } } // namespace GL