[openGL]오픈지엘을 이용한 2차원 페인팅 프로그램(플로우 차트 포함) - 2D Painter
*달*
다운로드
장바구니
소개글
★ [openGL]오픈지엘을 이용한 2차원 페인팅 프로그램 - 2D Painter▶ [openGL] 프로그램 코딩에 대해 각각 주석문을 달았음
▶ Flow Chart(흐름도) : 프로그램의 플로우차트를 만들었음
▶ 실행화면 포함
★ 레포트 구성 파일 : - openGL 2D 페이팅.hwp
(openGl_2D.zip) - 플로우 차트.ppt
- OpenGL_Lib.zip
★ 실행관련답변 : 실행이 않된다는 분들이 계신데.... 반드시 라이브러리를 설치히시기
바랍니다..
--> 참조파일) OpenGL_Lib.zip
-->> 설치방법은 파일이 포함되어있습니다.
컴파일 실행환경
Microsoft visual c++,Microsoft visual studio.net
압축파일 내 파일목록
openGL 2D 페인팅.hwp
플로우차트.ppt
OpenGL_Lib/GLUT.DLL
OpenGL_Lib/GLUT.H
OpenGL_Lib/GLUT.LIB
OpenGL_Lib/GLUT32.DLL
OpenGL_Lib/GLUT32.LIB
OpenGL_Lib/TEST1.CPP
OpenGL_Lib/설명.txt
플로우차트.ppt
OpenGL_Lib/GLUT.DLL
OpenGL_Lib/GLUT.H
OpenGL_Lib/GLUT.LIB
OpenGL_Lib/GLUT32.DLL
OpenGL_Lib/GLUT32.LIB
OpenGL_Lib/TEST1.CPP
OpenGL_Lib/설명.txt
참고 자료
★ 본문 예시문 ★ - penGL 이용한 2D 페인팅// 헤더 파일
#include <stdlib.h>
#include <glut.h>
#include <math.h>
// 도형별 ID상수 선언
#define NOTDEFINED 0
#define CIRCLE 1
#define CIRCLEPASSIVE 2
#define RECTANGLE 3
#define POLYGONE 4
// 도형이 가지는 핵심속성인 포인트정보와 색상정보를 선언하기 위해 새로운 형을 지정한다.
typedef GLfloat point2[2]; // 하나의 점의 값(x,y)을 가질 수 있는 새로은 형을 정의
typedef GLfloat color3[3]; // 색상정보인 R,G,B 값을 가질 수 있는 새로운 형을 정의
// 각 도형 개체가 가지는 속성을 저장할 구조체를 정의하는 것으로 도형의 색상, 선의 굵기, 채우기 여부에 관한 정보를 포함한다.
struct attributeType{
color3 color; // 색상
int lineWidth; // 선의 굵기
bool fill; // 채우기 여부
};
#define CIRMAX 100 //원의 최대 개수를 100으로 정의
// 원의 정보를 저장할 구조체를 정의하는 것으로 원이 가지는 정보는 선터포인트와 보더포인트, 속성(색상, 선의 굵기, 채우기여부), 원의 인덱스넘버, 작업상태를 나타내는 정보들로 구성된다.
struct circleType {
int drawing; // 현재 진행중인지를 표시: 1: 진행중 0: 완성됨
int curNum; // 현재 원의 인덱스넘버
point2 center[CIRMAX]; // 원의 센테포인트를 저장할 배열
point2 border[CIRMAX]; // 원의 보더포인트를 저장할 배열
attributeType attrib[CIRMAX]; // 원의 속성(색상, 선의 굵기, 채우기여부)
을 저장할 배열
};
// 원의 구조체 변수로 `circle`을 선언하고, drawing, curNum을 0으로 초기화한다.
circleType circle={0,0};
#define RECTMAX 100 // 사각형의 최대 개수를 100으로 정의
// 사각형의 정보를 저장할 구조체를 정의하는 것으로 원이 가지는 정보는 스타트포인트와 엔드포인트, 속성(색상, 선의 굵기, 채우기여부), 사각형의 인덱스넘버, 작업상태를 나타내는 정보들로 구성된다.
struct rectangleType {
int drawing; // 현재 진행중인지를 표시: 1: 진행중 0: 완성
int curNum; // 현재 사각형의 인덱스넘버
point2 start[RECTMAX]; // 사각형의 시작포인트를 저장할 배열
point2 end[RECTMAX]; // 사각형의 끝 포인트를 저장할 배열
attributeType attrib[RECTMAX];// 사각형의 속성(색상, 선의 굵기, 채우기여부)을
.....