본문 바로가기

OpenGL - mix() 함수 OpenGL에서 자주 vec4 p1 = mix(gl_in[0].gl_Position, gl_in[1].gl_Position, gl_TessCoord.x); 이런식의 코드를 자주 접했을 수 있다. 여기서 mix는 Reference문서를 보면 mix — linearly interpolate between two values 이렇게 나와있다. 뜻은 두 값을 선형보간한다. 선형 보간이란 끝점의 값이 주어졌을 때 그 사이에 위치한 값을 추정하기 위하여 직선 거리에 따라 선형적으로 계산하는 방법 이다. 그니까 저 코드는 gl_in[0].gl_Position과 gl_in[1].gl_Position사이의 gl_TessCoord.x의 위치를 추정한 뒤 p1이라는 백터에 넣은 것이다. 위치를 추정하기 위한 계산법은 x X..
iOS OpenGL ES를 통한 우주구현 (1) - 시작하며 제가 요즘 iOS을 공부하고 있고 디자인에 맞는 앱을 제작하기에는 기본 뷰들로는 디자인을 따라 만들기 턱없이 힘들어 커스텀 뷰들을 자주 만들게 됩니다. 근데 그럴 때마다 CGContext를 이용해서 직접 계산을 통해 그리곤 하지만 그때마다 머리에서 계산이 안되는 제가 답답하고, 또 평소에 그래픽 랜더링 관련으로 관심이 있어서 이렇게 무턱대고 큰 프로젝트를 시작하고, 천천히 공부하면서 기록하고 목표에 도달하려고합니다. 제 코드는 GitHub : https://github.com/sss989870/iOS_OpenGL_Space 에 모두 업로드 하려고 합니다. 아주 천천히 진행되는 프로젝트입니다.
Swift 프로토콜(protocol)과 Java 인터페이스(interface) 차이 Swift 언어를 공부하면서 Swift는 OOP(Object Oriented Programming)이 아닌 Protocol Oriented Programming이란 내용을 듣고 Protocol을 공부하면서 자바의 Interface와 거의 똑같은 거 아닌가? 하는 생각이 들어서 Protocol을 Interface와 다른 점이 뭔지 공부하며 안것들을 정리 해 보았습니다. 1. Swift의 Protocol은 파라미터에 기본 값을 지정할 수 없다. 먼저 자바의 Interface는public interface TestInterface { int number = 100; int getNumber(); void setNumber(int num); } 이런 식으로 선언을 하여도 에러가 나지 않습니다. 하지만, Swif..
iOS Keyboard 상단에 Done(완료) 버튼 추가하기 이번 포스팅은 iOS에서 return 키에 Done이 아닌 사진과 같이 Done버튼을 추가하는 방법에 대해 포스팅하겠습니다. iOS에서는 안드로이드와는 달리 뒤로가기 키가 없습니다. 그래서 키보드가 보여지고 키보드를 가리기 위한 따로 처리를 해야합니다. 그래서 return 키를 Done으로 만들고 눌렸을 시에 키보드를 없애는 self.view.endEditing(true) 를 실행시켜서 키보드를 없애는데. 만약에 입력해야하는 길이가 여러줄이라 return키가 다음 줄로 넘기는 일을 해야한다거나, 다음 edit으로 넘어가는 등 키보드를 없애는 일 말고 다른 일을 해야하는 경우가 있습니다. 그러면 return 키 말고 다른 방법으로 키보드를 없애야합니다. 그 중 한 방법인 키보드가 띄어질 때 키보드 위에 V..
Swift dynamic Swift에서는 다양한 키워드들이 있습니다. 그 중 dynamic이라는 키워드에 대해 알아봅시다. dynamic은 멤버 선언 시에 함께 사용됩니다. 예로,dynamic var name = "Alice"이런식으로 사용이 됩니다. 이렇게 선언된 멤버는 Objective-C 런타임을 사용하여 항상 동적으로 디스패치 되며 해당 멤버는 컴파일러에 의해 인라인되거나 가상화 되지 않습니다. 쉽게 말을 하면 해당 멤버를 Objective-C 코드나 클래스로 속성이나 메소드에 사용 될 수 있습니다. dynamic 키워드는 Objective-C 기본 클래스에 Swift 클래스를 하위클래스로 만들 때 사용합니다.