相关疑难解决方法(0)

glsl矢量加标量

我搜索了很多但是在#version 330顶点着色器中找不到以下语句是否合法:

#define note_the_following_whitespaces            0x01

(layout location = 7) vec3 out ov;
(layout location = 8) vec3 out rv;
void main() {
    rv = vec3(1.0,2.0,3.0);
    ov = (1.0+rv)/2.0;
    gl_Position = [whatever]...
}
Run Code Online (Sandbox Code Playgroud)

我特别提到(1.0+rv)- 着色器在每张nVidia卡上编译都很好,但拒绝在ATI卡上编译.不幸的是我没有确切的编译结果,我只知道编译不成功.

glsl

4
推荐指数
1
解决办法
7309
查看次数

为浮动类型重载operator%

我试图重载运算符%因为你不能在双类型上使用模数,

float a = 5.0; 
float b = 5.0;
a  = a % b;
// not allowed
Run Code Online (Sandbox Code Playgroud)

我试图用这种函数重载运算符%:

template <>
MyClass*                MyClass<float>::operator%(Myclass &other)
Run Code Online (Sandbox Code Playgroud)

对于其他涉及浮动的操作,我使用:

template <class T>
MyClass*                MyClass<T>::operator%(MyClass &other)
Run Code Online (Sandbox Code Playgroud)

它从来没有编译实际上我被卡住了,无法找到绕过这个问题的方法,g ++仍然警告我你不能对浮点数执行模数,我的模板语法有问题或者它真的不可能.

c++ templates g++

3
推荐指数
1
解决办法
4451
查看次数

标签 统计

c++ ×1

g++ ×1

glsl ×1

templates ×1