Programming/openGL2010. 8. 18. 20:58
openGL은 windows 계열에서는 DirectX에 밀려 못들어 본 사람도 있을지 모르겠지만
실질적인 산업표준이고, 현재로서는 유알한 cross-platform을 지원하는 3D Library 이다.

서점에 가서 책을보다 보니 이상한 약자들이 많아서 일단 조사 고고싱

openGL                - open Graphic Library
openGL ES             - openGL Embeded System
openGL extension      - openGL 3rd party plugins
GLEW                  - openGL Extension Wrangler Library
GLEE                  - openGL Easy Extension library

GLU                   - openGL Utility library
GLUT                  - openGL Utility Toolkit
GLUI                  - openGL User Interface library
GLX                   - openGL extension to the X window system
GLSL                  - openGL Shading Language

모든것의 원흉(?)은 바로 extension 이었는데,
GLX역시 extention 중의 하나로 X window와 연관된 extension 이고, extension은 plugin이다.

[링크 : http://en.wikipedia.org/wiki/OpenGL]
[링크 : http://en.wikipedia.org/wiki/OpenGL_ES]
[링크 : http://en.wikipedia.org/wiki/OpenGL#Extensions]
[링크 : http://en.wikipedia.org/wiki/OpenGL_Extension_Wrangler_Library]
[링크 : http://en.wikipedia.org/wiki/OpenGL_Easy_Extension_library]

[링크 : http://en.wikipedia.org/wiki/OpenGL_Utility_Library]
[링크 : http://en.wikipedia.org/wiki/OpenGL_Utility_Toolkit]
[링크 : http://en.wikipedia.org/wiki/OpenGL_User_Interface_Library]
[링크 : http://en.wikipedia.org/wiki/GLX]
[링크 : http://en.wikipedia.org/wiki/GLSL]




별로 상관은 없을지도 모르지만, openSL은 사운드에 특화된, Sound Library이다.
[링크 : http://en.wikipedia.org/wiki/OpenSL_ES]

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

openGL tutorial  (0) 2011.03.12
openGL, GLU, GLUT 관계  (4) 2011.03.07
openGL - GLUT  (0) 2010.08.26
glBegin() / glEnd()  (3) 2010.08.23
openGL 문서들  (0) 2010.08.22
Posted by 구차니
Programming/Java2010. 8. 18. 00:41
단위 테스트 하면 가장 유명한 녀석은 Junit 이다.
[링크 : http://www.junit.org/]

아무튼, 자바는 안쓰니 C에서 사용가능한 단위 테스트를 찾아보니
glib 에서도 지원하기도 하고, 여러가지 녀석이 있다.

[링크 : http://www.opensourcetesting.org/unit_c.php]
[링크 : http://lethean.pe.kr/2010/02/12/using-glib-test-framework/]

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

Java 에서 파일 목록 엳어오기  (0) 2011.10.29
netbeans 에서 코드 자동정렬  (0) 2011.10.29
Java용 폴더 다이얼로그  (0) 2011.10.28
netbeans IDE  (0) 2010.08.23
java에는 unsigned가 없다고?!  (0) 2009.09.03
Posted by 구차니

[링크 : http://book.daum.net/detail/book.do?bookid=KOR9788955024609]

자바스크립트 관련 내용을 보다가, 생각만큼 DOM 관련 내용은 없어서 대충 넘긴책.
하지만 HTML 관련 내용은 상당히 조리있고 깔끔하고 강력하게 적혀있다.


그리고 처음 알게된 attribute로
style="filter:flip()"
이런 녀석이 있다는걸 처음 알았다.
역시 세상에는 신기한게 많아 -ㅁ-


[링크 : http://www.w3schools.com/Css/css_image_transparency.asp]
[링크 : http://msdn.microsoft.com/en-us/library/ms532847%28VS.85%29.aspx]
Posted by 구차니
한참을 고심하다가, 검색어를 바꾸니 떡! 하고 나온녀석 OTL

Getting a text node from the table

This example introduces two new DOM attributes. First it uses the childNodes attribute to get the list of child nodes of mycel. The childNodes list includes all child nodes, regardless of what their name or type is. Like getElementsByTagName(), it returns a list of nodes. The differences are that (a) getElementsByTagName() only returns elements of the specified tag name; and (b) getElementsByTagName() returns descendants at any level, not just immediate children. Once you have the returned list, use [x] method to retrieve the desired child item. This example stores in myceltext the text node of the second cell in the second row of the table. Then, to display the results in this example, it creates a new text node whose content is the data of myceltext and appends it as a child of the <body> element.

If your object is a text node, you can use the data attribute and retrieve the text content of the node.
mybody      = document.getElementsByTagName("body")[0];
mytable = mybody.getElementsByTagName("table")[0];
mytablebody = mytable.getElementsByTagName("tbody")[0];
myrow = mytablebody.getElementsByTagName("tr")[1];
mycel = myrow.getElementsByTagName("td")[1];

// first item element of the childNodes list of mycel
myceltext=mycel.childNodes[0];

// content of currenttext is the data content of myceltext
currenttext=document.createTextNode(myceltext.data);
mybody.appendChild(currenttext);

Getting an attribute value

At the end of sample1 there is a call to setAttribute on the mytable object. This call was used to set the border property of the table. To retrieve the value of the attribute, use the getAttribute method:

mytable.getAttribute("border");

[링크 : https://developer.mozilla.org/en/traversing_an_html_table_with_javascript_and_dom_interfaces]

Posted by 구차니
onload는 페이지가 다 읽혀진뒤에 불리워지는 핸들러이고
onresize는 페이지 크기 조절시
onblur는 특정 컨트롤의 포커스를 잃을시 발동되는(?) 핸들러라고 한다.

onafterprint
onbeforeprint
onbeforeunload
onblur
onerror
onfocus
onhashchange
onhelp
onload
onmessage
onresize
onscroll
onunload

2010/07/20 - [Programming/Javascript] - javascript 객체출력

[링크 : http://koxo.com/lang/js/event/jsList.html]
    [링크 : http://koxo.com/lang/js/event/onblur.html]
Posted by 구차니
자바 스크립트 관련 책을 보다보니
innerHTML은 브라우저 별로 지원은 하지만, 웹 표준은 아니므로 DOM 관련 함수를 쓰라고 추천하고 있다.
하지만 막상 검색을 해보니, 성능측면에서 DOM 보다는 innerHTML을 추천하는 내용들이 많이 나온다.

아무튼,
"대규모로 조작을 해야 한다면 innerHTML에 한번에 업데이트 하는 것도 고려할만 하다.
하지만 내용이 많지 않을경우에는 DOM을 하는것이 좋다."
라는 것이 결론.

[링크 : http://forums.mozilla.or.kr/viewtopic.php?p=32382]
[링크 : http://firejune.com/976&stag=innerHTML]
[링크 : http://trend21c.tistory.com/929]
Posted by 구차니
getElementaryByTagName() 함수를 사용하면 HTML DOM 에서 특정 tag에 대해서 받아올수 있다.
그리고 이 함수는 NodeList 를 돌려준다.
NodeList는 Node의 배열도 아니고 먼가 희한한 방법으로 접근을 한다.

x = document.getElementsByTagName("td");
document.write(x.item(i).nodeName);

이렇게 하면 TD 태그로 받아왔으므로, nodeName은 TD가 리턴된다.
한글2010 에서 작성한 표는 <P> 태그로 쌓여 있는데 그런 이유로 NULL 값이 나오는것으로 생각된다.


Posted by 구차니
가장 많이 쓰이는 녀석같은데 은근히 쓰기가 까다롭다 ㄱ-

Syntax
window.open(URL,name,specs,replace)

[링크 : http://www.w3schools.com/jsref/met_win_open.asp]
위에 이름은 그냥 이름이고, 새로열린 창 내에서의 식별 번호이다.
즉, parent 가 되는 쪽에서는 name 으로 제어를 할수없다.

Wremote = window.open('', 'YourRemote', szoptions);
if(Wremote != null)
{
  if(Wremote.opener == null)
  {
    Wremote.opener = self;
  };
  Wremote.location.href = 'example6-remote.htm';
};

[링크 : http://www.chipchapin.com/WebTools/JavaScript/index.html]
    [링크 : http://www.chipchapin.com/WebTools/JavaScript/example2-01.html]

만약에 제어를 해야 한다면,
위와 같이 창이름을 변수로 주고 windows.open() 메소드의 return 값을 저장하면 된다.


Definition and Usage

The opener property returns a reference to the window that created the window.
When opening a window with window.open(), you can use this property from the destination window to return details of the source (parent) window.
Coding Tip: window.opener.close() will close the source (parent) window.

[링크 : http://www.w3schools.com/jsref/prop_win_opener.asp]
이 값이 parent 윈도우의 값을 지정해주는 것으로 생각된다.
Posted by 구차니

최상위객체는 window 하나뿐이고, 그 아래에 파생되는 객체들이 존재한다.
하지만 최상위객체 지칭인 "window."를 생략하고 사용하므로 얼핏보기에는
총 6개의 최상위객체가 있는 것으로 생각될수도 있다.

Browser Objects Reference

The references describe the properties and methods of each object, along with examples.


[링크 : http://www.w3schools.com/jsref/default.asp]

Window Object Properties

Property Description
document Returns the Document object for the window (See Document object)
history Returns the History object for the window (See History object)
location Returns the Location object for the window (See Location object)
navigator Returns the Navigator object for the window (See Navigator object)
screen Returns the Screen object for the window (See Screen object)

[링크 : http://www.w3schools.com/jsref/obj_window.asp]


Posted by 구차니
document.keydown 이라는 녀석에 등록을 하면
이벤트 핸들러로 등록이 되어 후킹을 하는 것으로 보인다.

function processShortcut(event) {
            if (isIE)
        {
            event = window.event;
            event.target = event.srcElement;
        }
   
        if (event.altKey || event.ctrlKey)
            return;
        switch (event.target.nodeName) {
            case "INPUT":
            case "SELECT":
            case "TEXTAREA":
                return;
        }
        switch (event.keyCode) {
            case 81: //Q

                window.location = "/admin";
                break;
            case 83: //S
                window.location = "?page=2";
                break;
            case 90: //Z
                window.location = "#recentEntries";
                break;
            case 88: //X
                window.location = "#recentComments";
                break;
            case 67: //C
                window.location = "#recentTrackback";
                break;
        }
    }
    document.onkeydown = processShortcut;



2010.07.27 추가
테스트를 해보니 무조건 대문자로 받아들이고, 'Q' 나 'q' 이런식의 값은 인식을 못하는 것으로 보인다.
괜히 위에 case 81: 이런식으로 한게 아니구나 ㅠ.ㅠ
Posted by 구차니