[DX11 입문 서문] 회원가입 문제와 다이렉트x 11 입문 자료문제로 글을 남깁니다.

GPG 시리즈 관련 질답, 논의 공간.

Moderator: 류광

비회원

회원가입 문제와 다이렉트x 11 입문 자료문제로 글을 남깁니다.

Post by 비회원 »

회원 가입을 하려고 햇는데 허용횟수가 초과되었다면서 가입 자체가 안되네요ㅜㅜ

답변은 [email protected] 으로 주시면 될것 같습니다.

다름이 아니고 현재 다이렉트 x11 입문 책을 보며 열심히 공부하고 있는데 비쥬얼 2010으로 작업을 하던중에

비쥬얼 2013을 쓰게 되어서 업데이트를 하였더니 Effect11.lib, Effect11d.lib 에서 문제가 발생하였습니다.

그래서 책을 보니 해결방법을 써놓으시긴 했는데 셰이더 파일의 속성에 들어가서 HLSL 컴파일러에 들어가서
하라는 대로 했는데 되지를 않네요.

그리고 명시해놓으신 http://goo.go/EpHCZ 사이트는 찾을 수 없다고 뜨고요.

저의 실력부족으로 인하여 생긴 문제지만 해결 방법을 제시해 주셨으면 합니다.

항상 좋은책 감사합니다^^
비회원

오타가 있었네요.

Post by 비회원 »

류광
Posts: 3805
Joined: 2001-07-25 09:00
Location: GPGstudy
Contact:

Post by 류광 »

안녕하세요~ 보고 고맙습니다.

회원 가입 문제는 곧 메일 드리겠습니다.

그리고 Effect11은 ... 우선 Effect11 갱신 프로젝트는 Codeplex에 새로 자리를 잡았나 봅니다. https://fx11.codeplex.com/ 에서 프로젝트를 내려받아서 빌드한 후 .lib 파일들과 .h 파일을 책 예제 디렉터리의 commons 디렉터리에 넣으면 될 것입니다. 관련 글은 http://blogs.msdn.com/b/jgalasyn/archiv ... sions.aspxhttp://blogs.msdn.com/b/chuckw/archive/ ... pdate.aspx 인데, Microsoft 사이트는 링크가 자주 바뀌니 "Effects for Direct3D 11"라는 검색어를 기억해 두시길~

그리고 FX 빌드 설정 부분은 제가 VS 2013이 없어서 확인할 수 없는데요. 이참에 2013 Express라도 깔아서 확인해 보겠습니다만 DX 프로그램의 빌드가 어떤 과정으로 일어나는지 배우는 차원에서 직접 한 번 살펴보시는 것도 공부가 될 것입니다 :)
류광
Posts: 3805
Joined: 2001-07-25 09:00
Location: GPGstudy
Contact:

Post by 류광 »

비회원 wrote:회원 가입을 하려고 햇는데 허용횟수가 초과되었다면서 가입 자체가 안되네요ㅜㅜ

답변은 bigthewar@ ... 으로 주시면 될것 같습니다.
아 bigthewar@ ... 로 가입 후 비활성화 상태가 아니라, 가입 요청 자체가 거부된 상황이군요. 브라우저 캐시를 지우고 다시 시도해 보세요. 크롬이나 파이어폭스이면 임시로 새 프로파일(크롬의 경우 설정 - 새 사용자 추가)를 만든 후 시도하는 게 캐시를 지우는 것보다 더 간단할 것입니다.
류광
Posts: 3805
Joined: 2001-07-25 09:00
Location: GPGstudy
Contact:

Post by 류광 »

VS 2013 Express로 서문의 예제를 성공적으로 빌드&실행했습니다. 서문 p.xxxi의 역주에 쓴 것 외에 주의할 점은:

1. fxc.exe 오류 관련해서, 프로젝트 속성의 HLSL 컴파일러 설정에서 셰이더 모델을 "셰이더 모델 5(/5_0)"로 설정해야 합니다.

2. 새 Effect11 라이브러리를 빌드할 때 반드시 DXSDK 2010 6월 버전의 헤더들과 라이브러리들이 적용되게 해야 합니다(Windows SDK의 DirectX 헤더, 라이브러리들이 아니라). 프로젝트 속성의 VC++ 디렉터리에서 DXSDK 2010 6월 버전의 경로가 제일 앞에 오게 하면 됩니다. 그리고 디버그 모드에서도 Effect11.lib가 생성되는데 Effect11d.lib로 바꾸어서 commons에 복사해야 합니다.

한 번 해 보시고 안 되는 점이 있으면 알려 주세요!
비회원

친절한 답변 정말 감사합니다.

Post by 비회원 »

현재 다른 컴퓨터를 쓰고 있어서 이 컴퓨터에 2013을 드림스파크에서 받아 설치해보고 결과를 알려드리겠습니다.

이거 때문에 정말 걱정도 많이 하고 했는데 이렇게 친절하게 답변을 달아주셔서 정말 감사합니다.
류광
Posts: 3805
Joined: 2001-07-25 09:00
Location: GPGstudy
Contact:

Post by 류광 »

내친 김에 25장 SkinnedMesh 도 시험해 보았는데 프로젝트 파일 변환부터 빌드, 실행까지 문제가 없었습니다. 새 Effect11 라이브러리를 제대로 빌드하느냐가 관건이었던 것 같고요.

매크로 재정의 관련 경고들은 VC++ 디렉터리 항목의 포함 디렉터리 설정에서 {$IncludePath}를 제일 앞으로 뺐더니 사라지더군요. 라이브러리는 DX SDK 2010 06 것을 사용하고 DX 헤더 파일은 Win SDK 것을 사용하는 것이라서 조금 불안하긴 합니다만 ....

그리고 이상하게도 셰이더 형식과 셰이더 모형은 따로 설정하지 않았는데도 오류가 나지 않았습니다. 웹부록의 프로젝트 파일 자체에 뭔가 설정이 되어 있었던 걸까요.

사실 이 예제 문제는 번역할 때부터 신경을 썼던 것이고 번역서가 나오기 전에 저자가 전체적으로 갱신된 예제를 제공하길 바랐는데 그렇게는 안 되었습니다. 조만간 문제의 원인과 가능한 해결책을 전체적으로 정리해서 포럼이나 GpGiki에 올리겠습니다.
비회원

친절한 피드백 정말 감사합니다.

Post by 비회원 »

방금 2013을 깔고 알려주신 방법대로 빌드를 하였는데 문제없이 잘 작동하는 것을 확인하였습니다.

현재 이 책의 예제를 기반으로 해서 졸업작품 프레임워크를 짜고 있어서 이 문제가 해결되지 않았으면 프레임워크를 2010

으로 진행하는 수 밖에 없었는데 정말 감사합니다.

그리고 셰이더 쪽도 건들이지 않았는데 문제없이 잘 작동하고요.

정말 감사합니다.

실례가 되지 않는다면 답변을 주신 해당글의 링크를 저희 학과쪽 페이지에 링크를 걸어도 될까요?

아직까지는 모르겠지만 저하고 비슷한 오류를 겪는 학생이 있을 수도 있다고 생각되서요
류광
Posts: 3805
Joined: 2001-07-25 09:00
Location: GPGstudy
Contact:

Post by 류광 »

예 링크 걸어도 됩니다:)
비회원

effect11 사용하려는데 문제가 많아 질문드립니다.

Post by 비회원 »

visual studio 2013 사용자인데요

effect11을 쓰려고 노력을 하는데 잘 안되서 도움좀 부탁드릴게요

effect11쓰려고 최신버전 effect11받아서 2013버전에서 디버그,릴리스 라이브러리를 다만들었고 가져오고 d3dx11effect.h를 넣었는데요

3>c:\program files (x86)\windows kits\8.1\include\shared\dxgi1_2.h(1271): error C4430: 형식 지정자가 없습니다. int로 가정합니다. 참고: C++에서는 기본 int를 지원하지 않습니다.
3>c:\program files (x86)\windows kits\8.1\include\shared\dxgi1_2.h(1271): error C2143: 구문 오류 : ','이(가) '*' 앞에 없습니다.

이런식의 오류가 계속뜨네요 sdk june을 먼저 추가하라는데 그대로 했는데도 실행이 되지않아서 올려봅니다.

sdk june에 있는 d3dx11effect.h를 사용하면 잘되는데 D3DX11CreateEffectFromMemory의 기호를 찾을 수 없다고 떠서 사용못하고있어요 좀 도와주세요
비회원

바로 위에 글올린 사람입니다.

Post by 비회원 »

d3dxGlobal.h
를 추가하니까 위에 오류들은 없어졌는데

Effects11d.lib(EffectAPI.obj) : error LNK2019: _D3DCompileFromFile@36 외부 기호(참조 위치: _D3DX11CompileEffectFromFile 함수)에서 확인하지 못했습니다.

이런 오류가 다시 발생하네요... 하... 다된줄알았는데 도움 부탁드립니다 고수님들 ㅠㅠ
비회원

바로 위에 글올린 사람입니다. 위의 결과로 변환게 정확한게 아니라서 다시 올릴게요

Post by 비회원 »

d3dxglobal.h 이걸 추가해서 되는게 아니라

d3dx11effect.h 의 순서로 바뀌는거 같습니다.

d3dx11effect.h가 맨앞에오면

Effects11d.lib(EffectAPI.obj) : error LNK2019: _D3DCompileFromFile@36 외부 기호(참조 위치: _D3DX11CompileEffectFromFile 함수)에서 확인하지 못했습니다.

이 오류가 발생하고 d3dx11.h, d3d11.h 뒤로가면

2>c:\program files (x86)\windows kits\8.1\include\shared\dxgi1_2.h(1271): error C4430: 형식 지정자가 없습니다. int로 가정합니다. 참고: C++에서는 기본 int를 지원하지 않습니다.
2>c:\program files (x86)\windows kits\8.1\include\shared\dxgi1_2.h(1271): error C2143: 구문 오류 : ','이(가) '*' 앞에 없습니다.
2>c:\program files (x86)\windows kits\8.1\include\shared\dxgi1_2.h(1275): error C2061: 구문 오류 : 식별자 'DXGI_RGBA'

이러한 오류가 뜹니다.
류광
Posts: 3805
Joined: 2001-07-25 09:00
Location: GPGstudy
Contact:

Post by 류광 »

링크 오류는 아마도 헤더에 있는 함수 서명과 lib 파일에 있는 함수 서명이 달라서 생긴 것 같은데요.

샘플 소스 수정은 최후의 수단으로 미루시고, 원래의 소스 상태에서 프로젝트 설정을 여러 가지로 변경해 보세요. 특히 Windows SDK의 DX 헤더, 라이브러리들보다 DX 2010 June SDK의 헤더, 라이브러리들이 먼저 적용되게 해야 합니다. ( viewtopic.php?p=127636#127636 의 2번 참고)
비회원

effect11.lib를 빌드해서 만들때 문제같은데요

Post by 비회원 »

effect11.lib를 만들때 <d3d11_1.h>로 해서 lib를 만들더라고요

제 프로젝트는 d3d11.h로 다이렉트 11을 사용하고요

이것때문에 함수문제가 일어난거 같은데 d3d11.h를 추가해서 빌드하니까 프로젝트에서 컴파일은 되더라고요

실행은 아직 재대로 되는지 확인은 안해봤는데 뭔가 불안해서 질문드립니다.
비회원

Post by 비회원 »

방금 이것저것 확인하다 보니

d3dUtil.h에서

#if defined(DEBUG) || defined(_DEBUG)
#define _CRTDBG_MAP_ALLOC
#include <crtdbg.h>
#endif

이 부분이 적용이 안되는 것 같습니다. DEBUG가 정의 되지 않은 것 같습니다. 이럴 경우는 어떻게 해야 하나요?
Post Reply