computer-graphics-0/programs/labs1_2/src/variants/lab1/variant9.cpp

24 lines
1.3 KiB
C++

#include "bgtu/computer_graphics_lab_work/utilities/shapes/circle.hpp"
#include "../variants.hpp"
#include "../sprite_data.hpp"
#include "common_sprites.hpp"
namespace BGTU::ComputerGraphicsLabWork::Impl::Variants::Lab1 {
template<double z, RendererApi::Color::Transparent c, double outer_radius, double inner_radius, double angle_degrees>
static void _variant8_triangle(Utilities::ZoomedVoxelPainter<BGTU::ComputerGraphicsLabWork::Utilities::DefaultVoxelDrawerCache::VoxelPainterImpl> *frame, SpriteData::ShapeData const *data) {
pos_rotated_polygon_edge<z, c, {outer_radius, angle_degrees}, {inner_radius, angle_degrees + 10}, {inner_radius, angle_degrees - 10}>(frame, data);
}
variant_sprites variant9 = variant_sprites::make_light<
static_centered_circle_edge<3.0, {127, 127, 127}, 1.0>,
_variant8_triangle<2.0, {0, 0, 255}, 1.0, 0.65, 0.0>,
_variant8_triangle<2.0, {0, 0, 255}, 1.0, 0.65, 45.0>,
_variant8_triangle<2.0, {0, 0, 255}, 1.0, 0.65, 90.0>,
_variant8_triangle<2.0, {0, 0, 255}, 1.0, 0.65, 135.0>,
_variant8_triangle<2.0, {0, 0, 255}, 1.0, 0.65, 180.0>,
_variant8_triangle<2.0, {0, 0, 255}, 1.0, 0.65, 225.0>,
_variant8_triangle<2.0, {0, 0, 255}, 1.0, 0.65, 270.0>,
_variant8_triangle<2.0, {0, 0, 255}, 1.0, 0.65, 315.0>,
static_centered_circle_edge<1.0, {0, 0, 255}, 0.5>
>();
}