13 Commits (883bc2602630cbab884c8c4ea97972a7b389ccb1)

Author SHA1 Message Date
Nico de Poel a886f3d993 First steps in reorganizing the project, so that assets and game state are managed separately from the interop modules. This will allow for a clearer picture of where gameplay-related interactions should take place, and how entities and such should be linked to their associated assets. 5 years ago
Nico de Poel 15e3faa753 Added callback function to allow Quake to send the view parameters to Unity, and apply them to the main camera. This makes actual movement through the map in Unity possible. 5 years ago
Nico de Poel 11c3b2d826 Defined structs for BSP SubModels and Nodes, which will allow for a more systematic conversion to Unity meshes. Also moved more marshalling code into the data classes, which seems like a more natural place. 5 years ago
Nico de Poel 89f3600608 Reconstruct brush model data based on glpoly_t data generated by GLQuake. We can now successfully display BSP maps in Unity! 5 years ago
Nico de Poel 3988db5f8e Defined a bunch more data for brush models and initial marshaling of model data 5 years ago
Nico de Poel 4a7155bb1b Fixed marshaling of multi-dimensional arrays of QGLTextures, and add a second unlit material layer with additive blending for models that use fullbright textures 5 years ago
Nico de Poel e70d363998 Implemented uploading of skin texture data to Unity, and linking loaded alias models to their primary skin texture 5 years ago
Nico de Poel 428eebb941 Pass along alias frame type and correctly count the total number of poses in a model, so that the correct number of pose vertices are marshaled and we can identify models that use group frame animations instead of typical single frames. Quake's model formats are weird. 5 years ago
Nico de Poel 96d2a1fe7b First setup to upload brush models (specifically: the world model) from Quake to Unity. Updated the QWorld class to include the fields added by QuakeSpasm. 5 years ago
Nico de Poel 4d974bf6cd Solved the UV correcting problem for backside triangles by pre-processing the model input data, whereby vertices on the seam are duplicated and adjusted. The rest of the mesh conversion process then remains as it was. 5 years ago
Nico de Poel e8a3313d88 Some cleanup 5 years ago
Nico de Poel 834ff9a794 First test converting models from Quake into Unity meshes, including normals and UVs. It's still far from perfect (back side UVs are not handled at all yet) but it's a good demonstration of what will be possible. 5 years ago
Nico de Poel 754812d63e Split all of the callback modules' native interop boilerplate code off into separate partial class files, to keep the actual logic code clean and easy to read. 5 years ago
Nico de Poel e416868650 Modifications to make UniQuake work with a new engine DLL based on QuakeSpasm: 5 years ago
Nico de Poel 0f02005c58 Reimplemented uploading of alias model data, which now includes all vertex, triangle index and UV data 5 years ago
Nico de Poel 3b4382954a Some renaming and reorganization 5 years ago
Nico de Poel ec8951fa7c First test to upload model data (brush models and alias models) from Quake to Unity 5 years ago