Giter Site home page Giter Site logo

vircadia / vircadia-native-core Goto Github PK

View Code? Open in Web Editor NEW
532.0 28.0 176.0 1.04 GB

Vircadia open source agent-based metaverse ecosystem.

Home Page: https://vircadia.com/

License: Other

JavaScript 27.59% CMake 0.92% C++ 43.80% QML 6.04% HTML 1.94% Java 0.52% Shell 0.07% Dockerfile 0.01% GLSL 0.24% C 13.99% CSS 3.84% Python 0.27% F* 0.01% Objective-C 0.38% Objective-C++ 0.02% QMake 0.01% Lua 0.10% PHP 0.06% Batchfile 0.01% C# 0.19%
virtual-reality vr ar xr immersion 3d open-source metaverse linux reality

vircadia-native-core's Introduction

Vircadia - Codename Athena

GitHub contributors GitHub stars GitHub forks Apache 2.0 Discord

What is this?

Vircadia™ is an open source agent-based metaverse ecosystem that excels in mass human and agent (AI) based immersive worlds.

  • Mobile, desktop, and VR support through Web
  • Hundreds of agents simultaneously
  • Full-body (Human or Agents)
  • Script with JavaScript & TypeScript (coming soon)
  • Visual scripting (coming soon)
  • Full world editor
  • 4096km³ world space in a server
  • Fully self-hosted
  • Apache 2.0
  • And more...

Supporters of the Vircadia Project

Vircadia is sponsored by companies, organizations, and governments, some of which can be found here.

Premiere Partners

What is an "agent"?

An agent is an AI being that shares the same space as users, interacting, speaking, and experiencing the world. They can be used for simple companionship or training and gameplay opportunities. Vircadia excels at the deployment of agents en-masse to allow in a full sandbox experience.

Support

If you need help integrating or deploying Vircadia for your company / organization, please reach out to us.

Architecture and Documentation

If you would like to learn more about the architecture and the various components in the ecosystem, visit the developer documentation. If you want documentation for general use and to pass onto your users, visit the user documentation.

Alt

vircadia-native-core's People

Contributors

amantley avatar atlante45 avatar birarda avatar conklin94122 avatar ctrlaltdavid avatar danteruiz avatar dback2 avatar digisomni avatar ey6es avatar howard-stearns avatar huffman avatar hyperlogic avatar imgntn avatar jherico avatar kencooke avatar nissimhadar avatar philiprosedale avatar sabrina-shanman avatar samcake avatar samgondelman avatar sethalves avatar shanzzam avatar simonwalton-hifi avatar thoys avatar ventrella avatar vladest avatar zappoman avatar zfox23 avatar zvork avatar zzmp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vircadia-native-core's Issues

Packets that are too large don't get received

This fails without notification error to the interface sending them. Regardless on whether or not we tackle this question/problem now, a way to notify the interface that this is happening is important and should be added ASAP.

Remember, less phantom functionality if we can help it! We want the developers, creators, and overall users to be aware if something was not done and why if so.

Desktop Mode Camera don't follow avatar orientation

Running a script that changes the gravity orientation of an avatar, the camera was following the orientation of the avatar in HMD and in Desktop, But somewhere during the last 6 months of Hifi this stopped to work for all the different camera mode in desktop. (Not, it still works in VR)

Found in Release: 0.86 (Hifi)
Type: BUG
Priority: Medium
Size: S

QMetaObject::invokeMethod: No such method QQmlComponent::addItem(QString), followed by crash

Possibly AMD related. Only happens since I upgraded to an AMD CPU. It's possible that the problem exists on all architectures, but the crash is only triggered on AMD ones. It happens even with original HiFi interface binary compiled before the switch.

On interface start:

[12/24 20:35:13] [DEBUG] [hifi.scriptengine.module] ScriptEngine::require( "./modules/entityShapeVisualizer.js" )
[12/24 20:35:13] [DEBUG] [hifi.scriptengine.module] newModule ""
[12/24 20:35:13] [DEBUG] [hifi.scriptengine.module] require.fetchModuleSource:  "entityShapeVisualizer.js" QThread(0x1bd404b0, name = "js:defaultScripts.js")
[12/24 20:35:13] [DEBUG] [hifi.scriptengine.module] "require.instantiateModule: entityShapeVisualizer.js / 8025 bytes"
[12/24 20:35:13] [DEBUG] [hifi.scriptengine.module] //ScriptEngine::require( "./modules/entityShapeVisualizer.js" )
[12/24 20:35:13] [DEBUG] [hifi.scriptengine.module] ScriptEngine::require( "../modules/createWindow.js" )
[12/24 20:35:13] [DEBUG] [hifi.scriptengine.module] "require - using cached module for '../modules/createWindow.js' (loaded: true)"
[12/24 20:35:13] [DEBUG] [qml] [BaseWebView.qml] Connecting JS messaging to Hifi Logging
[12/24 20:35:13] [DEBUG] [hifi.animation] Sim joint added to flow:  "simTail1"
[12/24 20:35:13] [DEBUG] [hifi.animation] Sim joint added to flow:  "simTail2"
[12/24 20:35:13] [DEBUG] [hifi.animation] Sim joint added to flow:  "simTail3"
[12/24 20:35:13] [DEBUG] [hifi.animation] Sim joint added to flow:  "simTail4"
[12/24 20:35:13] [DEBUG] [hifi.animation] Sim joint added to flow:  "simRightEar1"
[12/24 20:35:13] [DEBUG] [hifi.animation] Sim joint added to flow:  "simRightEar2"
[12/24 20:35:13] [DEBUG] [hifi.animation] Sim joint added to flow:  "simLeftEar1"
[12/24 20:35:13] [DEBUG] [hifi.animation] Sim joint added to flow:  "simLeftEar2"
[12/24 20:35:13] [DEBUG] [hifi.animation] Sim joint added to flow:  "simTail1"
[12/24 20:35:13] [DEBUG] [hifi.animation] Sim joint added to flow:  "simTail2"
[12/24 20:35:13] [DEBUG] [hifi.animation] Sim joint added to flow:  "simTail3"
[12/24 20:35:13] [DEBUG] [hifi.animation] Sim joint added to flow:  "simTail4"
[12/24 20:35:13] [DEBUG] [hifi.animation] Sim joint added to flow:  "simRightEar1"
[12/24 20:35:13] [DEBUG] [hifi.animation] Sim joint added to flow:  "simRightEar2"
[12/24 20:35:13] [DEBUG] [hifi.animation] Sim joint added to flow:  "simLeftEar1"
[12/24 20:35:13] [DEBUG] [hifi.animation] Sim joint added to flow:  "simLeftEar2"
[12/24 20:35:13] [WARNING] [default] QMetaObject::invokeMethod: No such method QQmlComponent::addItem(QString)
zsh: segmentation fault (core dumped)  interface/interface

Narrowed it down to "system/create/edit.js" being included in defaultScripts.js. If that is commented out, things work.

Possibly related to interface/src/ui/LogDialog.cpp, given the mention of "Connecting JS messaging to Hifi Logging" and that this file contains calls like:

123:    _filterDropdown->addItem("No secondary filter...");
124:    _filterDropdown->addItem("default");
125:    _filterDropdown->addItem("hifi.audio");
126:    _filterDropdown->addItem("hifi.audioclient");
...

Feature: Allow selecting "green cubes"

Whenever I see a “green wire cube of not loaded entity” I want to click or laser it to see whats wrong or just delete it.

But for some reason, “green wire cube of not loaded entity”’s will have none of that, they ignore intersect.

I propose making “green wire cube of not loaded entity”’s intersectable when in create mode.

Feature: enhanced avatar *.fst file

Triggered by the demise of the marketplace, but really I always found it weird that, for example, the thumbnail images was handled as a separate thing so only marketplace avatar bookmarks has thumbnails (I know, the wolf3d avatars have no nails at all :-).

For a future with multiple marketplaces and better avatar apps I think it makes sense to put as much 'avatar specific' data as possible into the *.fst file.

For now, I suggest just deciding on what fields we want in there and extending the FST reader to support them, and maybe extend the avatar packager to write them, it won't break anything now since they are optional but they will be ready for future apps to leverage.

As far as I can tell, currently supprted fields are:

FST_VERSION = 1;
FST_VERSION_FIELD = "version";
NAME_FIELD = "name";
TYPE_FIELD = "type";
FILENAME_FIELD = "filename";
MARKETPLACE_ID_FIELD = "marketplaceID";
TEXDIR_FIELD = "texdir";
LOD_FIELD = "lod";
JOINT_INDEX_FIELD = "jointIndex";
SCALE_FIELD = "scale";
TRANSLATION_X_FIELD = "tx";
TRANSLATION_Y_FIELD = "ty";
TRANSLATION_Z_FIELD = "tz";
JOINT_FIELD = "joint";
BLENDSHAPE_FIELD = "bs";
SCRIPT_FIELD = "script";
JOINT_NAME_MAPPING_FIELD = "jointMap";
MATERIAL_MAPPING_FIELD = "materialMap";
COMMENT_FIELD = "comment";

All of which are optional, except for "filename".

I propose adding:

  • "image" or "thumbnail" maybe both?: relative or absolute image url. could also be useful in people/friends apps since the current user thumbnails are hifi dependent.

  • "description": there is already a (unused) comment field but I see this more like the stuff you would put in the marketplace description, could it support some kind of markup?

  • "licence" or "attribution": would this be sufficient for avatars that require attribution?

  • "viewpoint": currently users can select between "Head" and "Eyes" in the avatar app, but it really depends on the avatar which works best so it really should be an 'avatar' option rather than an 'user' option. And maybe... just maybe, it could be also be a vec3 to give avatar creators full control.

  • "animationLoop": I can elaborate if needed but basically a way to add non-overriding & non-rolebased looping animations to wings/tails/tentacles/antennae/lewd appendages etc. It is up to the avatar creator to ensure that it does not clash with the role animations or IK controlled joints.

  • ideas?

Installer will remove previously installed interface when installing sandbox

[This relates specifically to the 0.86.0 installer so I don't know if it will be an issue with Athena.]

If you already have interface installed, then decided to used the combined installer to add the sandbox, unless you check both boxes during this process (interface and sandbox), it will remove the interface leaving you with only the sandbox.

Whitelabel options file for forks

Some kind of variable file which makes it easier for Forks to customize their project name etc.

Why?
We probably want to make it easy for third-parties to setup their custom clients(/servers). The easier we make this the more probable it will be that they will use this software and contribute back to us.

Should contain:

  • Project name
    • Full
    • short-lowercase (for project naming etc)
  • custom path to icons?
  • launcher options customization?
  • Organisation name

Client side Whitelisting is to restrictive.

Client side Whitelisting is to restrictive. It kills literally the experience put in place on a domain by its creator. Users come to a domain without the scripts access in it's the whitelist so nothing works. A notification would be another level of pain.
(Imagine have to accept all the javascript running on every single page on the web. Doesn't make too much sense, right? Why we would have the same here? )

Instead I would suggest this:

Have a "Domain Side Whitelist", where the domain owner define the whithelist for what is expected to run on his domain.

The "Client Side Whitelist" still exist.

But, instead of only the Client side list, the Whitelist to be applied would be:

{Domain Side Whitelist} + {Client Side Whitelist}

This way, we would be protected from Troll's script that harm our preferred place in the metaverse.
We won't be from Troll's Domain. But well... Just don't go there.

All other possible breach should be addressed outside of this issue. "Settings" for example, should not be modifiable by scripting.

in-app browser is out of date

whatever flavor of Chromium (it's chromium right?) seems out of date, many pages, including github, show a message that the browser is no longer supported
Skærmbillede 2020-01-14 01 36 10

VR Feature: add Window.pasteFromClipboard()

There is already a “Window.copyToClipboard( text )” api method to copy text to system clipboard, I propose adding “Window.pasteFromClipboard() → text

I would still very much like a application wide, hardware agnostic way to do copy/paste i VR but until then, this is a start.

Flying speed reduces when releasing the 'W' button

When flying, pressing forward and clicking shift speeds you up slowly and builds up momentum.
When releasing the 'W' button the speed drops down to zero and it slowly needs to be built back up.

Is it possible to have a consistent speed without building up momentum? When flying the speed should always be the same and would remove the use of shift.

Entity script console.log/info should show entityID on each line

When extra debugging is enabled. This prevents phantom leftover statements to pile up in domains with little way of tracking them down. This tells you exactly what entity is outputting it and therefore what script is outputting the statements if you need to track it down.

Allowing serverless Json work on http:

I tested this out I transfer the serverless domain contents into a Dropbox and it provided me with the links to go there so I put the links into the goto section of hifi client and wouldn’t teleport me there directly.

Flow Physics C++ fix: Implement with Bullet.

Currently the C++ implementation of flow is buggy. It currently is its own little mini-segment of a physics engine. It should be refined and fixed, but is it easier to try and fix the current implementation? Or, would using Bullet or PhysX be easier, and then that ground work allows for further usage and module creation.

If the path of fixing the current implementation is used, it should be well isolated and the code should not be reused to avoid creating a physics nightmare. We should be trying to use a third party implementation for an engine (e.g. PhysX) that is well featured and tested, made to work with software like this.

So modularizing and improving what we have now or replacing it would be a good place to start.

Avatar locomotion speed is unnatural

Original author "ultranique" posted on the roadmap for High Fidelity:

I have noticed issues with the avatar locomotion in 82.1, where avatars scaled smaller than 1x move quickly/erratically and skip the walk animation and go directly the the run animation state. The opposite is true of avatars scaled larger than 1x - they move extremely slowly, like walking through molasses. When the avatars are smaller I have also seen some random T-poses blip in after each run animation cycle. I would expect the animation to stay consistent and scale to the size of the avatar to maintain the same frame rate, but it seems that is no longer the case.

Debug build crash at start-up: "vector subscript out of range"

/kasen/core Commit: 8c86b5f [8c86b5f]
VS2017

Call stack:

interface.exe!std::vector<AnimPose,std::allocator >::operator[](const unsigned __int64 _Pos) Line 1733 C++
interface.exe!AnimBlendDirectional::evaluate(const AnimVariantMap & animVars, const AnimContext & context, float dt, AnimVariantMap & triggersOut) Line 99 C++
interface.exe!AnimBlendLinear::evaluateAndBlendChildren(const AnimVariantMap & animVars, const AnimContext & context, AnimVariantMap & triggersOut, float alpha, unsigned __int64 prevPoseIndex, unsigned __int64 nextPoseIndex, float dt) Line 91 C++
interface.exe!AnimBlendLinear::evaluate(const AnimVariantMap & animVars, const AnimContext & context, float dt, AnimVariantMap & triggersOut) Line 48 C++
interface.exe!AnimOverlay::evaluate(const AnimVariantMap & animVars, const AnimContext & context, float dt, AnimVariantMap & triggersOut) Line 56 C++
interface.exe!AnimOverlay::evaluate(const AnimVariantMap & animVars, const AnimContext & context, float dt, AnimVariantMap & triggersOut) Line 56 C++
interface.exe!AnimOverlay::evaluate(const AnimVariantMap & animVars, const AnimContext & context, float dt, AnimVariantMap & triggersOut) Line 56 C++
interface.exe!AnimOverlay::evaluate(const AnimVariantMap & animVars, const AnimContext & context, float dt, AnimVariantMap & triggersOut) Line 56 C++
interface.exe!AnimTwoBoneIK::evaluate(const AnimVariantMap & animVars, const AnimContext & context, float dt, AnimVariantMap & triggersOut) Line 55 C++
interface.exe!AnimPoleVectorConstraint::evaluate(const AnimVariantMap & animVars, const AnimContext & context, float dt, AnimVariantMap & triggersOut) Line 45 C++
interface.exe!AnimTwoBoneIK::evaluate(const AnimVariantMap & animVars, const AnimContext & context, float dt, AnimVariantMap & triggersOut) Line 55 C++
interface.exe!AnimPoleVectorConstraint::evaluate(const AnimVariantMap & animVars, const AnimContext & context, float dt, AnimVariantMap & triggersOut) Line 45 C++
interface.exe!AnimStateMachine::evaluate(const AnimVariantMap & animVars, const AnimContext & context, float dt, AnimVariantMap & triggersOut) Line 93 C++
interface.exe!Rig::updateAnimations(float deltaTime, const glm::mat<4,4,float,0> & rootTransform, const glm::mat<4,4,float,0> & rigToWorldTransform) Line 1628 C++
interface.exe!Model::updateRig(float deltaTime, glm::mat<4,4,float,0> parentTransform) Line 1397 C++
interface.exe!MySkeletonModel::updateRig(float deltaTime, glm::mat<4,4,float,0> parentTransform) Line 337 C++
interface.exe!Model::simulate(float deltaTime, bool fullUpdate) Line 1390 C++
interface.exe!SkeletonModel::simulate(float deltaTime, bool fullUpdate) Line 164 C++
interface.exe!MyAvatar::simulate(float deltaTime, bool inView) Line 925 C++
interface.exe!MyAvatar::update(float deltaTime) Line 773 C++
interface.exe!AvatarManager::updateMyAvatar(float deltaTime) Line 168 C++
interface.exe!Application::update(float deltaTime) Line 6557 C++
interface.exe!Application::idle() Line 5257 C++
interface.exe!Application::event(QEvent * event) Line 4214 C++
[External Code]
interface.exe!Application::notify(QObject * object, QEvent * event) Line 4171 C++
[External Code]
interface.exe!main(int argc, const char * * argv) Line 442 C++
[External Code]

Debug Assert

Avatar Packager - Users aren't aware their avatar is ready when they reach the "Upload" button.

We are going to need to make a slight modification to the avatar packager. As far as I know, all the processes of packaging and checking for errors is fine and happens locally. At the point the packager finally says "Upload," users have no way of knowning their avatar has actually been prepared and a sent to "C:\Users\youraccount\Documents\High Fidelity Projects." The upload button currently takes this avatar and moves it to the High Fidelity marketplace. This button will have to be removed.

My suggestion for the time being is a simple fix. Remove the upload but and leave a message indicating where they can find their packaged avatar (locally), followed by a link to a document explaining some of their options (digital ocean, amazon, etc). It would really be nice to see this in K2, as I suspect it's a quick fix.

Interface fails to acknowledge any audio devices.

No audio devices appear in the audio menu. This has been happening to multiple users lately with increasing frequency over time, although I myself did not start experiencing this until the last week or two, some time after the release of 0.86.0.

[WARNING] [default] AudioDeviceList scripting::AudioInputDeviceList::onPeakValueListChanged length mismatch

hifi-log.txt

The default graphics setting of 'Low' is awful -- it throttles framerate and causes weird motion

Setting graphics to 'Low' has two very undesirable effects:

  • It caps the framerate
  • Flexible objects like Fennec ears start to oscillate when the interface window is not focused

I think the way this setting works is extremely undesirable and causes a very bad first impression. Capping the framerate might make sense in some situations, but I think it should never be done by default -- it creates the impression the interface is much slower than it truly is.

I suggest the following fixes:

  • The current 'Low' should be either removed entirely or renamed to something like 'Throttled', or 'Battery saver', and be only chosen by intentional user action.
  • The interface should try to select the highest functional graphics setting by default.
  • Perhaps there should be some sort of "(safe mode)" flag in some prominent place like the title to indicate that things are set to low as a troubleshooting measure.

Teleport interferes with movement.

On the Oculus Rift teleport interferes with your ability to turn. If you are moving forward and you push turn it stops you in your tracks and you stop moving.
The teleport button should be moved back to where it was on the right hand button B.
And when you're moving forward it should not interfere with your ability to turn. Jumping and flying should be moved back to where they were on the joystick. They should be checked and made sure that they do not interfere with each other and work the way they used to.

No ability for multiple entities to reference the same material entity

At the moment only a single entity can be influenced by a material entity, requiring a separate material entity for every mesh that want's to use this material. If we were able to allow multiple entities dramatically simplifies workflow for creators. Right now the connection is made by turning a material entity into the child of the mesh it influences. Perhaps there is another way to connect these allowing for flexibility.

Press "T" to push to talk cancels out emotes

When enabling push to talk while emoting "sit" for example, cancels out the emote whenever you press "T" to talk.

  • Keybinding the push to talk button would resolve the issue.
  • Having sit as a general movement then an emote would also resolve the issue.

Feature: Portal dropper default script

What it would look like...

  • Open Explore app.
  • Hover over a place and you'll get buttons, but amongst those will be a portal button.
  • Clicking the portal button will send a message over the mixer for everyone to see a portal at the coordinate, which would be a local entity.
  • Walk into the local entity and you'll get sent to wherever the destination was of that portal (since it'll be in the userData of the entity.)

Stutter/slowdown during avatar scaling.

When a user rescales their avatar, they will notice a dramatic reduction in gamerate until the finished. This was not always an issue and may have appeared when more advanced avatar collisions were implemented.

  1. Open avatar app and click the settings icon on the top right.
  2. Drag the avatar scale slider and observe.

Thoughts:
This may be due to physics calcutions on detailed avatar collisions. If so, it might be able to default to pill collision only while in the process of scaling, waiting to calculate detailed collision until scaling is finished.

Bug: scripts fail to load

This one was invented for 0.86.0 I think (or was it 85? I reported the bug on oct. 4th). Bug also present in K2 (200122_Unofficial_Opus)
With a frequency of about 10-20%, when I start interface it fails to load most or all of my scripts, including default scripts, it has been verified by several others, including some poor souls trying hifi for the first time.
I did send log files at the time And I can do that again on request but I don’t really see anything in there that looks related.
This came about at the same time as the unwarranted stolen avatar messages and I’m pretty sure they are related, I don't really use marketplace avatars anymore but I would assume that this is also still happening.
There is a non-zero chance this may go away when we change metaverse API but at-least now it's on-record.

To reproduce: well, It happens a lot to me but some never see it? I usually load in my local sandbox but I don't think it makes a difference, maybe metaverse server ping related?

CMake step 'Quazip' fails

Current known solution is to hardcode the following line in the quazip CMakeLists.txt:
SET(Qt5Core_DIR "C:\\Users\\Thijs\\hifi\\qt\\5.12.3\\qt5-install\\lib\\cmake\\Qt5Core")

Housekeeping: "Plugin hifiKinect.dll failed to load"

" Cannot load library C:\Program Files\High Fidelity\plugins\hifiKinect.dll: The specified module could not be found."

Not a big one, but more of a housekeeping bug. If this is no longer in use perhaps we should stop looking for it?

Graphics settings revert to High/Medium/Low on next session if set to Custom

discovered in 0.86.0

If I alter my graphics settings, close the interface, and then open again, all my settings revert to their previous state.

Users should be able to save their prefered graphics settings.

  1. open interface
  2. in the graphics menu, switch to any other graphics mode (low to high, high to low, etc).
  3. close interface
  4. reopen interface
  5. note graphics settings.

I've attached both before and after images of the graphics menu as well as logs
01_graphics_revert_close
01_graphics_revert_close.txt
02_graphics_revert_open
02_graphics_revert_open.txt

LOD Problems in 0.86.0

In version 0.86 if you tab out, LOD will slowly decrease over time. Tabbing back in often causes content to flicker in and back out.

Simplified UI contains some fixes that apparently fix this issue.

Feature: Disable animations when in wearables menu

When placing wearables on the avatar in the avatar menu it is quite annoying that I won’t stand still.
Animations should be disabled and avatar in a neutral idle pose (or T-pose).

Reproduce: try to precisely add an item to your avatar in the Avatar→wearables menu ,aarrgh.

PR#53 broke Windows builds

Configuring a Windows build with an empty build directory fails:

D:\Workspaces\CtrlAltStudio\Athena-C\Athena-C\build>cmake .. -G "Visual Studio 16 2019" -A x64
-- EXTERNAL_BUILD_ASSETS: https://athena-public.s3.amazonaws.com
Traceback (most recent call last):
  File "D:/Workspaces/CtrlAltStudio/Athena-C/Athena-C/prebuild.py", line 22, in <module>
    import hifi_vcpkg
  File "D:\Workspaces\CtrlAltStudio\Athena-C\Athena-C\hifi_vcpkg.py", line 12, in <module>
    import distro
ModuleNotFoundError: No module named 'distro'
CMake Error at CMakeLists.txt:81 (message):
  vcpkg configuration missing.

Empty build directory
cmake on kasen/core just immediately prior to PR#53 succeeds.

Empty build directory
cmake on Kasen/core at PR#53 fails. <<< bad

Empty build directory
cmake on kasen/core just immediately prior to PR#53 succeeds.
Update to latest kasen/core without cleaning build directory.
cmake on kasen/core succeeds. <<< manual work-around

#53 "Add support for Ubuntu 19.10, modernize vcpkg"

"Auto" Developer/Rendering/Maximum Texture Memory just sets it to 1 GB.

The setting is not "auto" whatsoever and just sets it to a hardcoded value of 1GB. This is incredibly wasteful on modern hardware, with cards having memory amounts of 8GB quite often.

I already looked into it, and intend to try to submit a fix soon-ish. Submitting the bug here for tracking purposes.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.