當前位置: 首頁>>代碼示例>>C++>>正文


C++ GPU_stack_link函數代碼示例

本文整理匯總了C++中GPU_stack_link函數的典型用法代碼示例。如果您正苦於以下問題:C++ GPU_stack_link函數的具體用法?C++ GPU_stack_link怎麽用?C++ GPU_stack_link使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了GPU_stack_link函數的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C++代碼示例。

示例1: gpu_shader_seprgb

static int gpu_shader_seprgb(GPUMaterial *mat,
                             bNode *node,
                             bNodeExecData *UNUSED(execdata),
                             GPUNodeStack *in,
                             GPUNodeStack *out)
{
  return GPU_stack_link(mat, node, "separate_rgb", in, out);
}
開發者ID:dfelinto,項目名稱:blender,代碼行數:8,代碼來源:node_shader_sepcombRGB.c

示例2: gpu_shader_curve_vec

static int gpu_shader_curve_vec(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out)
{
	float *array;
	int size;

	curvemapping_table_RGBA(node->storage, &array, &size);
	return GPU_stack_link(mat, "curves_vec", in, out, GPU_texture(size, array));
}
開發者ID:BHCLL,項目名稱:blendocv,代碼行數:8,代碼來源:node_shader_curves.c

示例3: gpu_shader_rgb

static int gpu_shader_rgb(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out)
{
	bNodeSocket *sock= node->outputs.first;
	float *col= ((bNodeSocketValueRGBA*)sock->default_value)->value;
	GPUNodeLink *vec = GPU_uniform(col);

	return GPU_stack_link(mat, "set_rgba", in, out, vec);
}
開發者ID:danielmarg,項目名稱:blender-main,代碼行數:8,代碼來源:node_shader_rgb.c

示例4: gpu_shader_valtorgb

static int gpu_shader_valtorgb(GPUMaterial *mat, bNode *node, bNodeExecData *UNUSED(execdata), GPUNodeStack *in, GPUNodeStack *out)
{
	float *array;
	int size;

	colorband_table_RGBA(node->storage, &array, &size);
	return GPU_stack_link(mat, "valtorgb", in, out, GPU_texture(size, array));
}
開發者ID:244xiao,項目名稱:blender,代碼行數:8,代碼來源:node_shader_valToRgb.c

示例5: node_shader_gpu_subsurface_scattering

static int node_shader_gpu_subsurface_scattering(GPUMaterial *mat, bNode *UNUSED(node), bNodeExecData *UNUSED(execdata), GPUNodeStack *in, GPUNodeStack *out)
{
	if (!in[5].link)
		in[5].link = GPU_builtin(GPU_VIEW_NORMAL);
	else
		GPU_link(mat, "direction_transform_m4v3", in[5].link, GPU_builtin(GPU_VIEW_MATRIX), &in[5].link);

	return GPU_stack_link(mat, "node_subsurface_scattering", in, out);
}
開發者ID:DarkDefender,項目名稱:blender-npr-tess2,代碼行數:9,代碼來源:node_shader_subsurface_scattering.c

示例6: node_shader_gpu_tex_voronoi

static int node_shader_gpu_tex_voronoi(GPUMaterial *mat, bNode *node, bNodeExecData *UNUSED(execdata), GPUNodeStack *in, GPUNodeStack *out)
{
	if (!in[0].link)
		in[0].link = GPU_attribute(CD_ORCO, "");

	node_shader_gpu_tex_mapping(mat, node, in, out);

	return GPU_stack_link(mat, "node_tex_voronoi", in, out);
}
開發者ID:Andrewson3D,項目名稱:blender-for-vray,代碼行數:9,代碼來源:node_shader_tex_voronoi.c

示例7: node_shader_gpu_tex_coord

static int node_shader_gpu_tex_coord(GPUMaterial *mat, bNode *UNUSED(node), bNodeExecData *UNUSED(execdata), GPUNodeStack *in, GPUNodeStack *out)
{
	GPUNodeLink *orco = GPU_attribute(CD_ORCO, "");
	GPUNodeLink *mtface = GPU_attribute(CD_MTFACE, "");

	return GPU_stack_link(mat, "node_tex_coord", in, out,
	                      GPU_builtin(GPU_VIEW_POSITION), GPU_builtin(GPU_VIEW_NORMAL),
	                      GPU_builtin(GPU_INVERSE_VIEW_MATRIX), GPU_builtin(GPU_INVERSE_OBJECT_MATRIX), orco, mtface);
}
開發者ID:244xiao,項目名稱:blender,代碼行數:9,代碼來源:node_shader_tex_coord.c

示例8: node_shader_gpu_output_world

static int node_shader_gpu_output_world(GPUMaterial *mat, bNode *UNUSED(node), bNodeExecData *UNUSED(execdata), GPUNodeStack *in, GPUNodeStack *out)
{
	GPUNodeLink *outlink;

	GPU_stack_link(mat, "node_output_world", in, out, &outlink);
	GPU_material_output_link(mat, outlink);

	return true;
}
開發者ID:DarkDefender,項目名稱:blender-npr-tess2,代碼行數:9,代碼來源:node_shader_output_world.c

示例9: gpu_shader_particle_info

static int gpu_shader_particle_info(GPUMaterial *mat, bNode *UNUSED(node), bNodeExecData *UNUSED(execdata), GPUNodeStack *in, GPUNodeStack *out)
{

	return GPU_stack_link(mat, "particle_info", in, out,
						  GPU_builtin(GPU_PARTICLE_SCALAR_PROPS),
						  GPU_builtin(GPU_PARTICLE_LOCATION),
						  GPU_builtin(GPU_PARTICLE_VELOCITY),
						  GPU_builtin(GPU_PARTICLE_ANG_VELOCITY));
}
開發者ID:flair2005,項目名稱:mechanical-blender,代碼行數:9,代碼來源:node_shader_particle_info.c

示例10: node_shader_gpu_tex_coord

static int node_shader_gpu_tex_coord(GPUMaterial *mat, bNode *UNUSED(node), bNodeExecData *UNUSED(execdata), GPUNodeStack *in, GPUNodeStack *out)
{
	GPUNodeLink *orco = GPU_attribute(CD_ORCO, "");
	GPUNodeLink *mtface = GPU_attribute(CD_MTFACE, "");
	GPUMatType type = GPU_Material_get_type(mat);
	
	if (type == GPU_MATERIAL_TYPE_MESH) {
		return GPU_stack_link(mat, "node_tex_coord", in, out,
		                      GPU_builtin(GPU_VIEW_POSITION), GPU_builtin(GPU_VIEW_NORMAL),
		                      GPU_builtin(GPU_INVERSE_VIEW_MATRIX), GPU_builtin(GPU_INVERSE_OBJECT_MATRIX),
		                      GPU_builtin(GPU_CAMERA_TEXCO_FACTORS), orco, mtface);
	}
	else {
		return GPU_stack_link(mat, "node_tex_coord_background", in, out,
		                      GPU_builtin(GPU_VIEW_POSITION), GPU_builtin(GPU_VIEW_NORMAL),
		                      GPU_builtin(GPU_INVERSE_VIEW_MATRIX), GPU_builtin(GPU_INVERSE_OBJECT_MATRIX), 
		                      GPU_builtin(GPU_CAMERA_TEXCO_FACTORS), orco, mtface);
	}
}
開發者ID:Andrewson3D,項目名稱:blender-for-vray,代碼行數:19,代碼來源:node_shader_tex_coord.c

示例11: node_shader_gpu_layer_weight

static int node_shader_gpu_layer_weight(GPUMaterial *mat, bNode *UNUSED(node), bNodeExecData *UNUSED(execdata), GPUNodeStack *in, GPUNodeStack *out)
{
	if (!in[1].link)
		in[1].link = GPU_builtin(GPU_VIEW_NORMAL);
	else if (GPU_material_use_world_space_shading(mat)) {
		GPU_link(mat, "direction_transform_m4v3", in[1].link, GPU_builtin(GPU_VIEW_MATRIX), &in[1].link);
	}

	return GPU_stack_link(mat, "node_layer_weight", in, out, GPU_builtin(GPU_VIEW_POSITION));
}
開發者ID:lukastoenne,項目名稱:blender,代碼行數:10,代碼來源:node_shader_layer_weight.c

示例12: node_shader_gpu_tex_checker

static int node_shader_gpu_tex_checker(GPUMaterial *mat, bNode *node, bNodeExecData *UNUSED(execdata), GPUNodeStack *in, GPUNodeStack *out)
{
	if (!in[0].link) {
		in[0].link = GPU_attribute(CD_ORCO, "");
		GPU_link(mat, "generated_from_orco", in[0].link, &in[0].link);
	}

	node_shader_gpu_tex_mapping(mat, node, in, out);

	return GPU_stack_link(mat, "node_tex_checker", in, out);
}
開發者ID:DarkDefender,項目名稱:blender-npr-tess2,代碼行數:11,代碼來源:node_shader_tex_checker.c

示例13: node_shader_gpu_tex_magic

static int node_shader_gpu_tex_magic(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out)
{
	NodeTexMagic *tex = (NodeTexMagic*)node->storage;
	float depth = tex->depth;

	if (!in[0].link)
		in[0].link = GPU_attribute(CD_ORCO, "");

	node_shader_gpu_tex_mapping(mat, node, in, out);

	return GPU_stack_link(mat, "node_tex_magic", in, out, GPU_uniform(&depth));
}
開發者ID:vanangamudi,項目名稱:blender-main,代碼行數:12,代碼來源:node_shader_tex_magic.c

示例14: gpu_shader_output

static int gpu_shader_output(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out)
{
	GPUNodeLink *outlink;

	/*if(in[1].hasinput)
		GPU_material_enable_alpha(mat);*/

	GPU_stack_link(mat, "output_node", in, out, &outlink);
	GPU_material_output_link(mat, outlink);

	return 1;
}
開發者ID:mik0001,項目名稱:Blender,代碼行數:12,代碼來源:node_shader_output.c

示例15: node_shader_gpu_tex_gradient

static int node_shader_gpu_tex_gradient(GPUMaterial *mat, bNode *node, bNodeExecData *UNUSED(execdata), GPUNodeStack *in, GPUNodeStack *out)
{
	if (!in[0].link) {
		in[0].link = GPU_attribute(CD_ORCO, "");
		GPU_link(mat, "generated_from_orco", in[0].link, &in[0].link);
	}

	node_shader_gpu_tex_mapping(mat, node, in, out);

	NodeTexGradient *tex = (NodeTexGradient *)node->storage;
	float gradient_type = tex->gradient_type;
	return GPU_stack_link(mat, "node_tex_gradient", in, out, GPU_uniform(&gradient_type));
}
開發者ID:DarkDefender,項目名稱:blender-npr-tess2,代碼行數:13,代碼來源:node_shader_tex_gradient.c


注:本文中的GPU_stack_link函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。