-
Posts
710 -
Joined
-
Last visited
Content Type
Blogs
Forums
Store
Gallery
Videos
Downloads
Everything posted by Slastraf
-
Here an example for stereo vision 3d or 2d VR example: You need the UI.zip models #include "UltraEngine.h" #include "Components/Player/CameraControls.hpp" using namespace UltraEngine; int main(int argc, const char* argv[]) { //Get the displays auto displays = GetDisplays(); //Create a window auto windowSize = Vec2(1920, 640); auto window = CreateWindow("Ultra Engine", 0, 0, windowSize.x, windowSize.y, displays[0], WINDOW_CENTER | WINDOW_TITLEBAR); //Create a world auto world = CreateWorld(); //Create a framebuffer auto framebuffer = CreateFramebuffer(window); //Create light auto light = CreateDirectionalLight(world); light->SetRenderLayers(2); light->SetRange(-10, 10); light->SetRotation(0, 0, 90); light->SetColor(100); auto light2 = CreateDirectionalLight(world); light->SetRotation(15, 15, 0); light->SetColor(5); //Create camera auto camera = CreateCamera(world); camera->SetRenderLayers(2); camera->SetClearColor(0.125); camera->SetPosition(0,0,-60); //camera->AddComponent<CameraControls>(); camera->SetFov(2); //Create scenery auto test = LoadModel(world, "Models/UI/test.glb"); auto scale = Vec3(.1, .1, .1); auto planeLeft = LoadModel(world, "Models/UI/LeftHalf.glb"); planeLeft->SetRenderLayers(2); //planeLeft->SetPosition(0, 0, 0); //planeLeft->SetRotation(0, 0, 0); //b2->SetColor(0, 0, 1); planeLeft->SetScale(scale); auto planeRight = LoadModel(world, "Models/UI/RightHalf.glb"); planeRight->SetRenderLayers(2); //planeRight->SetPosition(0, 0, 0); //planeRight->SetRotation(0, 0, 0); //b1->SetColor(1, 0, 0); planeRight->SetScale(scale); //Create camera and texture buffer auto texBufferLeft = CreateTextureBuffer(windowSize.x * 0.5, windowSize.y); auto texBufferRight = CreateTextureBuffer(windowSize.x * 0.5, windowSize.y); auto player = CreatePivot(world); player->AddComponent<CameraControls>(); auto eyeDistance = .5; auto gameCameraLeftEye = CreateCamera(world); gameCameraLeftEye->SetClearColor(1, 1, 1); gameCameraLeftEye->SetRenderTarget(texBufferLeft); gameCameraLeftEye->SetPosition(-eyeDistance * 0.5, 0, 0); auto gameCameraRightEye = CreateCamera(world); gameCameraRightEye->SetClearColor(1, 1, 1); gameCameraRightEye->SetRenderTarget(texBufferRight); gameCameraRightEye->SetPosition(eyeDistance * 0.5, 0, 0); gameCameraLeftEye->SetParent(player); gameCameraRightEye->SetParent(player); player->SetPosition(0, 0, -5); //cam2->AddComponent<CameraControls>(); //Create material auto mtll = CreateMaterial(); auto mtlr = CreateMaterial(); auto texl = texBufferLeft->GetColorAttachment(); auto texr = texBufferRight->GetColorAttachment(); mtll->SetTexture(texl); mtlr->SetTexture(texr); planeRight->SetMaterial(mtlr); planeLeft->SetMaterial(mtll); auto calibratedToResolution = false; // at some settings or resolution, taking windowSize will not always work, so using projection of the center Vec3 pickPos = camera->Project(planeLeft->GetPosition(),framebuffer); // calibrate the canvas plane halfs to the screen size if (!calibratedToResolution) { auto steps = 0.001; // pick a pixel until the plane is adjusted to x and y while (!camera->Pick(framebuffer, 0, pickPos.y).success) { scale += Vec3(steps, 0, 0); planeLeft->SetScale(scale); } while (!camera->Pick(framebuffer, pickPos.x, 0).success) { scale += Vec3(0, steps, 0); planeLeft->SetScale(scale); } planeRight->SetScale(scale); calibratedToResolution = true; } // NEVER SPAWN MODELS BEFORE THIS POINT while (window->Closed() == false and window->KeyDown(KEY_ESCAPE) == false) { //Orient the texturebuffer camera test->Turn(0, 1, 0); world->Update(); world->Render(framebuffer); } return 0; } UI.zip
-
https://www.ultraengine.com/learn/Camera_SetRenderTarget?lang=cpp This seems to be a good way of rendering multiple cameras. How do I display a texturebuffer in a third camera ? or directly inside a window ?
-
Hello I would like to know how to render only half the screen or a specified area for a camera. Alternatively, render a camera to a texture and have a plane with that texture perfectly placed in front of the main camera. This could be used for stereo vision or for split screen / minimap etc
-
It works now. <<<headache>>> There was another significant warning I overlooked. LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs It was a misconfiguration of Visual Studio Installer. This was because I had a different MSVC than 14.38, at the same time. Yours was up to date but for my machine the old one was used even when i had all the updates. To fix this you need to go to visual studio installer again , search for individual components, search for "msvc" and make sure only boxes where it says (latest) are picked. Also make sure to go to C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC and delete old versions. Also needed to reinstall the engine a bunch of times and set up new project because i had even more errors and warnings throughout this. More information that helped (ai generated) Open your project in Visual Studio. In the Solution Explorer pane on the right side of the screen, right-click on your project name and select "Properties" from the context menu. This will open the Properties window for your project. In the Properties window, expand the "Configuration Properties" node and select "C/C++". In the "C/C++" node, select "Code Generation". In the "Code Generation" node, you will see an option called "Runtime Library". This option determines which version of the C runtime library your project uses. Check the "Runtime Library" option to see which library your project is currently using. If you see multiple different options, this could be the cause of your issue. To fix this, you should set all your projects to use the same runtime library. If you have multiple projects in your solution, you will need to repeat these steps for each project. After setting the "Runtime Library" option for all your projects, try building your solution again. The warning should no longer appear.
-
I run this on VS 17.8.3 on Win10 . I will repair my installation once again because all the updates were already installed and try this again in a bit. I will also reinstall Ultra Engine stable. The very first time i installed Ultra Engine the UltraEngine.h header was not detected or missing. Must be a dwonload issue because i reinstalled it and then it was included.
-
Can you take a look in your folder C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC or similar and please tell me which version is installed there ? From your screenshot i cant ttell
-
I got some advice from my little helper phind The error LNK2019 is a linker error that occurs when the linker can't find a symbol it needs. In your case, the symbol `__std_find_trivial_4` is not found. This symbol is a function in the C++ Standard Library that is used for finding a value in a range. The number '4' in the symbol name indicates the size of the type that the function is working with [Source 0](https://github.com/googleapis/google-cloud-cpp/discussions/11929). This error can occur due to several reasons: 1. **Mismatched Compiler Versions**: If different parts of your project were compiled with different versions of the compiler, you may encounter this error. Make sure all parts of your project are compiled with the same version of the compiler [Source 2](https://github.com/actions/runner-images/issues/6091). 2. **Incorrect Library Linking**: If you're linking against a library that was compiled with a different version of the compiler, or if the library was compiled with a different runtime library setting, you may encounter this error. Make sure you're linking against the correct libraries and that they were compiled with the same settings as your project [Source 2](https://github.com/actions/runner-images/issues/6091). 3. **Missing Library**: If the library that contains the `__std_find_trivial_4` function is not being linked, you may encounter this error. Make sure that the library is being correctly linked in your project settings [Source 4](https://github.com/Exiv2/exiv2/issues/2429). To resolve this issue, you can try the following steps: 1. **Rebuild the Project**: Try to clean and rebuild your project. This will ensure that all object files are recompiled and linked with the correct settings [Source 2](https://github.com/actions/runner-images/issues/6091). 2. **Check the Compiler Version**: Make sure all parts of your project are compiled with the same version of the compiler. You can check this in the project properties in Visual Studio [Source 2](https://github.com/actions/runner-images/issues/6091). 3. **Check the Library Linking**: Make sure you're linking against the correct libraries and that they were compiled with the same settings as your project. You can check this in the project properties in Visual Studio [Source 4](https://github.com/Exiv2/exiv2/issues/2429). 4. **Check the Runtime Library Setting**: Make sure that the runtime library setting for all parts of your project is the same. You can check this in the project properties in Visual Studio [Source 2](https://github.com/actions/runner-images/issues/6091). If the error still persists after trying these steps, you may need to seek further assistance. It's possible that there's a bug in the compiler or in the library that you're linking against. In that case, you should report the issue to the maintainers of the library or the compiler.
-
I have the same components as you in visual studio installer now but sadly the same errors and warnings, also with a new project. && on both dev and stable versions of the engine and each with new projects same errors
-
Thank you for sharing. I already see you have Windows 10 SDK installed. I run a windows 10 system but had windows 11 SDK installed and not windows 10 SDK . I will update here shortly if this is a fix.
-
Also I needed to install an ATL Component vsconfig.txtof Visual Studio Installer to not have missing headers.
-
Yes I have the latest VS 2022 version installed on my system, the vulcan API , the recommended redistributables. I can compi;le an unreal engine game for example so it is not completely broken. I can provide more information in private. I am updating gfx drivers at the moment but should not have an impact.
-
I tried this on new projects on both dev and stable multiple times This happens for me with a fresh project and the stable version. Also there are a lot of warnings about PDB Severity Code Description Project File Line Suppression State Details Warning LNK4099 PDB 'UltraEngine_d.pdb' was not found with 'UltraEngine_d.lib(dMat4.obj)' or at ... Ultra Engine\Projects\Testcpp\.vs\Debug\UltraEngine_d.pdb'; linking object as if no debug info Testcpp ... e\Projects\Testcpp\UltraEngine_d.lib(dMat4.obj) 1 For example
-
For now I can only successfully run lua projects
-
Hello I have just got Ultra Engine and have not got it to compile yet. I added missing ATL modules inside visual studio installer, made a new c++ project multiple times and set the optimization to disabled in the project settings. Need help at fixing these errors. The Project is called StereoWindow and i have the exact same problem with another project.
-
That operation would be Join in blender and also should have no effect on the weights of the rig.
-
Also I would try to seperate the loose parts that have lower poly count and then use decimate modifier on separate parts to have your desired polycount then add them back together.
-
Yes, you can use decimate modifier in blender. However there might be small errors with the textures but generally not noticeable.
-
This is a good starting point
-
I really like the camera movement, even when the character is running it shakes a little. This adds much weight to the animation
-
-
Hi I just wanted to show these screenshots of game ready "deamons" that I modeled & textured for my game RealmRise. more and updates: https://discord.gg/AaNnRAhmJj
-
this is not the prime beginner example for recursion, too
-
you need to iterate svotnodes pseudocode foreach svotnodes as svotnode : level = svotnodes[index].params[2]; if level == maxlevels -1) : [...] for n < 8: if (SVOTNodeContainsNode(svotnodes[index].child[n], x, y, z)) { foreach svotnodes as svotnode2 : level2 = svotnodes[index].params[2]; if level2 == maxlevels -1) : [...] } if you want to find the "terminal node" you need to iterate over all nodes, however I dont think the index changes so that might be a problem. Sorry dont have much time to look over this
-
Developing process of Ragdoll effect. I love Leadwerks.
Slastraf commented on Yue's gallery image in Screenshots
-
I dont think it is possible without directly accessing the mesh in c++. You need to make a set for different body parts (legs, arms) and set the object's origin. In Blender additionally apply rotate, scale