Blender  V3.3
COM_SetVectorOperation.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2011 Blender Foundation. */
3 
4 #pragma once
5 
7 
8 namespace blender::compositor {
9 
15  private:
16  struct {
17  float x;
18  float y;
19  float z;
20  float w;
21  } vector_;
22 
23  public:
28 
29  const float *get_constant_elem() override
30  {
31  return reinterpret_cast<float *>(&vector_);
32  }
33 
34  float getX()
35  {
36  return vector_.x;
37  }
38  void setX(float value)
39  {
40  vector_.x = value;
41  }
42  float getY()
43  {
44  return vector_.y;
45  }
46  void setY(float value)
47  {
48  vector_.y = value;
49  }
50  float getZ()
51  {
52  return vector_.z;
53  }
54  void setZ(float value)
55  {
56  vector_.z = value;
57  }
58  float getW()
59  {
60  return vector_.w;
61  }
62  void setW(float value)
63  {
64  vector_.w = value;
65  }
66 
70  void execute_pixel_sampled(float output[4], float x, float y, PixelSampler sampler) override;
71 
72  void determine_canvas(const rcti &preferred_area, rcti &r_area) override;
73 
74  void set_vector(const float vector[3])
75  {
76  setX(vector[0]);
77  setY(vector[1]);
78  setZ(vector[2]);
79  }
80 };
81 
82 } // namespace blender::compositor
void determine_canvas(const rcti &preferred_area, rcti &r_area) override
void execute_pixel_sampled(float output[4], float x, float y, PixelSampler sampler) override
depth_tx sampler(1, ImageType::FLOAT_2D, "combined_tx") .sampler(2
ccl_global KernelShaderEvalInput ccl_global float * output