Low Poly 3D LWJGL Shader Проблем Java помощ
GentleXD
Активен член
В момента опитвам 3D игра (знам). Програмиране Правя това с LWJGL и Java. Направих основите си, мога да зареждам и изобразявам модели и написах първите шейдъри. Внедрих светлина. Засега всичко е добре. Тъй като не съм особено добър графичен художник, но нямам такъв, който да ми свърши тази работа, искам сам да направя текстурите на моделите. Ниският поли беше моят отговор, много лесен за научаване и не твърде труден. Сега правя своите модели в Blender и им давам цвят (един цвят за целия модел). Сега искам да направя текстурата с моите шейдъри.

Така че следният проблем:
Създадох тази ниска поли сфера в Blender и й дадох розов цвят за тестване. Но само един цвят за целия модел. В Blender всеки връх е зададен в малко по-различен цвят от светлината.
https://prnt.sc/h2piul
Сега зареждам тази топка в моята игра:
Всички страни, които сочат директно към светлината, изглеждат правилно и добре (само че сега не използвах розово, а синьо):
https://prnt.sc/h2cxuu
В Blender моделът изглежда еднакво от всички страни, както в моята игра, или поне почти.
Но в моята игра мога да обикалям топката и отстрани, които не сочат директно към светлината, изглежда така:
https://prnt.sc/h2cxq9
Следващият проблем сам по себе си е, че страниците, които не трябва да се облъчват директно, също трябва да са по-тъмни. Но вече трябва да видите ниско полиъгълните триъгълници, тоест страните, които не трябва да бъдат облъчени, не са показани като плосък шестоъгълник, а в малко по-различни тъмни цветове.
Ето кода на шейдъра (всеки, който е запознат с OpenGL/LWJGL, вероятно ще разпознае какво се случва тук).
Ако някой има идея как да го реши, би било наистина хубаво, ако може да отговори.