Результаты поиска
AlexsSyr Дата: Воскресенье, 10 Июня 2018, 23:33 | Сообщение # 1 | Тема: Fusion [3D]
почетный гость
Сейчас нет на сайте
Цитата TLT (
)
Графон, не знаешь даже, хвалить или нет. Смотрится классно, но чего-то не хватает. Деталей, может быть. Как-то стерильно всё.
Да, я буду ещё над этим работать. Конечно, потом добавлю различные дефекты. Подтёки, пятна и царапины. Да и объектов будет больше.
Сообщение отредактировал AlexsSyr - Воскресенье, 10 Июня 2018, 23:36
AlexsSyr Дата: Воскресенье, 10 Июня 2018, 21:52 | Сообщение # 2 | Тема: Fusion [3D]
почетный гость
Сейчас нет на сайте
Название: Fusion Жанр: Хоррор/Квест Близкие по духу: Penumbra, Outlast Движок: UE4 Стадия разработки: Начальная Команда: ну, пока в одиночку.Группа Описание: Действия игры разворачиваются в альтернативной реальности. Нам предстоит оказаться в эпицентре трагических событий в роли специалиста по информационной безопасности. Мы станем свидетелями того, как попытка обратить силы природы во благо обернулась трагедией. Немного лора: Скриншоты:
Сообщение отредактировал AlexsSyr - Среда, 13 Июня 2018, 23:21
AlexsSyr Дата: Понедельник, 22 Января 2018, 20:17 | Сообщение # 3 | Тема: Сглаживание при MRT
почетный гость
Сейчас нет на сайте
Имеется следующий класс для множественной отрисовки.Код
#include "FBO.h" bool FBO::Init(unsigned int W, unsigned int H, unsigned int count) { w = W; h = H; glGenFramebuffers(1, &fbo); glBindFramebuffer(GL_DRAW_FRAMEBUFFER, fbo); Log::PrintMessage("Создание FBO ..."); textures = new GLuint[count]; glGenTextures(count, textures); glGenTextures(1, &depthTexture); for (unsigned int i = 0; i < count; i++) { glBindTexture(GL_TEXTURE_2D, textures[i]); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA32F, w, h, 0, GL_RGBA, GL_FLOAT, NULL); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glFramebufferTexture2D(GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0 + i, GL_TEXTURE_2D, textures[i], 0); } // depth glBindTexture(GL_TEXTURE_2D, depthTexture); glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT32F, w, h, 0, GL_DEPTH_COMPONENT, GL_FLOAT, NULL); glFramebufferTexture2D(GL_DRAW_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, depthTexture, 0); GLenum* DrawBuffers = new GLenum[count]; for (unsigned int i = 0; i < count; i++) DrawBuffers[i] = GL_COLOR_ATTACHMENT0 + i; glDrawBuffers(count, DrawBuffers); GLenum Status = glCheckFramebufferStatus(GL_FRAMEBUFFER); if (Status != GL_FRAMEBUFFER_COMPLETE) { Log::PrintError("Не удалось создать FBO"); return false; } // restore default FBO glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); Log::PrintMessage("FBO успешно создан"); return true; } void FBO::Bind() { glBindFramebuffer(GL_DRAW_FRAMEBUFFER, fbo); glViewport(0, 0, w, h); } void FBO::BindDefaultFBO() { glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); } FBO::FBO() { } FBO::~FBO() { }
Может кто подсказать, как реализовать сглаживание при данном подходе к рендерингу ?
AlexsSyr Дата: Среда, 07 Июня 2017, 15:01 | Сообщение # 4 | Тема: Sapper
почетный гость
Сейчас нет на сайте
Платформа: PC. Версия: 0.007. Движок: Unity 3D. Старт работы: 30.05.2017. Описание: Почувствуйте себя советским сапером и пройдите путь от обороны Москвы до Берлина! Особенности проекта: Необычный подход к реализации. Планируется использование приближенных к реальности локаций, моделей советской и немецкой техники, элементы шутера. Тестовая локация:Видео
Сообщение отредактировал AlexsSyr - Среда, 07 Июня 2017, 15:03
AlexsSyr Дата: Пятница, 10 Марта 2017, 18:10 | Сообщение # 5 | Тема: Изменить / прочитать цвет пикселя.
почетный гость
Сейчас нет на сайте
Есть функция, которая создаёт несколько целей для рисования.Код
void RenderTarget::InitialMultiRenderTarget(const bool withDepthBuffer,const RenderInitInfo* info) { HRESULT hr = S_OK; bufferCount = info->_mrtCount; renderTargetViewArray = new ID3D11RenderTargetView*[bufferCount]; renderTargetTextureArray = new ID3D11Texture2D*[bufferCount]; shaderResourceViewArray = new ID3D11ShaderResourceView*[bufferCount]; textureDesc.Width = info->_width; textureDesc.Height = info->_height; textureDesc.MipLevels = 1; textureDesc.ArraySize = 1; textureDesc.Format = DXGI_FORMAT_R32G32B32A32_FLOAT; textureDesc.SampleDesc.Count = info->_multisamples; textureDesc.SampleDesc.Quality = info->_quality; textureDesc.Usage = D3D11_USAGE_DEFAULT; textureDesc.BindFlags = D3D11_BIND_RENDER_TARGET | D3D11_BIND_SHADER_RESOURCE; textureDesc.CPUAccessFlags = 0; textureDesc.MiscFlags = 0; for (int i = 0; i<bufferCount; i++) { hr = render->GetDevice()->CreateTexture2D(&textureDesc, NULL, &renderTargetTextureArray[i]); if (FAILED(hr)) { ERROR("Код ошибки: # 0006"); } } D3D11_RENDER_TARGET_VIEW_DESC renderTargetViewDesc; renderTargetViewDesc.Format = textureDesc.Format; renderTargetViewDesc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2D; renderTargetViewDesc.Texture2D.MipSlice = 0; // Create the render target views. for (int i = 0; i<bufferCount; i++) { hr = render->GetDevice()->CreateRenderTargetView(renderTargetTextureArray[i], &renderTargetViewDesc, &renderTargetViewArray[i]); if (FAILED(hr)) { ERROR("Код ошибки: # 0006"); } } D3D11_SHADER_RESOURCE_VIEW_DESC shaderResourceViewDesc; // Setup the description of the shader resource view. shaderResourceViewDesc.Format = textureDesc.Format; shaderResourceViewDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D; shaderResourceViewDesc.Texture2D.MostDetailedMip = 0; shaderResourceViewDesc.Texture2D.MipLevels = 1; // Create the shader resource views. for (int i = 0; i<bufferCount; i++) { hr = render->GetDevice()->CreateShaderResourceView(renderTargetTextureArray[i], &shaderResourceViewDesc, &shaderResourceViewArray[i]); if (FAILED(hr)) { ERROR("Код ошибки: # 0006"); } } ID3D11Texture2D* pBackBuffer = NULL; hr = render->GetSwapChain()->GetBuffer(0, __uuidof(ID3D11Texture2D), (LPVOID*)&pBackBuffer); if (FAILED(hr)) ERROR("Код ошибки: # 0002"); D3D11_TEXTURE2D_DESC descDepth; // —труктура с параметрами ZeroMemory(&descDepth, sizeof(descDepth)); pBackBuffer->GetDesc(&descDepth); descDepth.MipLevels = 1; // уровень интерпол€ции descDepth.ArraySize = 1; descDepth.Format = DXGI_FORMAT_D24_UNORM_S8_UINT; // формат (размер пиксел€) descDepth.SampleDesc.Count = 1; descDepth.SampleDesc.Quality = 0; descDepth.Usage = D3D11_USAGE_DEFAULT; descDepth.BindFlags = D3D11_BIND_DEPTH_STENCIL; // вид - буфер глубин descDepth.CPUAccessFlags = 0; descDepth.MiscFlags = 0; pBackBuffer->Release(); // при помощи заполненной структуры-описани€ создаем объект текстуры hr = render->GetDevice()->CreateTexture2D(&descDepth, NULL, &depthStencilBuffer); if (FAILED(hr)) ERROR("Код ошибки: # 0004"); D3D11_DEPTH_STENCIL_VIEW_DESC descDSV; // —труктура с параметрами ZeroMemory(&descDSV, sizeof(descDSV)); descDSV.Format = descDepth.Format; // формат как в текстуре descDSV.ViewDimension = D3D11_DSV_DIMENSION_TEXTURE2D; descDSV.Texture2D.MipSlice = 0; // ѕри помощи заполненной структуры-описани€ и текстуры создаем объект буфера глубин hr = render->GetDevice()->CreateDepthStencilView(depthStencilBuffer, &descDSV, &depthStencilView); if (FAILED(hr)) ERROR("Код ошибки: # 0005"); }
Каким образом можно обратиться к любой из них и записать/считать пиксель в координатах XY ?
Сообщение отредактировал AlexsSyr - Пятница, 10 Марта 2017, 18:12
AlexsSyr Дата: Вторник, 10 Января 2017, 18:34 | Сообщение # 6 | Тема: Не создаёт константный буфер.
почетный гость
Сейчас нет на сайте
Хм, в буфере был только один float. И всё вылетало. Добавил три матрицы всё заработало.
AlexsSyr Дата: Понедельник, 19 Декабря 2016, 07:02 | Сообщение # 7 | Тема: Помогите разобраться как храниться анимация в dae. формате.
почетный гость
Сейчас нет на сайте
Код
<library_controllers> <controller id="Box001Controller"> <skin source="#Box001-lib"> <bind_shape_matrix>1.561150 0.000000 -0.000000 0.107741 0.000000 0.000000 1.561150 -1.998343 0.000000 -1.561150 0.000000 -0.564399 0.000000 0.000000 0.000000 1.000000 </bind_shape_matrix> <source id="Box001Controller-Joints"> <Name_array id="Box001Controller-Joints-array" count="5"> Bone001 Bone002 Bone003 Bone004 Bone005</Name_array> <technique_common> <accessor source="#Box001Controller-Joints-array" count="5"> <param type="name"/> </accessor> </technique_common> </source> <source id="Box001Controller-Matrices"> <float_array id="Box001Controller-Matrices-array" count="80"> -0.000000 -0.804364 0.594137 4.689691 -0.000000 0.594137 0.804364 -0.540446 -1.000000 -0.000000 -0.000000 -0.000000 0.000000 0.000000 0.000000 1.000000 0.080527 0.257950 0.962797 -1.859999 -0.021499 0.966159 -0.257052 3.267024 -0.996521 0.000000 0.083347 -0.220787 0.000000 0.000000 0.000000 1.000000 0.080056 0.278228 0.957173 -11.975133 -0.023190 0.960515 -0.277260 3.519929 -0.996521 0.000000 0.083347 -0.220787 0.000000 0.000000 0.000000 1.000000 -0.991087 -0.000001 -0.133215 2.472386 -0.133215 0.000000 0.991087 -12.236306 -0.000001 1.000000 -0.000000 0.049047 0.000000 0.000000 0.000000 1.000000 -0.991087 -0.000001 -0.133215 -13.408467 -0.133215 0.000000 0.991087 -12.236305 -0.000001 1.000000 -0.000000 0.049046 0.000000 0.000000 0.000000 1.000000</float_array> <technique_common> <accessor source="#Box001Controller-Matrices-array" count="5" stride="16"> <param type="float4x4"/> </accessor> </technique_common> </source> <source id="Box001Controller-Weights"> <float_array id="Box001Controller-Weights-array" count="1015"> 1.000000 0.561845 0.438155 0.561300 0.438700 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 0.660951 0.339049 0.754819 0.245181 0.753785 0.246216 0.749441 0.250559 0.741831 0.258169 0.731027 0.268973 0.717162 0.282838 0.700466 0.299534 0.681306 0.318694 0.660222 0.339778 0.637943 0.362057 0.615373 0.384627 0.593546 0.406454 0.573543 0.426457 0.556402 0.443598 0.543034 0.456966 0.534153 0.465847 0.530234 0.469766 0.531497 0.468503 0.537891 0.462109 0.549098 0.450902 0.564537 0.435463 0.583397 0.416603 0.604680 0.395320 0.627287 0.372713 0.650110 0.349890 0.672129 0.327871 0.692487 0.307513 0.710523 0.289477 0.725775 0.274224 0.737953 0.262047 0.746894 0.253106 0.752524 0.247476 0.811502 0.188498 0.809697 0.190303 0.802861 0.197139 0.790903 0.209097 0.773624 0.226376 0.750765 0.249235 0.722129 0.277871 0.687769 0.312231 0.648239 0.351762 0.604802 0.395198 0.559489 0.440511 0.514910 0.485090 0.473851 0.526149 0.438822 0.561178 0.411743 0.588257 0.393869 0.606131 0.385892 0.614108 0.388108 0.611892 0.400502 0.599498 0.422720 0.577280 0.453915 0.546085 0.492568 0.507432 0.536430 0.463570 0.582696 0.417304 0.628432 0.371568 0.671081 0.328919 0.708823 0.291177 0.740677 0.259323 0.766343 0.233657 0.785953 0.214047 0.799817 0.200183 0.808253 0.191747 0.840712 0.159288 0.838138 0.161862 0.829363 0.170637 0.814344 0.185656 0.792745 0.207255 0.763871 0.236128 0.726830 0.273170 0.680939 0.319061 0.626376 0.373624 0.564848 0.435152 0.499874 0.500126 0.436259 0.563741 0.378878 0.621122 0.331445 0.668555 0.296004 0.703996 0.273220 0.726780 0.263071 0.736929 0.265462 0.734538 0.280537 0.719463 0.308599 0.691401 0.349658 0.650342 0.402681 0.597319 0.464908 0.535092 0.531786 0.468213 0.597893 0.402108 0.658421 0.341579 0.710330 0.289670 0.752546 0.247454 0.785398 0.214602 0.809833 0.190167 0.826810 0.173190 0.836990 0.163010 0.816669 0.183331 0.817249 0.182751 0.819966 0.180033 0.817830 0.182170 0.792391 0.207609 0.759031 0.240970 0.716188 0.283812 0.662354 0.337646 0.597201 0.402799 0.522857 0.477143 0.444462 0.555538 0.369079 0.630921 0.303269 0.696731 0.251045 0.748955 0.213556 0.786444 0.190158 0.809842 0.179763 0.820237 0.181761 0.818239 0.196426 0.803574 0.224858 0.775142 0.268416 0.731584 0.327532 0.672468 0.400150 0.599850 0.480839 0.519161 0.561827 0.438173 0.635769 0.364231 0.698177 0.301823 0.747915 0.252085 0.786061 0.213939 0.814436 0.185564 0.821573 0.178427 0.818303 0.181697 0.771980 0.228020 0.772803 0.227197 0.777130 0.222870 0.784665 0.215335 0.774975 0.225025 0.738408 0.261593 0.692364 0.307636 0.634622 0.365378 0.564410 0.435590 0.484113 0.515886 0.399977 0.600023 0.320449 0.679551 0.252796 0.747204 0.200665 0.799335 0.164212 0.835788 0.141830 0.858170 0.131810 0.868190 0.133281 0.866719 0.146551 0.853449 0.173095 0.826905 0.215110 0.784890 0.274287 0.725713 0.349730 0.650270 0.436170 0.563830 0.524613 0.475387 0.605881 0.394119 0.674287 0.325713 0.728569 0.271431 0.770395 0.229605 0.789364 0.210636 0.780826 0.219174 0.774717 0.225283 0.718724 0.281276 0.719775 0.280225 0.725294 0.274706 0.734902 0.265098 0.742364 0.257636 0.704480 0.295520 0.658525 0.341475 0.601505 0.398495 0.532274 0.467726 0.453068 0.546932 0.370177 0.629823 0.292127 0.707872 0.226084 0.773916 0.175412 0.824588 0.139987 0.860013 0.118072 0.881928 0.108012 0.891988 0.109037 0.890963 0.121419 0.878581 0.146494 0.853506 0.186475 0.813525 0.243393 0.756607 0.316951 0.683049 0.402397 0.597603 0.490784 0.509216 0.572559 0.427441 0.641664 0.358336 0.696801 0.303199 0.739969 0.260031 0.741568 0.258432 0.730006 0.269994 0.722215 0.277785 0.658751 0.341249 0.660016 0.339984 0.666662 0.333338 0.678234 0.321766 0.693962 0.306038 0.661138 0.338862 0.619167 0.380833 0.567518 0.432482 0.504710 0.495290 0.432374 0.567626 0.355841 0.644159 0.282639 0.717361 0.219423 0.780577 0.169695 0.830305 0.134865 0.865135 0.129811 0.870189 0.127620 0.872380 0.128274 0.871726 0.131781 0.868219 0.138467 0.861533 0.177540 0.822460 0.232188 0.767812 0.301721 0.698279 0.381681 0.618319 0.463984 0.536016 0.540071 0.459929 0.604517 0.395483 0.656243 0.343757 0.697401 0.302599 0.686265 0.313735 0.672338 0.327662 0.662955 0.337045 0.594574 0.405426 0.596023 0.403977 0.603634 0.396366 0.616881 0.383119 0.634884 0.365116 0.614696 0.385304 0.579650 0.420350 0.537025 0.462975 0.484448 0.515552 0.422739 0.577261 0.355748 0.644252 0.289419 0.710581 0.229360 0.770640 0.178420 0.821580 0.166799 0.833201 0.160824 0.839176 0.158229 0.841771 0.159004 0.840996 0.163153 0.836847 0.170690 0.829310 0.184662 0.815338 0.237765 0.762235 0.302273 0.697727 0.374056 0.625944 0.446304 0.553696 0.512239 0.487761 0.567712 0.432288 0.612068 0.387932 0.646184 0.353816 0.626073 0.373927 0.610132 0.389868 0.599389 0.400611 0.529280 0.470720 0.530874 0.469126 0.539237 0.460763 0.553762 0.446238 0.573457 0.426543 0.571668 0.428332 0.545045 0.454955 0.513315 0.486685 0.472710 0.527290 0.423354 0.576646 0.367615 0.632385 0.307844 0.692156 0.248523 0.751477 0.217823 0.782177 0.207197 0.792803 0.200397 0.799603 0.197439 0.802561 0.198324 0.801676 0.203051 0.796949 0.211616 0.788384 0.223986 0.776014 0.256180 0.743820 0.316265 0.683735 0.378178 0.621822 0.438260 0.561740 0.491696 0.508304 0.535733 0.464267 0.570133 0.429867 0.585805 0.414195 0.563822 0.436178 0.546366 0.453634 0.534575 0.465425 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.512816 0.487184 0.536479 0.463521 0.519051 0.480949 0.498178 0.501822 0.469422 0.530578 0.432245 0.567755 0.384714 0.615286 0.329980 0.670020 0.282927 0.717073 0.267451 0.732549 0.255961 0.744039 0.248579 0.751421 0.245360 0.754640 0.246323 0.753677 0.251463 0.748537 0.260746 0.739254 0.274091 0.725909 0.291333 0.708667 0.337389 0.662611 0.391708 0.608292 0.439177 0.560823 0.479657 0.520343 0.511774 0.488226 0.535545 0.464455 0.525768 0.474232 0.502680 0.497320 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.503649 0.496351 0.492076 0.507924 0.472641 0.527359 0.442013 0.557987 0.401436 0.598564 0.358928 0.641071 0.339494 0.660506 0.323765 0.676235 0.312025 0.687975 0.304452 0.695548 0.301142 0.698858 0.302132 0.697868 0.307413 0.692587 0.316920 0.683080 0.330524 0.669476 0.348003 0.651997 0.369010 0.630990 0.407108 0.592892 0.446702 0.553298 0.476183 0.523817 0.497485 0.502515 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.488863 0.511137 0.463165 0.536835 0.439284 0.560716 0.417876 0.582124 0.399482 0.600518 0.384524 0.615476 0.373312 0.626688 0.366054 0.633946 0.362875 0.637125 0.363827 0.636173 0.368894 0.631106 0.377993 0.622007 0.390961 0.609039 0.407546 0.592454 0.427387 0.572613 0.450008 0.549992 0.474813 0.525187 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.494560 0.505440 0.475935 0.524065 0.459896 0.540104 0.446813 0.553187 0.436977 0.563023 0.430594 0.569406 0.427794 0.572206 0.428633 0.571367 0.433093 0.566907 0.441087 0.558913 0.452448 0.547552 0.466933 0.533067 0.484214 0.515786 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.499846 0.500154 0.494908 0.505092 0.492739 0.507261 0.493389 0.506611 0.496842 0.503158 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.500000 0.630256 0.000319 0.369425 0.920930 0.039541 0.039529 0.245139 0.754861 0.163123 0.836877 0.192935 0.054733 0.752331 0.495393 0.252292 0.252315 1.000000 1.000000 1.000000 1.000000 0.011371 0.776975 0.211654 0.033397 0.933204 0.033398 1.000000 1.000000 1.000000 1.000000 1.000000 0.495934 0.504066 1.000000 0.303502 0.696498 1.000000 1.000000 1.000000 1.000000</float_array> <technique_common> <accessor source="#Box001Controller-Weights-array" count="1015"> <param type="float"/> </accessor> </technique_common> </source> <joints> <input semantic="JOINT" source="#Box001Controller-Joints"/> <input semantic="INV_BIND_MATRIX" source="#Box001Controller-Matrices"/> </joints> <vertex_weights count="514"> <input semantic="JOINT" offset="0" source="#Box001Controller-Joints"/> <input semantic="WEIGHT" offset="1" source="#Box001Controller-Weights"/> <vcount>2 2 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 2 2 3 3 1 1 1 1 3 3 1 1 1 1 1 2 1 2 1 1 1 1</vcount> <v>0 1 1 2 0 3 1 4 0 5 0 6 0 7 0 8 0 9 0 10 0 11 1 12 0 13 1 14 0 15 1 16 0 17 1 18 0 19 1 20 0 21 1 22 0 23 1 24 0 25 1 26 0 27 1 28 0 29 1 30 0 31 1 32 0 33 1 34 0 35 1 36 0 37 1 38 0 39 1 40 0 41 1 42 0 43 1 44 0 45 1 46 0 47 1 48 0 49 1 50 0 51 1 52 0 53 1 54 0 55 1 56 0 57 1 58 0 59 1 60 0 61 1 62 0 63 1 64 0 65 1 66 0 67 1 68 0 69 1 70 0 71 1 72 0 73 1 74 0 75 1 76 0 77 1 78 0 79 1 80 0 81 1 82 0 83 1 84 0 85 1 86 0 87 1 88 0 89 1 90 0 91 1 92 0 93 1 94 0 95 1 96 0 97 1 98 0 99 1 100 0 101 1 102 0 103 1 104 0 105 1 106 0 107 1 108 0 109 1 110 0 111 1 112 0 113 1 114 0 115 1 116 0 117 1 118 0 119 1 120 0 121 1 122 0 123 1 124 0 125 1 126 0 127 1 128 0 129 1 130 0 131 1 132 0 133 1 134 0 135 1 136 0 137 1 138 0 139 1 140 0 141 1 142 0 143 1 144 0 145 1 146 0 147 1 148 0 149 1 150 0 151 1 152 0 153 1 154 0 155 1 156 0 157 1 158 0 159 1 160 0 161 1 162 0 163 1 164 0 165 1 166 0 167 1 168 0 169 1 170 0 171 1 172 0 173 1 174 0 175 1 176 0 177 1 178 0 179 1 180 0 181 1 182 0 183 1 184 0 185 1 186 0 187 1 188 0 189 1 190 0 191 1 192 0 193 1 194 0 195 1 196 0 197 1 198 0 199 1 200 0 201 1 202 0 203 1 204 0 205 1 206 0 207 1 208 0 209 1 210 0 211 1 212 0 213 1 214 0 215 1 216 0 217 1 218 0 219 1 220 0 221 1 222 0 223 1 224 0 225 1 226 0 227 1 228 0 229 1 230 0 231 1 232 0 233 1 234 0 235 1 236 0 237 1 238 0 239 1 240 0 241 1 242 0 243 1 244 0 245 1 246 0 247 1 248 0 249 1 250 0 251 1 252 0 253 1 254 0 255 1 256 0 257 1 258 0 259 1 260 0 261 1 262 0 263 1 264 0 265 1 266 0 267 1 268 0 269 1 270 0 271 1 272 0 273 1 274 0 275 1 276 0 277 1 278 0 279 1 280 0 281 1 282 0 283 1 284 0 285 1 286 0 287 1 288 0 289 1 290 0 291 1 292 0 293 1 294 0 295 1 296 0 297 1 298 0 299 1 300 0 301 1 302 0 303 1 304 0 305 1 306 0 307 1 308 0 309 1 310 0 311 1 312 0 313 1 314 0 315 1 316 0 317 1 318 0 319 1 320 0 321 1 322 0 323 1 324 0 325 1 326 0 327 1 328 0 329 1 330 0 331 1 332 0 333 1 334 0 335 1 336 0 337 1 338 0 339 1 340 0 341 1 342 0 343 1 344 0 345 1 346 0 347 1 348 0 349 1 350 0 351 1 352 0 353 1 354 0 355 1 356 0 357 1 358 0 359 1 360 0 361 1 362 0 363 1 364 0 365 1 366 0 367 1 368 0 369 1 370 0 371 1 372 0 373 1 374 0 375 1 376 0 377 1 378 0 379 1 380 0 381 1 382 0 383 1 384 0 385 1 386 0 387 1 388 0 389 1 390 0 391 1 392 0 393 1 394 0 395 1 396 0 397 1 398 0 399 1 400 0 401 1 402 0 403 1 404 0 405 1 406 0 407 1 408 0 409 1 410 0 411 1 412 0 413 1 414 0 415 1 416 0 417 1 418 0 419 1 420 0 421 1 422 0 423 1 424 0 425 1 426 0 427 1 428 0 429 1 430 0 431 1 432 0 433 1 434 0 435 1 436 0 437 1 438 0 439 1 440 0 441 1 442 0 443 1 444 0 445 1 446 0 447 1 448 0 449 1 450 0 451 1 452 0 453 1 454 0 455 1 456 0 457 1 458 0 459 1 460 0 461 1 462 0 463 1 464 0 465 1 466 0 467 1 468 0 469 1 470 0 471 1 472 0 473 1 474 0 475 1 476 0 477 1 478 0 479 1 480 0 481 1 482 0 483 1 484 0 485 1 486 0 487 1 488 0 489 1 490 0 491 1 492 0 493 1 494 0 495 1 496 0 497 1 498 0 499 1 500 0 501 1 502 0 503 1 504 0 505 1 506 0 507 1 508 0 509 1 510 0 511 1 512 0 513 1 514 0 515 1 516 0 517 1 518 0 519 1 520 0 521 1 522 0 523 1 524 0 525 1 526 0 527 1 528 0 529 1 530 0 531 1 532 0 533 1 534 0 535 1 536 0 537 1 538 0 539 1 540 0 541 1 542 0 543 1 544 0 545 1 546 0 547 1 548 0 549 1 550 0 551 1 552 0 553 1 554 0 555 1 556 0 557 1 558 0 559 1 560 0 561 1 562 0 563 1 564 0 565 1 566 0 567 1 568 0 569 1 570 0 571 1 572 0 573 1 574 0 575 1 576 0 577 1 578 0 579 1 580 0 581 1 582 0 583 1 584 0 585 1 586 0 587 1 588 0 589 1 590 0 591 1 592 0 593 1 594 0 595 1 596 0 597 1 598 0 599 1 600 0 601 1 602 0 603 1 604 0 605 1 606 0 607 1 608 0 609 1 610 0 611 1 612 0 613 1 614 0 615 1 616 0 617 1 618 0 619 1 620 0 621 1 622 0 623 1 624 0 625 1 626 0 627 1 628 0 629 1 630 0 631 1 632 0 633 1 634 0 635 1 636 0 637 1 638 0 639 1 640 0 641 1 642 0 643 1 644 0 645 1 646 0 647 1 648 0 649 1 650 0 651 1 652 0 653 1 654 0 655 1 656 0 657 1 658 0 659 1 660 0 661 1 662 0 663 1 664 0 665 1 666 0 667 1 668 0 669 1 670 0 671 1 672 0 673 1 674 0 675 1 676 0 677 1 678 0 679 1 680 0 681 1 682 0 683 1 684 0 685 1 686 0 687 1 688 0 689 1 690 0 691 1 692 0 693 1 694 0 695 1 696 0 697 1 698 0 699 1 700 0 701 1 702 0 703 1 704 0 705 1 706 0 707 1 708 0 709 1 710 0 711 1 712 0 713 1 714 0 715 1 716 0 717 1 718 0 719 1 720 0 721 1 722 0 723 1 724 0 725 1 726 0 727 1 728 0 729 1 730 0 731 1 732 0 733 1 734 0 735 1 736 0 737 1 738 0 739 1 740 0 741 1 742 0 743 1 744 0 745 1 746 0 747 1 748 0 749 1 750 0 751 1 752 0 753 1 754 0 755 1 756 0 757 1 758 0 759 1 760 0 761 1 762 0 763 1 764 0 765 1 766 0 767 1 768 0 769 1 770 0 771 1 772 0 773 1 774 0 775 1 776 0 777 1 778 0 779 1 780 0 781 1 782 0 783 1 784 0 785 1 786 0 787 1 788 0 789 1 790 0 791 1 792 0 793 1 794 0 795 1 796 0 797 1 798 0 799 1 800 0 801 1 802 0 803 1 804 0 805 1 806 0 807 1 808 0 809 1 810 0 811 1 812 0 813 1 814 0 815 1 816 0 817 1 818 0 819 1 820 0 821 1 822 0 823 1 824 0 825 1 826 0 827 1 828 0 829 1 830 0 831 1 832 0 833 1 834 0 835 1 836 0 837 1 838 0 839 1 840 0 841 1 842 0 843 1 844 0 845 1 846 0 847 1 848 0 849 1 850 0 851 1 852 0 853 1 854 0 855 1 856 0 857 1 858 0 859 1 860 0 861 1 862 0 863 1 864 0 865 1 866 0 867 1 868 0 869 1 870 0 871 1 872 0 873 1 874 0 875 1 876 0 877 1 878 0 879 1 880 0 881 1 882 0 883 1 884 0 885 1 886 0 887 1 888 0 889 1 890 0 891 1 892 0 893 1 894 0 895 1 896 0 897 1 898 0 899 1 900 0 901 1 902 0 903 1 904 0 905 1 906 0 907 1 908 0 909 1 910 0 911 1 912 0 913 1 914 0 915 1 916 0 917 1 918 0 919 1 920 0 921 1 922 0 923 1 924 0 925 1 926 0 927 1 928 0 929 1 930 0 931 1 932 0 933 1 934 0 935 1 936 0 937 1 938 0 939 1 940 0 941 1 942 0 943 1 944 0 945 1 946 0 947 1 948 0 949 1 950 0 951 1 952 0 953 1 954 0 955 1 956 0 957 1 958 0 959 1 960 0 961 1 962 0 963 1 964 0 965 1 966 0 967 1 968 0 969 1 970 0 971 1 972 0 973 1 974 1 975 2 976 3 977 1 978 2 979 3 980 0 981 1 982 0 983 1 984 1 985 2 986 3 987 1 988 2 989 3 990 1 991 1 992 2 993 2 994 1 995 2 996 3 997 1 998 2 999 3 1000 2 1001 2 1002 2 1003 2 1004 1 1005 3 1006 4 1007 1 1008 3 1009 4 1010 2 1011 2 1012 0 1013 0 1014</v> </vertex_weights> </skin> </controller> </library_controllers> <library_animations> <animation id="Bone001-anim" name="Bone001"><animation><source id="Bone001-Matrix-animation-input"><float_array id="Bone001-Matrix-animation-input-array" count="31"> 0.000000 0.033333 0.066667 0.100000 0.133333 0.166667 0.200000 0.233333 0.266667 0.300000 0.333333 0.366667 0.400000 0.433333 0.466667 0.500000 0.533333 0.566667 0.600000 0.633333 0.666667 0.700000 0.733333 0.766667 0.800000 0.833333 0.866667 0.900000 0.933333 0.966667 1.000000</float_array><technique_common><accessor source="#Bone001-Matrix-animation-input-array" count="31"><param name="TIME" type="float"/></accessor></technique_common></source><source id="Bone001-Matrix-animation-output-transform"><float_array id="Bone001-Matrix-animation-output-transform-array" count="496"> -0.000000 -0.000000 -1.000000 0.000000 -0.804364 0.594137 0.000000 4.093317 0.594137 0.804364 -0.000000 -2.351604 0.000000 0.000000 0.000000 1.000000 -0.001777 -0.001995 -0.999996 0.000000 -0.803103 0.595840 0.000238 4.093317 0.595837 0.803101 -0.002661 -2.352281 0.000000 0.000000 0.000000 1.000000 -0.007002 -0.007756 -0.999945 0.000000 -0.799417 0.600776 0.000938 4.093317 0.600736 0.799380 -0.010407 -2.354253 0.000000 0.000000 0.000000 1.000000 -0.015588 -0.016889 -0.999736 0.000000 -0.793420 0.608670 0.002088 4.093317 0.608474 0.793243 -0.022888 -2.357426 0.000000 0.000000 0.000000 1.000000 ............................ -0.751473 -0.150578 -0.642350 0.000000 -0.289122 0.950302 0.115471 4.093317 0.593039 0.272492 -0.757663 -2.556818 0.000000 0.000000 0.000000 1.000000 -0.757982 -0.147566 -0.635364 0.000000 -0.283219 0.951918 0.116790 4.093317 0.587580 0.268472 -0.763330 -2.558789 0.000000 0.000000 0.000000 1.000000 -0.760205 -0.146515 -0.632947 0.000000 -0.281186 0.952464 0.117243 4.093317 0.585682 0.267105 -0.765266 -2.559467 0.000000 0.000000 0.000000 1.000000</float_array><technique_common><accessor source="#Bone001-Matrix-animation-output-transform-array" count="31" stride="16"><param type="float4x4"/></accessor></technique_common></source><source id="Bone001-Interpolations"><Name_array id="Bone001-Interpolations-array" count="31"> LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR</Name_array><technique_common><accessor source="#Bone001-Interpolations-array" count="31"><param type="name"/></accessor></technique_common></source><sampler id="Bone001-Matrix-animation-transform"><input semantic="INPUT" source="#Bone001-Matrix-animation-input"/><input semantic="OUTPUT" source="#Bone001-Matrix-animation-output-transform"/><input semantic="INTERPOLATION" source="#Bone001-Interpolations"/></sampler><channel source="#Bone001-Matrix-animation-transform" target="Bone001/matrix"/></animation></animation> <animation id="Bone002-anim" name="Bone002"><animation><source id="Bone002-Matrix-animation-input"><float_array id="Bone002-Matrix-animation-input-array" count="21"> 0.000000 0.033333 0.066667 0.100000 0.133333 0.166667 0.200000 0.233333 0.266667 0.300000 0.333333 0.366667 0.400000 0.433333 0.466667 0.500000 0.533333 0.566667 0.600000 0.633333 0.666667</float_array><technique_common><accessor source="#Bone002-Matrix-animation-input-array" count="21"><param name="TIME" type="float"/></accessor></technique_common></source><source id="Bone002-Matrix-animation-output-transform"><float_array id="Bone002-Matrix-animation-output-transform-array" count="336"> 0.364548 -0.929867 0.049520 8.416580 0.927696 0.367267 0.067042 -0.000001 -0.080527 0.021499 0.996521 -0.000001 0.000000 0.000000 0.000000 1.000000 0.384363 -0.921853 0.049517 8.416580 0.919857 0.386976 0.064125 -0.000001 -0.078276 0.020901 0.996713 -0.000001 0.000000 0.000000 0.000000 1.000000 ,,, 0.907627 -0.419778 0.000000 8.416580 0.419778 0.907627 0.000000 -0.000001 -0.000000 0.000000 1.000000 -0.000001 0.000000 0.000000 0.000000 1.000000 0.907627 -0.419778 0.000000 8.416580 0.419778 0.907627 0.000000 -0.000001 -0.000000 0.000000 1.000000 -0.000001 0.000000 0.000000 0.000000 1.000000</float_array><technique_common><accessor source="#Bone002-Matrix-animation-output-transform-array" count="21" stride="16"><param type="float4x4"/></accessor></technique_common></source><source id="Bone002-Interpolations"><Name_array id="Bone002-Interpolations-array" count="21"> LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR</Name_array><technique_common><accessor source="#Bone002-Interpolations-array" count="21"><param type="name"/></accessor></technique_common></source><sampler id="Bone002-Matrix-animation-transform"><input semantic="INPUT" source="#Bone002-Matrix-animation-input"/><input semantic="OUTPUT" source="#Bone002-Matrix-animation-output-transform"/><input semantic="INTERPOLATION" source="#Bone002-Interpolations"/></sampler><channel source="#Bone002-Matrix-animation-transform" target="Bone002/matrix"/></animation></animation> <animation id="Bone003-anim" name="Bone003"><animation><source id="Bone003-Matrix-animation-input"><float_array id="Bone003-Matrix-animation-input-array" count="21"> 0.000000 0.033333 0.066667 0.100000 0.133333 0.166667 0.200000 0.233333 0.266667 0.300000 0.333333 0.366667 0.400000 0.433333 0.466667 0.500000 0.533333 0.566667 0.600000 0.633333 0.666667</float_array><technique_common><accessor source="#Bone003-Matrix-animation-input-array" count="21"><param name="TIME" type="float"/></accessor></technique_common></source><source id="Bone003-Matrix-animation-output-transform"><float_array id="Bone003-Matrix-animation-output-transform-array" count="336"> 0.999779 -0.021048 0.000000 10.186573 0.021048 0.999779 0.000000 -0.000079 -0.000000 0.000000 1.000000 -0.000000 0.000000 0.000000 0.000000 1.000000 0.999599 -0.028313 0.000000 10.186573 0.028313 0.999599 0.000000 -0.000079 -0.000000 0.000000 1.000000 -0.000000 0.000000 0.000000 0.000000 1.000000 ,,, 0.527013 -0.849857 0.000000 10.186573 0.849857 0.527013 0.000000 -0.000079 -0.000000 0.000000 1.000000 -0.000000 0.000000 0.000000 0.000000 1.000000 0.520823 -0.853665 0.000000 10.186573 0.853665 0.520823 0.000000 -0.000079 -0.000000 0.000000 1.000000 -0.000000 0.000000 0.000000 0.000000 1.000000</float_array><technique_common><accessor source="#Bone003-Matrix-animation-output-transform-array" count="21" stride="16"><param type="float4x4"/></accessor></technique_common></source><source id="Bone003-Interpolations"><Name_array id="Bone003-Interpolations-array" count="21"> LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR</Name_array><technique_common><accessor source="#Bone003-Interpolations-array" count="21"><param type="name"/></accessor></technique_common></source><sampler id="Bone003-Matrix-animation-transform"><input semantic="INPUT" source="#Bone003-Matrix-animation-input"/><input semantic="OUTPUT" source="#Bone003-Matrix-animation-output-transform"/><input semantic="INTERPOLATION" source="#Bone003-Interpolations"/></sampler><channel source="#Bone003-Matrix-animation-transform" target="Bone003/matrix"/></animation></animation> </library_animations> <library_visual_scenes> <visual_scene id="7" name="7"> <node name="Bone001" id="Bone001" sid="Bone001" type="JOINT"><matrix sid="matrix">-0.000000 -0.000000 -1.000000 0.000000 -0.804364 0.594137 0.000000 4.093317 0.594137 0.804364 -0.000000 -2.351604 0.000000 0.000000 0.000000 1.000000</matrix><extra><technique profile="FCOLLADA"><visibility>1.000000</visibility></technique></extra><node name="Bone002" id="Bone002" sid="Bone002" type="JOINT"><matrix sid="matrix">0.364548 -0.929867 0.049520 8.416580 0.927696 0.367267 0.067042 -0.000001 -0.080527 0.021499 0.996521 -0.000001 0.000000 0.000000 0.000000 1.000000</matrix><extra><technique profile="FCOLLADA"><visibility>1.000000</visibility></technique></extra><node name="Bone003" id="Bone003" sid="Bone003" type="JOINT"><matrix sid="matrix">0.999779 -0.021048 0.000000 10.186573 0.021048 0.999779 0.000000 -0.000079 -0.000000 0.000000 1.000000 -0.000000 0.000000 0.000000 0.000000 1.000000</matrix><extra><technique profile="FCOLLADA"><visibility>1.000000</visibility></technique></extra></node><node name="Bone004" id="Bone004" sid="Bone004" type="JOINT"><matrix sid="matrix">-0.208068 0.943488 0.257950 10.186586 0.055550 -0.251897 0.966159 0.000005 0.976536 0.215356 0.000001 0.000001 0.000000 0.000000 0.000000 1.000000</matrix><extra><technique profile="FCOLLADA"><visibility>1.000000</visibility></technique></extra><node name="Bone005" id="Bone005" sid="Bone005" type="JOINT"><matrix sid="matrix">1.000000 -0.000000 0.000000 15.880852 0.000000 1.000000 0.000000 -0.000002 -0.000000 -0.000000 1.000000 0.000001 0.000000 0.000000 0.000000 1.000000</matrix><extra><technique profile="FCOLLADA"><visibility>1.000000</visibility></technique></extra></node></node></node></node> <node name="Box001" id="Box001" sid="Box001"><instance_controller url="#Box001Controller"/><extra><technique profile="FCOLLADA"><visibility>1.000000</visibility></technique></extra></node> <extra><technique profile="MAX3D"><frame_rate>30.000000</frame_rate></technique><technique profile="FCOLLADA"><start_time>0.000000</start_time><end_time>3.333333</end_time></technique></extra> </visual_scene> </library_visual_scenes> <scene> <instance_visual_scene url="#7"></instance_visual_scene> </scene> </COLLADA>
1)bind_shape_matrix - как я понял это начальная позиция меша. 2) <Name_array id="Box001Controller-Joints-array" count="5"> - количество костей и их имена. 3) <float_array id="Box001Controller-Matrices-array" count="80"> - начальное положение костей. 4) <float_array id="Box001Controller-Weights-array" count="1015"> - весы, можете объяснить как использовать их при расчёте анимации ? 5) <input semantic="JOINT" offset="0" source="#Box001Controller-Joints"/> <input semantic="WEIGHT" offset="1" source="#Box001Controller-Weights"/> - непонятный набор индексов, для чего он нужен и как его использовать ? 6) <animation id="Bone001-anim" name="Bone001"><animation><source id="Bone001-Matrix-animation-input"><float_array id="Bone001-Matrix-animation-input-array" count="31"> - ключи анимации 7) technique_common><accessor source="#Bone001-Matrix-animation-input-array" count="31"><param name="TIME" type="float"/></accessor></technique_common></source><source id="Bone001-Matrix-animation-output-transform"><float_array id="Bone001-Matrix-animation-output-transform-array" count="496"> - матрица кости для каждого ключа. Я не понимаю от куда брать иерархию костей и как используются вес кости при расчёте анимации. Заранее благодарю за помощь .
AlexsSyr Дата: Вторник, 22 Ноября 2016, 07:44 | Сообщение # 8 | Тема: Не создаёт константный буфер.
почетный гость
Сейчас нет на сайте
Графику рисует, шейдеры грузит, а вот при попытке создать буфер констант для шейдеров возвращает ошибку.
AlexsSyr Дата: Вторник, 22 Ноября 2016, 06:37 | Сообщение # 9 | Тема: Не создаёт константный буфер.
почетный гость
Сейчас нет на сайте
Да, результат такой же.
AlexsSyr Дата: Вторник, 22 Ноября 2016, 05:10 | Сообщение # 10 | Тема: Не создаёт константный буфер.
почетный гость
Сейчас нет на сайте
Пытаюсь создать константный буфер, постоянно возвращает ошибку.Код
void GXD3Dshader::SetConstantBuffer(UINT structSize, GXD3D & gx) { D3D11_BUFFER_DESC bd; ZeroMemory(&bd, sizeof(bd)); bd.Usage = D3D11_USAGE_DEFAULT; bd.ByteWidth = sizeof(ConstantBuffer); // ������ ������ = ������� ��������� bd.BindFlags = D3D11_BIND_CONSTANT_BUFFER; // ��� - ����������� ����� bd.CPUAccessFlags = 0; if (FAILED(gx.Device->CreateBuffer(&bd, NULL, &ConstantBuffer))) MessageBox(NULL, L"Чёртов буфер", L"Ошибка", MB_OK); }
Подскажите, в чём может быть дело. Полный код:
Код
#include "GXD3Dshader.h" namespace GearXD3D { GXD3Dshader::GXD3Dshader() { } GXD3Dshader::~GXD3Dshader() { if (VertexLayout) VertexLayout->Release(); if (VertexShader) VertexShader->Release(); if (PixelShader) PixelShader->Release(); if (VSBlob) VSBlob->Release(); } HRESULT GXD3Dshader::CompileShader(WCHAR* fileName, GXD3D& gx) { HRESULT hr = S_OK; hr = CompileShaderFromFile(fileName, "VS", "vs_4_0", &VSBlob); if (FAILED(hr)) { MessageBox(NULL, L"Файл не найден", L"Ошибка", MB_OK); return hr; } hr = gx.Device->CreateVertexShader(VSBlob->GetBufferPointer(), VSBlob->GetBufferSize(), NULL, &VertexShader); if (FAILED(hr)) { VSBlob->Release(); return hr; } ID3DBlob* pPSBlob = NULL; hr = CompileShaderFromFile(fileName, "PS", "ps_4_0", &pPSBlob); if (FAILED(hr)) { MessageBox(NULL, L"Файл не найден", L"Ошибка", MB_OK); return hr; } hr = gx.Device->CreatePixelShader(pPSBlob->GetBufferPointer(), pPSBlob->GetBufferSize(), NULL, &PixelShader); pPSBlob->Release(); if (FAILED(hr)) return hr; return S_OK; } void GXD3Dshader::SetShader(GXD3D & gx) { gx.DrawContext->IASetInputLayout(VertexLayout); gx.DrawContext->VSSetShader(VertexShader, NULL, 0); gx.DrawContext->PSSetShader(PixelShader, NULL, 0); } void GXD3Dshader::SetConstantBuffer(UINT structSize, GXD3D & gx) { D3D11_BUFFER_DESC bd; ZeroMemory(&bd, sizeof(bd)); bd.Usage = D3D11_USAGE_DEFAULT; bd.ByteWidth = sizeof(ConstantBuffer); // ������ ������ = ������� ��������� bd.BindFlags = D3D11_BIND_CONSTANT_BUFFER; // ��� - ����������� ����� bd.CPUAccessFlags = 0; if (FAILED(gx.Device->CreateBuffer(&bd, NULL, &ConstantBuffer))) MessageBox(NULL, L"Чёртов буфер", L"Ошибка", MB_OK); } void GXD3Dshader::UpdateConstantBuffer(void* data, GXD3D& gx) { gx.DrawContext->UpdateSubresource(ConstantBuffer, 0, NULL, data, 0, 0); } void GXD3Dshader::SetConstantBuffer(void * data, GXD3D & gx) { gx.DrawContext->VSSetConstantBuffers(0, 1, &ConstantBuffer); } HRESULT GXD3Dshader::AddVertexParam(char* name, GXD3D & gx) { HRESULT hr = S_OK; UINT sizeByte = PosCount * 12 + ColorCount * 16; D3D11_INPUT_ELEMENT_DESC* buffer = Layout; //Копируем ссылку на первый элемент Layout = NULL; //Сбрасываем указатель на основной массив VertexParamCount++; Layout = new D3D11_INPUT_ELEMENT_DESC[VertexParamCount]; for (int i = 0; i < VertexParamCount - 1; i++) { *(Layout + i) = *(buffer + i); } delete[] buffer; Layout[VertexParamCount - 1].SemanticName = name; Layout[VertexParamCount - 1].SemanticIndex = 0; if (!strcmp(name, "POSITION")) { Layout[VertexParamCount - 1].Format = DXGI_FORMAT_R32G32B32_FLOAT; Layout[VertexParamCount - 1].InputSlot = PosCount; PosCount++; } if (!strcmp(name, "COLOR")) { Layout[VertexParamCount - 1].Format = DXGI_FORMAT_R32G32B32A32_FLOAT; Layout[VertexParamCount - 1].InputSlot = ColorCount; ColorCount++; } Layout[VertexParamCount - 1].AlignedByteOffset = sizeByte; Layout[VertexParamCount - 1].InputSlotClass = D3D11_INPUT_PER_VERTEX_DATA; Layout[VertexParamCount - 1].InstanceDataStepRate = 0; hr = gx.Device->CreateInputLayout(Layout, VertexParamCount, VSBlob->GetBufferPointer(), VSBlob->GetBufferSize(), &VertexLayout); if (FAILED(hr)) return hr; } HRESULT GXD3Dshader::CompileShaderFromFile(WCHAR* szFileName, LPCSTR szEntryPoint, LPCSTR szShaderModel, ID3DBlob** ppBlobOut) { HRESULT hr = S_OK; DWORD dwShaderFlags = D3DCOMPILE_ENABLE_STRICTNESS; ID3DBlob* pErrorBlob; hr = D3DX11CompileFromFile(szFileName, NULL, NULL, szEntryPoint, szShaderModel, dwShaderFlags, 0, NULL, ppBlobOut, &pErrorBlob, NULL); if (FAILED(hr)) { if (pErrorBlob != NULL) OutputDebugStringA((char*)pErrorBlob->GetBufferPointer()); if (pErrorBlob) pErrorBlob->Release(); return hr; } if (pErrorBlob) pErrorBlob->Release(); return S_OK; } }
AlexsSyr Дата: Вторник, 18 Октября 2016, 20:04 | Сообщение # 11 | Тема: Как реализовать масштабирование карты ?
почетный гость
Сейчас нет на сайте
Имеется карта составленная из различных объектов-стран. Подскажите как реализовать масштабирование такой карты ?
AlexsSyr Дата: Среда, 10 Августа 2016, 12:45 | Сообщение # 12 | Тема: Перевод экранных координат в мировые.
почетный гость
Сейчас нет на сайте
Посмотрел статью, переписал под LWJGL. Что-то работает не корректно. Матрица проекцииКод
//////////////////////////////////// camera.SetProjection(90, 0.1f, 8); ///////////////////////////// public void SetProjection(float angle, float nearPlace, float farPlace) { float aspectRatio = (float)Display.getWidth() / (float)Display.getHeight(); float y_scale = (float)(1f / Math.tan(Math.toRadians(angle / 2f))) * aspectRatio; float x_scale = y_scale / aspectRatio; float frustum_length = farPlace - nearPlace; Projection.m00 = x_scale; Projection.m11 = y_scale; Projection.m22 = -((farPlace + nearPlace) / frustum_length); Projection.m23 = -1; Projection.m32 = -((2 * nearPlace * farPlace) / frustum_length); Projection.m33 = 0; }
Матрица видаКод
camera.rx = 90; camera.y = 8; camera.SetView(); //////////////////////////////////////// public void SetView() { View.setIdentity(); Matrix4f.rotate((float)Math.toRadians(rx), new Vector3f(1,0,0), View, View); Matrix4f.rotate((float)Math.toRadians(ry), new Vector3f(0,1,0), View, View); Matrix4f.rotate((float)Math.toRadians(rz), new Vector3f(0,0,1), View, View); Matrix4f.translate(new Vector3f(-x,-y,z), View, View); }
Код
public static Vector4f UnProject(Camera cam, Point2f pos) { Matrix4f VPinvert = new Matrix4f(); Vector4f Res = new Vector4f(); float winZ = 1; float x = Main.Zoom; Res.x =(2.0f*((float)(pos.x-0)/(Display.getWidth()-0)))-1.0f; Res.y =1.0f-(2.0f*((float)(pos.y-0)/(Display.getHeight()-0))); // Res.z = (float)(2.0 * winZ -1.0); Res.z = 1; Res.w = (float) 1.0; Matrix4f.mul(cam.View, cam.Projection, VPinvert); Matrix4f.invert(VPinvert, VPinvert); Res.x = (Res.x * VPinvert.m00) + (Res.y * VPinvert.m10) + (Res.z * VPinvert.m20) + (Res.w * VPinvert.m30); Res.y = (Res.x * VPinvert.m01) + (Res.y * VPinvert.m11) + (Res.z * VPinvert.m21) + (Res.w * VPinvert.m31); Res.z = (Res.x * VPinvert.m02) + (Res.y * VPinvert.m12) + (Res.z * VPinvert.m22) + (Res.w * VPinvert.m32); Res.w = (Res.x * VPinvert.m03) + (Res.y * VPinvert.m13) + (Res.z * VPinvert.m23) + (Res.w * VPinvert.m33); Res.x /= Res.w; Res.y /= Res.w; Res.z /= Res.w; return Res; }
Нажима на точку с координатами (1,1), получаю значения (0.004219624;0.16776733;-0.033905927;29.493368) В чём проблема ?
Сообщение отредактировал AlexsSyr - Среда, 10 Августа 2016, 23:35
AlexsSyr Дата: Четверг, 21 Июля 2016, 13:07 | Сообщение # 13 | Тема: Перевод экранных координат в мировые.
почетный гость
Сейчас нет на сайте
А чему должен быть равен depth ?
AlexsSyr Дата: Среда, 20 Июля 2016, 21:54 | Сообщение # 14 | Тема: Перевод экранных координат в мировые.
почетный гость
Сейчас нет на сайте
Подскажите пожалуйста как с помощью матричных преобразований перевести экранные координаты в мировые ? Пробовал матрицу вида умножить на матрицу проекции, затем инвертировать их произведение. Потом 2D координаты умножить на эту инвертированную матрицу. Однако возвращает значение далеко не такое какое должно быть.
AlexsSyr Дата: Суббота, 02 Июля 2016, 09:00 | Сообщение # 15 | Тема: Как реализовать двойную буферизацию в Java3D ?
почетный гость
Сейчас нет на сайте
Начал писать программу с Java3D, однако при растяжении окна возникает мерцание. Как я понимаю это связанно с тем что кадр сразу рисуется на экран, подскажите как сделать двойную буферизацию ?
AlexsSyr Дата: Четверг, 12 Мая 2016, 17:05 | Сообщение # 16 | Тема: Где достать PhysX SDK ?
почетный гость
Сейчас нет на сайте
Подскажите где достать PhysX SDK ? Регестрировался на NvidiaDev но там для загрузки только плагины.
AlexsSyr Дата: Воскресенье, 10 Января 2016, 23:03 | Сообщение # 17 | Тема: Реализация достижений.
почетный гость
Сейчас нет на сайте
Пишу проект на AndroidStudio, решил добавить достижения, но найти достаточно информации не смог. Нашёл разные плагины для движков, но для jave информации нашёл мало. Может кто помочь ? Скинуть пример или ссылку на статью ? Заранее благодарен.
AlexsSyr Дата: Четверг, 05 Ноября 2015, 14:18 | Сообщение # 18 | Тема: Потеря устройства вместе с мешами.
почетный гость
Сейчас нет на сайте
Сворачиваю программу ALT + TAB. Открываю снова и меши исчезают. Код начала сцены.Код
void D3DstartRendering(){ if(Device->TestCooperativeLevel() == D3DERR_DEVICENOTRESET && Device != NULL) //Востанавливаем устройство при потере Device->Reset(&Param); if (Device != NULL) { Device->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, ClearColor, 1.0f, 0); // Начало сцены, здесь происходит прорисовка сцены Device->BeginScene(); } }
Код
Класс для работы с мешами. #include "stdafx.h" #include "Xmesh.h" using namespace System; using namespace System::Runtime::InteropServices; namespace GearX { Mesh MyMesh; LPDIRECT3DDEVICE9 device; Xmesh::Xmesh(String^ filename) { l_FileName = filename; } void Xmesh::Xload(D3D^ d3d) { D3DXLoadMeshFromXA((char*)Marshal::StringToHGlobalAnsi(l_FileName).ToPointer(), D3DXMESH_SYSTEMMEM, *d3d->D3DgetDevice(), NULL, &MyMesh.pMeshBuffer, NULL, &MyMesh.dwNumber, &MyMesh.pMesh); // Мы должны извлечь материальные свойства и названия{имена} структуры от // pD3DXMtrlBuffer D3DXMATERIAL* D3DXMeshMaterials = (D3DXMATERIAL *)MyMesh.pMeshBuffer->GetBufferPointer(); MyMesh.pMeshMaterials = new D3DMATERIAL9[MyMesh.dwNumber]; MyMesh.pMeshTextura = new LPDIRECT3DTEXTURE9[MyMesh.dwNumber]; for (DWORD i = 0; i<MyMesh.dwNumber; i++) { // Копируем материал MyMesh.pMeshMaterials[i] = D3DXMeshMaterials[i].MatD3D; // Установить окружающего свет MyMesh.pMeshMaterials[i].Ambient = MyMesh.pMeshMaterials[i].Diffuse; // Загружаем текстуру if (FAILED(D3DXCreateTextureFromFileA(*d3d->D3DgetDevice(), D3DXMeshMaterials[i].pTextureFilename, &MyMesh.pMeshTextura[i]))) MyMesh.pMeshTextura[i] = NULL; } // Уничтожаем материальный буфер MyMesh.pMeshBuffer->Release(); device = *d3d->D3DgetDevice(); } void Xmesh::Xdraw() { for (DWORD i = 0; i<MyMesh.dwNumber; i++) { // Устанавливаем материал и текстуру device->SetMaterial(&MyMesh.pMeshMaterials[i]); device->SetTexture(0, MyMesh.pMeshTextura[i]); // Рисуем Меш MyMesh.pMesh->DrawSubset(i); } } }
В чём причина ?
Сообщение отредактировал AlexsSyr - Четверг, 05 Ноября 2015, 14:19
AlexsSyr Дата: Понедельник, 17 Августа 2015, 09:54 | Сообщение # 19 | Тема: COM Interface
почетный гость
Сейчас нет на сайте
Пишу Dll на С++, хочу подключить к проекту на С#. Подключал через DLLImport, всё работает,но... Использование DllImport в моём случае не удобно, функции с 20-30 аргументами очень не удобно использовать. Следовательно нужны структуры из моей DLL. Пытаюсь подключить через ссылки и подключить моё пространство имён. Библиотека подключается к ссылкам, но моего пространства имён VS не видит. Прочитал про COM интерфейсы, но подробной информации не нашел. У меня уже есть готовый класс, подскажите как запихнуть его в COM интерфейс.
AlexsSyr Дата: Вторник, 07 Июля 2015, 22:03 | Сообщение # 20 | Тема: Проблема с камерой от первого лица .
почетный гость
Сейчас нет на сайте
Это функция движения влево, а не поворота, а dt это точное число миллисекунд. Для получения dt я использовал вот это https://msdn.microsoft.com/ru-ru/library/system.diagnostics.stopwatch(v=vs.110).aspx?cs-save-lang=1&cs-lang=cpp#code-snippet-1Добавлено (07 июля 2015, 22:03) --------------------------------------------- Вся проблема в том что я не просто двигаю камеру, игрок является физическим объектом.
Сообщение отредактировал AlexsSyr - Вторник, 07 Июля 2015, 21:58