Guide
-
[openAL] #6. Guide 읽기 - 4 [에러 핸들링]개발일지 2021. 10. 8. 13:41
에러 핸들링 OpenAL의 에러는 언제든지 alGetError로 확인할 수 있다. alGetError는 호출됐을때 OpenAL의 에러를 초기화한다. 따라서 OpenAL을 사용하며 모든 중요한 단계에서는 가장 먼저 alGetError를 호출해 주는 것이 일반적이다. 그 후 중요한 동작이 끝난 후, alGetError로 에러를 확인해주면 된다. 에러코드의 종류는 아래와 같다. 에러코드 설명 AL_NO_ERROR 현재 에러 없음. AL_INVALID_NAME bad name(ID)가 함수에 들어옴. AL_INVALID_ENUM 유효하지 않은 enum value가 함수에 들어옴 AL_INVALID_VALUE 유효하지 않는 값이 함수에 들어옴 AN_INVALID_OPERATION 요청된 동작이 유효하지 않음 AL..
-
[openAL] #5. Guide 읽기 - 3 [소스 스트리밍 및 도플러 효과]개발일지 2021. 10. 8. 13:28
https://www.openal.org/documentation/OpenAL_Programmers_Guide.pdf 소스에 버퍼 올리기 (Queuing) 끊김 없이 연속으로 음원을 streaming 하기 위해서는 버퍼를 queuing 하는 것이 필요하다. 버퍼를 queuing 하기 위해서는 가장 먼저 버퍼와 소스가 정상적으로 생성되어 있어야한다. 그리고 버퍼를 소스에 붙이기 위해 alSourcei를 사용하지 말아야 한다. 대신, alSourceQueueBuffers와 alSourceUnqueueBuffers가 사용된다. alSourceQueueBuffers를 이용해 Buffer를 소스에 올리고, alSourcePlay로 재생한다. 소스가 재생되는 동안에도 alSourceUnqueueBuffers를 이용..
-
[openAL] #4. Guide 읽기 - 2개발일지 2021. 10. 7. 20:02
https://www.openal.org/documentation/OpenAL_Programmers_Guide.pdf 리스너 설정 모든 context마다 자동으로 한개의 리스너가 생성된다. alListener[f, 3f, fv, i]와 alGetListener[f, 3f, fv, i] 와 같은 함수들은 리스너를 설정하는데 사용된다. 값 타입 설명 AL_GAIN f, fv master gain 값. (>0). AL_POSITION fv, 3f, iv, 3i X,Y,Z 위치 AL_VELOCITY fv, 3f, iv, 3i 속도 벡터 AL_ORIENTATION fv, iv at와 up벡터로 나타나는 orientation. 리스터 설정 예제 코드 ALfloat listenerPos[] = { 0.f,0.f,0...
-
[openAL] #3. Guide 읽기 - 1개발일지 2021. 10. 7. 16:59
동영상 튜토리얼을 마친 후, 어느 정도 소스가 이해되어 이제 직접 공식 홈페이지에 있는 Guide를 읽어보려고 한다. https://www.openal.org/documentation/OpenAL_Programmers_Guide.pdf Introduction to OpenAL 세 가지 기본 object 가 있음. Buffer, Source, Listener. Buffer - 오디오 데이터를 담고 소스에 붙음. Source - 위치를 형성하고 실제 소리를 재생. 사운드가 어떻게 들리냐는 이 source의 position과 orientation (둘의 차이를 아직은 모르겠음)이 Listener에 대해 상대적으로 어디있느냐에 따라 다르게 들림. Listener - 소리를 받는 object. 시작시 하나 이상의..