3d cube picking시 큐브의 어떤면이 선택됐는지 아는방법이 있나요?(opengl es 1.1)

2D, 3D, 다각형, 픽셀 등 게임의 그래픽 프로그래밍에 관한 포럼입니다.

Moderator: 류광

Locked
ozone999
Posts: 3
Joined: 2009-11-26 10:40

3d cube picking시 큐브의 어떤면이 선택됐는지 아는방법이 있나요?(opengl es 1.1)

Post by ozone999 »

( opengl es 1.1 사용하고 있어요~)

3d cube 를 선택하여 어떤면이 클릭됐는지를 찾고 있는데요

지금 하려는 방법은 6면 texture 마다 각각 다른 alpha 값을 주고 glreadpixels 로 선택한 부분의 픽셀데이터의

alpha 값을 얻어와서 어떤 면이 선택된것 인지 찾으려고 하는데요 이방법은 면이 256개 이상인 다면체 로 가게

되면 적용하기 힘들다고 생각이 됩니다~

혹시 더 좋은 편한 방법은 없을까요~!? ㅎㅎ
Zeprod
Posts: 480
Joined: 2006-11-04 16:24
Location: Creaty Networks
Contact:

Post by Zeprod »

픽셀 값을 역 참조하는 것보다, 파이프라인을 따라가면서 반직선 교차 판정을 해보는게 좋을 것 같네요.
세상이 기다리는 나만의 SHOW!
----------------------------------------------
Zeprod 홈 : http://Zeprod.org
Project. Creaty : http://Creaty.net/
Creaty 게임제작 커뮤니티 : http://Creaty.net/game/
----------------------------------------------
ozone999
Posts: 3
Joined: 2009-11-26 10:40

Post by ozone999 »

답변감사합니다

그런데...반직선 교차판정을 해보고 싶었긴 한데...

큐브를 이루는 삼각형 들의 좌표를 얻을수가 없더라구요
(물론 초기좌표는 제가 줬지만 계산된후의 좌표들을요...)

이 삼각형들의 좌표를 얻을려면 파이프라인을 따라가보면서 직접 계산하는 방법밖에 없는것인가요??

아니면 gl~ 함수같은 것은 없을까용~?
Zeprod
Posts: 480
Joined: 2006-11-04 16:24
Location: Creaty Networks
Contact:

Post by Zeprod »

ozone999 wrote:답변감사합니다

그런데...반직선 교차판정을 해보고 싶었긴 한데...

큐브를 이루는 삼각형 들의 좌표를 얻을수가 없더라구요
(물론 초기좌표는 제가 줬지만 계산된후의 좌표들을요...)

이 삼각형들의 좌표를 얻을려면 파이프라인을 따라가보면서 직접 계산하는 방법밖에 없는것인가요??

아니면 gl~ 함수같은 것은 없을까용~?

큐브의 경우에는 삼각형수가 별로 없으니 12개의 삼각형 모두 직선 방정식과 교차판정을 수행해도 될겁니다.

12개 삼각형이 지나는 평면방정식 <-> 마우스를 클릭한 지점부터 시작하는 직선 방정식

이 경우에 교차하는 점들이 나올텐데, 이 점들과 카메라상의 위치를 비교해 가장 가까운 값을 선택하면 3D 상에서 교차하는 점을 알 수가 있습니다.

이 글은 12월 1일 부터 더이상 논의를 할 수 없으므로, Creaty.Net에 이어가도록 하겠습니다.
세상이 기다리는 나만의 SHOW!
----------------------------------------------
Zeprod 홈 : http://Zeprod.org
Project. Creaty : http://Creaty.net/
Creaty 게임제작 커뮤니티 : http://Creaty.net/game/
----------------------------------------------
ozone999
Posts: 3
Joined: 2009-11-26 10:40

Post by ozone999 »

답변 감사합니다...12월 1일 전까지만 이쪽에도 질문을 같이 올리겠습니다.ㅜㅜ

교차판정을 시도 해보려 하였지만............

교차판정에 대해 잘 몰라용 크흑...ㅠㅠ 아니...사실 수학을 넘 못해요 그래서 수학공부도 같이 하고

있습니다.ㅠㅠ

그리구 너무 쉽게 얻어먹으려는 것은 아니지만...

12개의 삼각형이 지나는 평면방정식을 구해야 한다고 하셨는데

이 삼각형의 평면방정식을 구하려면

제가 기존에 정해준 값들 예를들어 ( -0.5, -0.5, 0.5 ),( 0.5, 0.5, 0.5 ),( 0.5, -0.5, 0.5 ) 이런 값들이

matrix 에 의해 좌표가 변하게 되는데요

이 변한 좌표를 계산하는걸 모르겠습니다...ㅠㅠ
Locked