스터디/OpenGL
[ OpenGL ] 도형 익히기
알 수 없는 사용자
2019. 10. 31. 17:44
( ** 인프런에서 들은 강의 '홍정모의 게임 만들기 연습 문제 패키지'를 통해서 공부한 내용과 연습 문제 풀이입니다. **)
// MyExample2
class MyExample2 : public Game2D
{
private:
void Make_grape(); // 포도 송이 그리는 함수
public:
void update() override
{
// 청포도 만들기
setLineWidth(1);
// 뿌리 부분
beginTransformation();
{
translate(0.0f, 0.45f);
drawFilledBox(Colors::olive, 0.05f, 0.1f);
drawWiredBox(Colors::black, 0.05f, 0.1f);
}
endTransformation();
beginTransformation();
{
translate(0.0f, 0.5f);
drawFilledBox(Colors::olive, 0.5f, 0.05f);
drawWiredBox(Colors::black, 0.5f, 0.05f);
}
endTransformation();
// 첫번째 줄 송이들
beginTransformation();
{
translate(-0.4f, 0.3f);
Make_grape();
translate(0.2f, 0.0f);
Make_grape();
translate(0.2f, 0.0f);
Make_grape();
translate(0.2f, 0.0f);
Make_grape();
translate(0.2f, 0.0f);
Make_grape();
}
endTransformation();
// 두번째 줄 송이들
beginTransformation();
{
translate(-0.3f, 0.12f);
Make_grape();
translate(0.2f, 0.0f);
Make_grape();
translate(0.2f, 0.0f);
Make_grape();
translate(0.2f, 0.0f);
Make_grape();
}
endTransformation();
// 세번째 줄 송이들
beginTransformation();
{
translate(-0.2f, -0.06f);
Make_grape();
translate(0.2f, 0.0f);
Make_grape();
translate(0.2f, 0.0f);
Make_grape();
}
endTransformation();
// 네번째 줄 송이들
beginTransformation();
{
translate(-0.1f, -0.24f);
Make_grape();
translate(0.2f, 0.0f);
Make_grape();
}
endTransformation();
// 다섯번째 줄 송이
beginTransformation();
{
translate(0.0f, -0.42f);
Make_grape();
}
endTransformation();
}
};
void MyExample2::Make_grape()
{
drawFilledCircle(Colors::green, 0.1f);
drawWiredCircle(Colors::black, 0.1f);
}
**** 키워드 : 점과 점 사이의 선 잇기, 도형 그리고 색 채우기 ****