[OpenGL ES] 4. 버퍼 오브젝트(Buffer Object) 알아보기 Buffer ObjectsBuffer Object는 primitive(기본 도형)의 배열을 저장하는데 최적화 되어있으며 두 종류로 구분된다. 첫번째, VBO는 꼭지점 배열을 저장한다.VBO는 어떤 종류의 원본 데이터라도 복사, 저장하기에 Buffer Object를 생성하면 원본 데이터는 삭제해도 된다. 두번째, IBO는 Index(순서) 배열이며, index들은 VBO의 데이터들을 가리킨다.일반적으로 IBO의 데이터 타입은 Glubyte 또는 Glushort이며, IBO를 만드는 과정은 Frame buffer와 Render buffer를 만드는 것과 비슷하다. Buffer Objects Creation GLvoid glGenBu..
[OpenGL ES] 3. 렌더 버퍼(Render Buffers) 이해하기 Render Buffer는 OpenGL ES의 Render로부터 넘어오는 이미지의 임시 저장소다.아래는 frame buffer와 관련된 두 가지 기능이다. 1. GLvoid glGenRenderbuffers (GLsizei n, GLuint* renderbuffers)n : 한 번에 몇 개의 render buffer를 만들 것인가.renderbuffers : 생성된 frame buffer의 번호를 저장할 변수. 하나 이상을 만들 때는 배열의 시작점을 넣음. 2. GLvoid glBindRenderbuffer (GLenum target, GLuint renderbuffer)target : 항상 GL_RENDERBUFFER.frame..
[OpenGL ES] 2. 메쉬, 라인옵션, 프레임 버퍼(Meshe, Lines OptimizationFrame Buffers Meshes and Lines Optimization (메쉬와 라인 옵션) OpenGL ES에서 점point를 그리는(찍는) 방법은 한 가지이지만, 선line과 삼각형triangle을 그리는 방법엔 3가지가 있다. 선을 그리는 방법은 아래다. . normal . strip . loop OpenGL ES에서 삼각형을 (옵션) 그리는 방법 아래다. . normal . strip . fan 어떻게 그리느냐에 따라 속도 향상과 메모리 절약이 가능하다. 지금 다뤄볼 것은 3차원 다각형mesh이다. 여기서는 OpenGL ES 삼각형을 면face이라 부르자. 꼭지점vertex들의 배열을 이용..
[OpenGL ES 1] 자료형과 기본도형 (Primitives) OpenGL ES 강의 시작OpenGL ES 자료형을 살펴보자. OpenGL은 Multi Platform을 지원하고, 특정 벤더에 종속되지 않기에 언어에 따라 자료형이 변경될 수 있다. 가령, C++에서는 float가 32비트이지만, 자바스크립트에서는 16비트다. 이런 차이를 극복하기 위해 OpenGL ES는 자신만의 자료형으로 동작한다. GLfloat, Glint처럼 GL로 시작한다. 1. 8비트 자료형 8비트 자료형 Same C Desc GLbyte char -128 to 127 GLubyte unsigned char 0 to 255 GLchar char -128 to 127 2. 16비트 자료형 16비트 자료형Same CDesc GL..
BouncyCastle 자바 암호화 알고리즘, 3DES 등 예제 [Java강좌] 1. BouncyCastle 꽤 방대한 자바 암호화 알고리즘을 가지고 있는 Bouncycastle 라이브러리입니다. 자세한 정보는 Bouncycastle 홈페이지[링크]에서 확인할 수 있습니다. 일반적으론 Eclipse에서 jar 파일 추가 등으로 간단히 사용할 수 있는데, 이 암호화 알고리즘을 안드로이드 프로젝트에서 사용하려면 압축 파일을 풀고, 프로젝트의 src 폴더 아래에 붙여넣기 한 후, bouncycastle를 사용할 자바 파일에서 import만 해줘야 합니다. 안드로이드에서는, 암호화 알고리즘 중 2중, 3중 Des 알고리즘 사용까지 확인해 봤습니다. 안드로이드에서 사용 시 이런저런 오류가 종종 발생하는데 자세한 ..
OLED LCD 휘도와 명암비 비교 (측정 변환 등) 휘도란 무엇인가? 광도 (Luminous Intensity) - 빛을 발산하는 광원에서 특정한 방향으로 방사되는 광량(단위는 cd(칸델라), 촛불 한 개는 1.067cd) 휘도 (Luminance) : 일정한 범위를 가진 광원 또는 빛의 반사체 표면의 밝기nit(니트) = cd/m^2, 1m^2당 cd의 수치 디스플레이의 휘도는? 각 제품 디스플레이의 평균 휘도 분포 (단위 : nit) LCD TV : 300~500PDP TV : 200~400LCD Monitor : 200~300태블릿 PC : 200~300스마트폰 : 200~700 - 디스플레이의 휘도는 주변의 조도에 따라 상대적으로 밝게 or 어둡게 느껴짐- 사용자의 눈과 각 제품들 간의 거리에 ..
[MFC강좌] NI DAQ, 비주얼 스튜디오 프로젝트 속성 (msvc2012) ※ MFC Visual Studio(비주얼 스튜디오) 2012가 기준이며, NI의 Developer Tools를 설치했다는 가정하에 작성된 포스트입니다. 1. 프로젝트 속성 - 구성 속성 - VC++ 디렉터리 - 포함 디렉터리엔 아래 폴더를 추가 C:\Program Files (x86)\National Instruments\Shared\ExternalCompilerSupport\C\Include C:\Program Files (x86)\National Instruments\NI-IMAQ IO\Include - 라이브러리 디렉터리에 아래 폴더 추가 C:\Program Files (x86)\National Instruments\S..
윈도우 업데이트 후 엑셀 ODBC 에러 (KB4041681, KB4041676, KB4041678) 얼마 전 윈도우 업데이트가 이뤄졌는데, 엑셀 ODBC 쪽으로 많은 변화가 있었습니다. 1. OLEDB 4.0 지원 중지 10월 11일 윈도우 보안 업데이트 이후에 Microsoft.Jet.OLEDB.4.0은 사용하지 못하게 되었습니다. OLEDB 4.0 사용자분들은 Microsoft.ACE.OLEDB.12.0로 교체해야 합니다. (기존) Microsoft.Jet.OLEDB.4.0 (수정) Microsoft.ACE.OLEDB.12.0 2. 기타 오류 시 업데이트 삭제 이번 윈도우 업데이트로 엑셀 ODBC 에러가 많이 발생하고 있습니다. 여러 문제점을 모두 수정하긴 어려우니, 윈도우 업데이트를 삭제하는 것이 ..
스마트폰 악성코드 종류와 안드로이드 메커니즘 8가지 전 세계에서 스마트폰 사용자가 늘어나면서 각종 보안 관련 사고(스마트폰 악성코드 종류)도 증가하고 있습니다. 2004년 당시, 미국에서 15개에 불과했던 모바일 스마트폰 악성코드는 2009년도에 600개로 늘어나는 등, 현재도 증가 추세에 있습니다. 이중 가장 눈에 띄는 스마트폰 악성코드로는 Cabir, Commwarrior Worm, Mabir Worm, FlexiSpy, RedBrowser등이 있으며, 그리고 아이폰에서 가장 중요한 개인 정보만을 빼내 가는 Ikee Worm 등이 있습니다. 현재, 스마트폰은 고성능화가 되어 PC의 기능을 일부 대체하고 있으며, 특히나 기업 및 금융권 서비스 이용이 가능해지면서 개인 신상 정보가 스마트폰 악성코드 종류..
Trusted Platform Module, 스마트폰 보안 기술 TPM 설명, 신뢰 플랫폼 모듈 Trusted Platform Module은 TPM이라 부르며 스마트폰 보안 기술입니다. 모바일 디바이스들의 하드웨어 방식 보안 기술로는 신뢰 컴퓨팅 기술인 TPM(Trusted Platform Module)처럼 칩을 이용하는 방식과 ARM사의 TrustZone 기술처럼 칩이 필요하지 않은 기술이 있습니다. TPM(Trusted Platform Module)은 TCG에 의해 제정된 산업 표준 규격을 기초로 한 보안 칩(security chip)으로, 마이크로 컨트롤러, 암호 엔진, 표준 입출력 인터페이스, 안전한 메모리를 갖췄으며, 공개키, 디지털 인증서, 암복호, RNG, 인증, 보증, 민감한 데이터 보호 ..
[PLC 프로그래밍] 멜섹PLC, MC 프로토콜 분석 C++ 멜섹 PLC 프로그래밍 환경 - Q06HCPU- QJ71E71-100- TCP, 바이너리 통신 기준- MC 프로토콜 3E frame 방식- 멜섹 PLC 프로그래밍 언어 : Qt (C++) 멜섹 PLC 프로그래밍을 위해 Q 시리즈 CPU와 이더넷 모듈을 사용한 간단한 분석 결과이다.이 포스트에서 소개하는 소스 코드는 멜섹 PLC 프로그래밍 C++ 환경에서 그대로 적용해 사용할 수 있다. 3E frame (binary) 멜섹 PLC 프로그래밍 : 보내는 패킷 형태 문서 'MELSEC Communication Protocol.pdf' 477p를 참조하여 3E frame의 바이너리 통신 시 패킷을 구성하는 방법을 알 수 있다. Subheader와 A..
[MFC강좌] dll 만들기, 사용하기, 공유 라이브러리 예제 MFC DLL 만들기, 사용하기 작업 환경 - Windows XP - Visual Studio .NET 2003 MFC DLL 예제 프로젝트 - 프로젝트 : testdllR.zip MFC강좌 1. MFC DLL 만들기 먼저 DLL 파일을 만들어 보겠습니다. 비주얼 스튜디오 버전에 상관없이 템플릿은 똑같다는 점 알아주시고요. DLL을 만드는 것이니 템플릿에서 MFC DLL을 선택합니다. 아래처럼 "공유 MFC DLL을 사용하는 기본 DLL"이라는 형식을 선택합니다. 새로 생성한 MFC강좌 프로젝트에 아래 소스를 삽입하세요. 123456789101112- Header 파일 : extern “C” __declspec() void Test_M(); ..