/
Zamar_Terrier
/
TigorEngine
Обзор
Документация
Войти
/
Zamar_Terrier
/
TigorEngine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
tests/test_model.c
104 строки
3 KB
Zamar_Terrier
Запрос на слияние 'feature-12032026' (
#9
) из feature-12032026 в master
08 июн 2026, 11:31
Верифицирован
08 июн 2026, 11:31
2200f38
Код
Авторство
О чём код?
#include <TigorEngine.h> #include <TigorGUI.h> #include <Core/e_camera.h> #include <Objects/models.h> #include <Objects/light_object.h> #include <Objects/primitiveObject.h> #include <Tools/e_math.h> #include <Tools/objLoader.h> #include <Tools/glTFLoader.h> #include <Tools/fbxLoader.h> LightObject *light1, *light2, *light3, *light4; ModelObject3D model; PrimitiveObject po; extern TEngine engine; vec3 dir, l_pos; void Update(float dTime){ Camera3DMovementUpdateMain(dTime); Camera3DRotationUpdateMain(dTime); double time = TEngineGetTime(); l_pos.x = 3 * cos(time); l_pos.y = 3 * sin(time); l_pos.z = 3 * sin(time); dir.x = cos(time); dir.y = sin(time); dir.z = sin(time); LightObjectSetDirection(light1, dir.x, dir.y, dir.z); LightObjectSetPosition(light2, l_pos.x, l_pos.y, l_pos.z); LightObjectSetPosition(light3, l_pos.x * -1, l_pos.y * -1, l_pos.z * -1); vec3 s_pos = Camera3DGetPositionMain(); LightObjectSetPosition(light4, s_pos.x, s_pos.y, s_pos.z); vec3 s_dir = v3_muls(Camera3DGetRotationMain(), -1); LightObjectSetDirection(light4, s_dir.x, s_dir.y, s_dir.z); //Transform3DSetPosition(&light_point, l_pos.x, l_pos.y, l_pos.z); ModelNextFrame(&model, dTime, 0); } void Draw(){ GameObjectDraw((GameObject *)&model); GameObjectDraw((GameObject *)&po); } int main(){ TEngineInitSystem(800, 600, "Test"); TEngineSetUpdater(Update); TEngineSetDrawer(Draw); TEngineSetFont("res\\RobotoBlack.ttf"); DrawParam dParam; memset(&dParam, 0, sizeof(DrawParam)); //dParam.diffuse = "res/kamen'_defaultMat_Diffuse.png"; PrimitiveObjectInit(&po, NULL, TIGOR_PRIMITIVE3D_CUBE, NULL); Transform3DSetPosition((GameObject3D *)&po, 0, 0, 7); Load3DglTFModel(&model, "res/Little_Tokyo.glb", &dParam); //Load3DFBXModel(&model, "res/Woman.fbx", &dParam); //Load3DObjModel(&model, "res/rabochiy_i_kolkhoznitsa_lou_poli.obj", &dParam); Transform3DSetScaleT(&model.transform, 0.1, 0.1, -0.1); ModelSetLightEnable(&model, true); light1 = LightObjectAdd(TIGOR_LIGHT_OBJECT_TYPE_DIRECTIONAL_LIGHT); light2 = LightObjectAdd(TIGOR_LIGHT_OBJECT_TYPE_POINT_LIGHT); LightObjectSetColor(light2, 0, 1, 0); LightObjectSetRadius(light2, 10.0f); light3 = LightObjectAdd(TIGOR_LIGHT_OBJECT_TYPE_POINT_LIGHT); LightObjectSetColor(light3, 0, 0, 1); LightObjectSetRadius(light3, 10.0f); light4 = LightObjectAdd(TIGOR_LIGHT_OBJECT_TYPE_SPOT_LIGHT); LightObjectSetColor(light4, 1, 0, 0); LightObjectSetRadius(light4, 200.0f); TEngineStartRender(); GameObjectDestroy((GameObject *)&model); GameObjectDestroy((GameObject *)&po); //TEngineDeviceWaitIdle(); TEngineCleanUp(); return 0; }