本文整理汇总了C++中operations::texture_mag_filter方法的典型用法代码示例。如果您正苦于以下问题:C++ operations::texture_mag_filter方法的具体用法?C++ operations::texture_mag_filter怎么用?C++ operations::texture_mag_filter使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类operations
的用法示例。
在下文中一共展示了operations::texture_mag_filter方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
rendered_textures(GLsizei tex_side)
{
for(GLuint i=0; i<2u; ++i)
{
texture_name tex = texs[i];
gl.active_texture(GL.texture0+i);
gl.bind(GL.texture_2d, tex);
gl.texture_min_filter(GL.texture_2d, GL.linear);
gl.texture_mag_filter(GL.texture_2d, GL.linear);
gl.texture_image_2d(
GL.texture_2d,
0,
GL.rgb,
tex_side, tex_side,
0,
GL.rgb,
GL.unsigned_byte,
const_memory_block()
);
renderbuffer_name rbo = rbos[i];
gl.bind(GL.renderbuffer, rbo);
gl.renderbuffer_storage(
GL.renderbuffer,
GL.depth_component,
tex_side, tex_side
);
framebuffer_name fbo = fbos[i];
gl.bind(GL.draw_framebuffer, fbo);
gl.framebuffer_texture_2d(
GL.draw_framebuffer,
GL.color_attachment0,
GL.texture_2d,
tex, 0
);
gl.framebuffer_renderbuffer(
GL.draw_framebuffer,
GL.depth_attachment,
GL.renderbuffer,
rbo
);
gl.viewport(tex_side, tex_side);
gl.clear(GL.color_buffer_bit);
}
gl.bind(GL.draw_framebuffer, default_framebuffer);
gl.bind(GL.renderbuffer, no_renderbuffer);
}
示例2: init
void init(const texture_image_file& image_data)
{
gl.bind(GL.texture_2d, *this);
gl.texture_min_filter(GL.texture_2d, GL.nearest);
gl.texture_mag_filter(GL.texture_2d, GL.nearest);
gl.texture_wrap(
GL.texture_2d,
GL.texture_wrap_s,
GL.repeat
);
gl.texture_image_2d(GL.texture_2d, image_data.spec());
}
示例3: vs
//.........这里部分代码省略.........
"in vec2 vertCoord;\n"
"out vec4 fragColor;\n"
"void main(void)\n"
"{\n"
" vec2 z = vec2(0.0, 0.0);\n"
" vec2 c = vertCoord;\n"
" int i = 0, max = 256;\n"
" while((i != max) && (distance(z, c) < 2.0))\n"
" {\n"
" vec2 zn = vec2(\n"
" z.x * z.x - z.y * z.y + c.x,\n"
" 2.0 * z.x * z.y + c.y\n"
" );\n"
" z = zn;\n"
" ++i;\n"
" }\n"
" float a = float(i)/float(max);\n"
" fragColor = texture(gradient, a+sqrt(length(c))*0.1);\n"
"} \n"
));
fs.compile();
prog.attach(vs);
prog.attach(fs);
prog.link();
gl.use(prog);
gl.query_location(offset_loc, prog, "Offset");
gl.query_location(scale_loc, prog, "Scale");
gl.uniform(offset_loc, offset_x, offset_y);
gl.bind(vao);
GLfloat position_data[4*2] = {
-1.0f, -1.0f,
-1.0f, 1.0f,
1.0f, -1.0f,
1.0f, 1.0f
};
gl.bind(GL.array_buffer, positions);
gl.buffer_data(GL.array_buffer, position_data, GL.static_draw);
vertex_attrib_location va_p;
gl.query_location(va_p, prog, "Position");
gl.vertex_array_attrib_pointer(
va_p,
2, GL.float_,
false, 0, nullptr
);
gl.enable_vertex_array_attrib(va_p);
GLfloat coord_data[4*2] = {
-1.0f, -1.0f,
-1.0f, 1.0f,
1.0f, -1.0f,
1.0f, 1.0f
};
gl.bind(GL.array_buffer, coords);
gl.buffer_data(GL.array_buffer, coord_data, GL.static_draw);
vertex_attrib_location va_c;
gl.query_location(va_c, prog, "Coord");
gl.vertex_array_attrib_pointer(
va_c,
2, GL.float_,
false, 0, nullptr
);
gl.enable_vertex_array_attrib(va_c);
GLfloat gradient_data[8*3];
for(int i=0; i<8*3; ++i)
{
gradient_data[i] = (std::rand() % 10000) / 10000.f;
}
gl.bind(GL.texture_1d, gradient);
gl.texture_min_filter(GL.texture_1d, GL.linear);
gl.texture_mag_filter(GL.texture_1d, GL.linear);
gl.texture_wrap(
GL.texture_1d,
GL.texture_wrap_s,
GL.repeat
);
gl.texture_image_1d(
GL.texture_1d,
0, GL.rgb,
8,
0, GL.rgb,
GL.float_,
const_memory_block{gradient_data}
);
gl.disable(GL.depth_test);
}