'OpenGL'에 해당되는 글 22건

  1. 2011.11.12 GLSL 관련 링크
  2. 2011.09.30 glEnable() / glDisable()
  3. 2011.09.30 glGet()
  4. 2011.09.25 openGL로 싸인곡선 그리기(sin wave) 5
  5. 2011.09.07 ubuntu 에서 openGL 프로그래밍하기
  6. 2011.05.13 glutIdleFunc
  7. 2011.05.06 openGL 좌표계
  8. 2011.05.03 openGL - DoF 2
  9. 2011.05.01 직교좌표계와 원근좌표계 전환하기
  10. 2011.04.05 glViewport
Programming/openGL2011. 11. 12. 21:27
GLSL 샘플 코드라는데..
ARB와 openGL 2.0 버전과 차이점은 먼지 공부할게 많은듯 -_-

[링크 : http://www.lighthouse3d.com/tutorials/glsl-tutorial/setup-for-glsl-example/]

----
2011.1120 추가
Intel 945에서는 ARB 버전으로 해봐도 안된다 -_-
[링크 : http://lighthouse3d.com/wptest/wp-content/uploads/2011/03/glutglsl.zip]
-----
GLEW
[링크 : http://glew.sourceforge.net/]

공식 glsl 사이트
[링크 : http://www.opengl.org/documentation/glsl/]

쉐이더 개발 프로그램
[링크 : http://www.opengl.org/sdk/tools/ShaderDesigner/] Shader Designer
[링크 : http://developer.amd.com/archive/gpu/rendermonkey/pages/default.aspx] render monkey

디버거 - glslDevil 

[링크 : http://cumbia.informatik.uni-stuttgart.de/glsldevil/]
    [링크 : http://cloudlucifer.tistory.com/entry/GLSL-디버거-발견]


튜토리얼
[링크 : http://zach.in.tu-clausthal.de/teaching/cg_literatur/glsl_tutorial/index.html]
[링크 : http://www.lighthouse3d.com/opengl/glsl/]
[링크 : http://www.clockworkcoders.com/oglsl/tutorials.html]

용어정리
ARB - OpenGL Architecture Review Board 
[링크 : http://en.wikipedia.org/wiki/OpenGL_ARB ]

'Programming > openGL' 카테고리의 다른 글

GLSL 함수목록 정리  (0) 2011.11.20
GLSL 은.. intel 내장형으로는 무리?  (0) 2011.11.19
gluUnProject / glRenderMode(GL_SELECT)  (0) 2011.10.19
glNormal()  (0) 2011.10.18
glut Menu 관련 함수들  (0) 2011.10.10
Posted by 구차니
Programming/openGL2011. 9. 30. 12:32
void glEnablei(GLenum cap, GLuint index);
void glDisablei(GLenum cap, GLuint index);

glGet()에서 빼올수 있다는건 다른데서 설정을 하기 때문인데
이러한 설정들은 glEnable() / glDisable()을 통해 이루어진다. 


[링크 : http://www.opengl.org/sdk/docs/man/xhtml/glEnable.xml]
2011/09/30 - [Programming/openGL] - glGet() 

'Programming > openGL' 카테고리의 다른 글

GLUT 키보드 콜백 함수 총정....리?  (2) 2011.10.02
GLUI  (0) 2011.09.30
glGet()  (0) 2011.09.30
glGet() 함수 이용하기  (0) 2011.09.28
GLUT keyboard callback function  (0) 2011.09.27
Posted by 구차니
Programming/openGL2011. 9. 30. 12:08
void glGetBooleanv( GLenum   pname, GLboolean *   params);
void glGetDoublev( GLenum   pname, GLdouble *   params);
void glGetFloatv( GLenum   pname, GLfloat *    params);
void glGetIntegerv( GLenum   pname, GLint *   params);

glGet()의 인자들만 추려내보니 엄청 많다는걸 새삼 깨닫는중
아래의 인자들은 /usr/include/GL/gl.h 에 포함되어 있다.

시간되면 형(type)이랑 리턴되는 변수 갯수에 따라서 정리 해야할듯.
 

'Programming > openGL' 카테고리의 다른 글

GLUI  (0) 2011.09.30
glEnable() / glDisable()  (0) 2011.09.30
glGet() 함수 이용하기  (0) 2011.09.28
GLUT keyboard callback function  (0) 2011.09.27
openGL로 싸인곡선 그리기(sin wave)  (5) 2011.09.25
Posted by 구차니
Programming/openGL2011. 9. 25. 22:02
오랫만에 하려니 sin() 함수가 radian 값을 받는것도 깜박잊고 꽤나 헤매게 만드네..

   
#include "GL/gl.h"
#include "GL/glu.h"
#include "GL/glut.h"
#include "math.h"

static int year = 0, day = 0;

void display(void)
{
        int temp;
        glClear(GL_COLOR_BUFFER_BIT);
        glColor3f(1.0, 1.0, 1.0);

        glPushMatrix();
                glBegin(GL_POINT);
                for(temp = 0; temp < 360; temp++)
                {   
                        glVertex3f(0.01*temp - 2,sin(3.1415927/180*temp),0);
                }   
                glEnd();
        glPopMatrix();

        glutSwapBuffers();
}

void reshape(int w, int h)
{
        glViewport(0, 0, (GLsizei) w, (GLsizei) h); 
        glMatrixMode(GL_PROJECTION);
                glLoadIdentity();
                gluPerspective(60.0, (GLfloat) w/(GLfloat) h, 1.0, 20.0);
    
        glMatrixMode(GL_MODELVIEW); //GL_PROJECTION
                glLoadIdentity();
                gluLookAt(0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
}

void keyboard(unsigned char key, int x, int y)
{
        switch (key)
        {   
          default:
                  break;
        }   
}

int main(int argc, char** argv)
{
        glutInit(&argc, argv);
        glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
        glutInitWindowSize(500, 500);
        glutInitWindowPosition(100, 100);
        glutCreateWindow(argv[0]);

        glClearColor(0.0, 0.0, 0.0, 0.0);
        glShadeModel(GL_FLAT); //GL_SMOOTH

        glutDisplayFunc(display);
        glutReshapeFunc(reshape);
        glutKeyboardFunc(keyboard);
        glutMainLoop();
        return 0;
}

'Programming > openGL' 카테고리의 다른 글

glGet() 함수 이용하기  (0) 2011.09.28
GLUT keyboard callback function  (0) 2011.09.27
webGL  (0) 2011.09.24
depth buffer  (0) 2011.09.02
glGenLists  (0) 2011.06.09
Posted by 구차니
Linux/Ubuntu2011. 9. 7. 21:02
freeglut3-dev의 상콤한 설정

1) sudo apt-get update 
2) sudo apt-get install build-essential
3) sudo apt-get install freeglut3-dev

[링크 : http://ubuntuforums.org/showthread.php?t=345177



colinux 에서 freegult를 설치하고 예제를 컴파일 하여 실행한 화면
공부용으로는 colinux + openGL도 썩 나쁘진 않은듯 하다.
[링크 : http://www.opengl.org/resources/code/samples/glut_examples/examples/examples.html]

undefined reference to `gluOrtho2D' 해결법은
-lGLU
[링크 : http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=273312

'Linux > Ubuntu' 카테고리의 다른 글

Ubuntu Desktop 64bit on Xeon Server (nocona) 3.0Ghz x 2  (2) 2011.09.17
Ubuntu 10.04 LTS on Xeon(nocona) 2CPU / ATI Rage XL 설치 실패  (0) 2011.09.13
update-manager  (0) 2011.06.21
motd - Message of The Day  (0) 2011.06.07
apt-get 관련  (0) 2011.06.05
Posted by 구차니
Programming/openGL2011. 5. 13. 20:41
openGL 로고 예제를 보다보니 idle 이라는 함수가 있는데
별다른 건 없는데 애니메이션이 되길래 찾아봤더니

말그대로 idle 일때 호출이 된다는 녀석
어떻게 보면 idle 간의 시간을 역산해서 FPS를 뿌려주면 될듯?

[링크 : http://www.opengl.org/resources/libraries/glut/spec3/node63.html]


 

'Programming > openGL' 카테고리의 다른 글

depth buffer  (0) 2011.09.02
glGenLists  (0) 2011.06.09
openGL 좌표계  (0) 2011.05.06
openGL - DoF  (2) 2011.05.03
직교좌표계와 원근좌표계 전환하기  (0) 2011.05.01
Posted by 구차니
Programming/openGL2011. 5. 6. 00:04

'Programming > openGL' 카테고리의 다른 글

glGenLists  (0) 2011.06.09
glutIdleFunc  (0) 2011.05.13
openGL - DoF  (2) 2011.05.03
직교좌표계와 원근좌표계 전환하기  (0) 2011.05.01
glutReshapeWindow() 는 크기 변화가 없으면 안그려 OTL  (2) 2011.04.24
Posted by 구차니
Programming/openGL2011. 5. 3. 07:32
DoF는 Depth of Field로 통상 심도라고도 표현한다.(아니면 말구 -_-)
화면에 있어 어느정도 까지 촛점이 제대로 잡히는지 에 대한 수치로

생각치도 못하게 motion blur 쪽과 유사한 방법으로 openGL에서 DoF를 표현한다.
어짜피 특정 거리 이상은 촛점을 흐리게 해주면 되니,
움직이면서 흐리게 되나 거리로 흐리게 되나 결론은 "번지게" 하는 것이므로
어쩌면 당연히 동일한 함수를 이용하는 걸지도 모르겠다.

[링크 : http://www.opengl.org/resources/code/samples/advanced/advanced97/notes/node87.html]
[링크 : http://www.opengl.org/resources/code/samples/glut_examples/advanced/advanced.html]
    [링크 : http://www.opengl.org/resources/code/samples/glut_examples/advanced/field.c]
[링크 : http://glprogramming.com/red/chapter10.html]
[링크 : http://www.opengl.org/sdk/docs/man/xhtml/glAccum.xml]


  



'Programming > openGL' 카테고리의 다른 글

glutIdleFunc  (0) 2011.05.13
openGL 좌표계  (0) 2011.05.06
직교좌표계와 원근좌표계 전환하기  (0) 2011.05.01
glutReshapeWindow() 는 크기 변화가 없으면 안그려 OTL  (2) 2011.04.24
glViewport  (0) 2011.04.05
Posted by 구차니
Programming/openGL2011. 5. 1. 11:40
Orthogonal 과 Perspective 를 오가는 방법은 blender나 3dmax에서는 참쉬운데..
openGL 에서는 어떻게 구현하나 검색을 하다보니
glOrthoglFrustm을 바꾸어 주기만 하면 간단하게 해결된다는 글을 발견!
실험을 해보았지만 depth의 문제인지 마음처럼 효과가 나타나지는 않는듯.. ㅠ.ㅠ

[링크 : http://stackoverflow.com/questions/5765309/converting-orthogonal-camera-to-perspective-opengl]
[링크 : http://www.songho.ca/opengl/gl_transform.html]

void glOrtho( GLdouble   left,  GLdouble   right,  GLdouble   bottom,  GLdouble   top,
GLdouble   nearVal,  GLdouble   farVal);
void glFrustum( GLdouble   left,  GLdouble   right,  GLdouble   bottom,  GLdouble   top,
  GLdouble   nearVal,  GLdouble   farVal); 

[링크 : http://www.opengl.org/sdk/docs/man/xhtml/glFrustum.xml 

'Programming > openGL' 카테고리의 다른 글

openGL 좌표계  (0) 2011.05.06
openGL - DoF  (2) 2011.05.03
glutReshapeWindow() 는 크기 변화가 없으면 안그려 OTL  (2) 2011.04.24
glViewport  (0) 2011.04.05
glFrustum - 절두체  (6) 2011.03.30
Posted by 구차니
Programming/openGL2011. 4. 5. 21:08
솔찍히 어떻게 변화하는지 이해를 못한 함수중에 하나..

원본 이미지


glViewport를 사용하지 않고 창의 크기를 변화시켰을 경우



glViewport를 사용하고 창의 크기를 변화시켰을 경우



증상은 일단 접어두고, 
glViewport는 말그대로 뷰포트의 좌표를 설정한다.
glutReshapeFunc는 윈도우의 크기가 변화될 때 불려지는
callback 함수를 등록하는 함수로 변화된 창의 넓이와 높이가 전해진다.

기본적으로 glViewport의 x,y는 좌측 하단의 좌표를 의미하며 (0,0)을 일반적으로 사용한다.
즉 윈도우 좌표계를 설정하는 것으로 1사분면의 좌표를 따른다.

void glutReshapeFunc(void (*func)(int width, int height));
void glViewport(GLint x, GLint y, GLsize iwidth, GLsize iheight);

[링크 : http://www.opengl.org/documentation/specs/glut/spec3/node48.html]
[링크 : http://www.opengl.org/sdk/docs/man/xhtml/glViewport.xml]
 


---
2011.10.06 추가
glutReshapeFunc() 의 기본 callback 함수에는
glViewport(0, 0, (GLsizei) w, (GLsizei) h); 가 정의 되어 있다고 한다.

그리고 glViewport() 함수는 1사분면 처럼 좌측하단이 (0.0) 이다.
X, Y Specify the lower left corner of the viewport rectangle in pixels. The default is (0,0).

그리고  viewport는 화면을 분할하는 데에도 사용할수 있다.
[링크 : 
http://ivis.cwnu.ac.kr/wiki/index.php/MultipleViewport_Ex2] 
Posted by 구차니