Jump to content

DOWNLOAD MODS

Are you looking for something shiny for your load order? We have many exclusive mods and resources you won't find anywhere else. Start your search now...

LEARN MODDING

Ready to try your hand at making your own mod creations? Visit the Enclave, the original ES/FO modding school, and learn the tricks of the trade from veteran modders...

JOIN THE ALLIANCE

Membership is free and registering unlocks image galleries, project hosting, live chat, unlimited downloads, & more...

DaMage

Moderators
  • Posts

    1,293
  • Joined

  • Last visited

  • Days Won

    16

Everything posted by DaMage

  1. So I've been working on another unrelated thing lately, so my time quickly disappeared for working on this project. But this week I made some time to try and solve the issue I had run into before, mainly the fact that textures were not rendered correctly. Oh, they looked fine on the iron cuirass up there, but if I was to move the camera, you can visually see the texture warping incorrectly. So in rendering there is and issue to do with mapping 2D textures onto a 2D plane that is represented in 3D space.......anyone who has experience with 3D modelling will know about UV coordinates, and how you use them to say where the texture goes. Well when rendering if you just use those values (which are assigned to the vertices), then you end up with whats called 'affine' texture mapping, its quick and easy to do (since you just read the UV values), but its ugly. This is because you are mapping a 2D texture onto the 2D plane on the screen, however that plane's back edge might be 'into' the screen, hence it should look smaller since it is further away, but affine ignores this effect and just pastes it straight on. The correct way to do the textures is called Perspective Correct Texture mapping, where you the special 'w' values from projection to modify the UV coords interpolation so that the further away from the camera it gets, the smaller the texture is. It really complex, and it took me days to get my head around the maths. The biggest problem is I am now well into the area where people just dont do programming, this stuff is all done for you in openGL and other....so very few hobby programmers know anything about how it works. Which was frustrating as the only info about it would be from thesis summaries and such....which are really hard to read when you are learning. I've also now gone beyond anything I have every had to program in graphics rendering before, in university we had switched to openGL once we got to texturing. Its all brand new, but so much fun to learn. Now for the bit you non-programmers like, pictures! well only one picture, but still: As you can see, now that hallway form before has textures on the walls, and the whole thing is starting to look like a real thing. Basically there is three parts left to all this, one easier then the other two. 1. Lighting. At the moment everything is bright and colourful. Realisticaly I want to put a light into the scene, so things further away get darker and plain shaded objects get more definition. This is the easy one. 2. Animation. At the moment there is only basic rotation, movement and scaling. What I need to be able to rig object up to a skeleton and move them around like that. 3. Optimisation. At the moment it run 'okay'. In that hallway I was getting 30FPS, but there is so much code in there that is just useless and slowing things down. Also, many of my functions were created 'to get things started' and could be made much faster. Tune in next time, whenever that will be.
  2. Well I guess the bag is on fire and out of the cat now.

    1. Show previous comments  2 more
    2. Jheuloh

      Jheuloh

      So a cat ate a bag and it somehow caught fire inside the cat and the cat coughed it back up?

    3. Vouivre

      Vouivre

      Cats from Oblivion do that. It's like catnip.. or something.

    4. donnato

      donnato

      Orrr burning hairballs..?

  3. Congrats Rider and Wind! I will be follow you with interest.
  4. Going to do a mini-update here to show a new picture....since I didn't put a picture with the one yesterday. I spent the day looking into improving my matrix algorithms and also doing various other fixer jobs and adding wireframe mode. I maged to improve my test case from 60-70 FPS up to 110-115 FPS, through doing some hardcoding and duplication parts of code rather then using a loop. In worldspace the apples are actually spinning around, but that doesn't come across the in the pictures. To the pictures! Normal: Wireframe: (sorry for the bad background)
  5. From what I know, it is possible to change stuff (there are a few UI mods out there), but I looked into it when Skyrim first came out and it was very complex to actually be able to do anything, I doubt that has changed all that much. A quick search turned up this page, which might be useful to you: http://www.gameskyrim.com/modding-the-gui-t187236.html
  6. So there aren't any new pictures for this update, as animation does not come across well in static images. I have finally hit a roadblock that has no real solution.....poly count. Part of the rendering pipeline involves multiplying each vertex by a number of matrices, these involve the translation, rotation, scaling, camera and projection. This is where all the tough maths is for the computer and what video cards are made for....mass matrix multiplication......JavaScript however, is not made for such things. The trouble is, JavaScript is so slow that doing all these multiplications on even 100 vertices, will bring the whole thing to a slideshow. Huge problem..... Now as far as I've seen, I've got tons of memory to play with, so I'm going to take advantage of that. See for the translation, rotation, scaling matrices (5 in total), unless the object's values for those is going to change (eg, animated object) I don't actually need to compute the multiplication every time, I can just compute it once when the object is loaded, that way static objects, like the floors and walls now have significantly less impact on the performance. That helps, but it is far from a solution, of course any model I load into this is going to have to be super-low poly....like early nineties low poly. Definitely going to have to chuck some sprites in there.....but whatever. Edit: Another idea, at the moment I calculate faces one-by-one, but since faces share vertices, I am in effect doing the same calculation multiple times. A much better method would be to calculate all the vertices, then starting doing the various faces. My data structure already supports this, I just need to modify my pipeline.
  7. I realized quickly i need a way to get high-poly model into my engine if I am to test how it copes with lots of triangles, which basically means I needed to get cracking on my .obj to .json converter. In a previous project I had also created my own material file instead of using .obj's really confusing one, i call mine an .xmt and it is hand created when I do models, its a super quick process as most models don't have many different materials and it just hooks into the same naming as when the .obj uses. After two nights in visual studio, I now have a very simple command line program to convert them, it really need more development, but it does enough for the moment. As I have done in the past, I used Oblivion's Iron Cuirass as a good testing model. It has a decent texture and plenty of triangles. Also, the reason the background is white is that I'm working on a new gradient system, but its not ready for show yet. So that high poly model caused a bit of a frame drop, but considering it has 403 faces, I would call that a large budget, also this is unoptimized, and I know one spot that really needs optimizing for the triangle creation. It also has a larger then normal texture, which has a huge impact on loopup speeds and where much of my FPS has been lost to.
  8. Thats the problem, there are so many options and tons of 'facts' that I dont fully understand. I was hoping some people around could say what they use and what they think of them, gives a good benchmark.
  9. Okay, my last headset is simply too broken for me to use anymore, so I need to get a new one....but I know very little about headsets in general, I'm hoping some of you could help me. So some guidelines: - I have about $150 to spend, so we are looking at a good set here. - I want 5.1 support. - I would prefer wireless, as my last set were and it was really great Other then that, go nuts! Also: My last set was a Corsair Vengeance 2000, it has a serious design flaw where the plastic sides break. Dont pick that one.
  10. If anyone reading this has see a similar a project where someone has been building a javascript based 3D renderer without using WebGL, could you post a link to them? I've done searches, but most people have only scrapped the surface of such a thing, and I'd love to see what others have been able to do. I'm just going to continue to document what I'm up to, even if nobody who reads this understands what I am saying. To update on what I've being doing, I added basic support for textures along with really improving my FPS by changing how the depth buffer is set. At the moment there seems to be a laggy spot with either the triangle decomposition code, or with the triangle edge forming code....however that lag only kicks in when a large polygon has a texture and clips the edge of the screen. The biggest bottleneck I have found with this project is the getting and setting of value within arrays that have 200,000+ values......javascript is really bad at handling such large arrays. Trouble is the screen, depth buffer and all the textures are these big arrays....so it's all been about trying to limit access to these as much as possible. Moving forward I need to optimise that code and look at a few things: 1. Lighting per vertex effects, still tossing up if I want per vertex or per face....most likely I'll test both and throw away per vertex if it is too expensive. 2. A C++ program to convert .obj to my json based object format. Luckily some old code that loads .obj's will make this easier. 3. A simple dungeon generator. Think Elder Scrolls: Arena style, flat walls and all level. 4. Moar Optimisation, such as front-to-back face/object ordering and just other tricks with the arrays to squeeze out more FPS.
  11. I'll update this first post over time to make it look 'pretty', but for now I just feel like getting the basics down. Background As you guys might have noticed I stopped modding around the middle of last year, there were a few reasons for this, the final year of my degree was tough (and I wanted perfect grades so it took a ton of time), then over the summer (November - February) I got my first ever job as an intern at a government IT company. I thne postponed graduating to add software engineering to my degree, which I am doing now. But one of the biggest reasons I stopped was because I learnt how to build a 3D renderer, and that coupled with my modding knowledge, had a near complete skillset to build my own game engine. I started building one in C++, and it works and looks great, but is only still a renderer, however during my job I had to do a lot of work with Javascript and a HTML5 canvas and it occurred to me that if I could build an engine in that it would be really easy to distribute. Hence this project was born. I started a few months ago, but had to stop working on it once university work took over, I had this week off and spent a ton of time making my engine actually do basic 3D. Once next week is over I have 5 weeks of holidays in which I want to develop a basic game, and at least attempt to take this to the next level. 3D HTML5/Javascript Game This is as much a proof of concept as a real game idea, of which I am attempting to a make a 3D game that could be distributed over the internet as a it could run in your browser. To do this I am manually creating the 3D game image pixels and then copying them into a HTML5 canvas. While many would go and use something like WebGL for the actual rendering, as part of my experiment I want to build the pixel renderer myself. At the moment the 'game' part of this Game is just an idea locked in my head that I will reveal later as I see how viable my engine is. Needless to say, the idea is sort of a dungeon crawler where you the player can create the dungeons that people can use. Pictures The intial stage, the renderer is able to show static 3D models, no textures or lighting yet. Camera can be move around, but controls are basic. The various rendering steps have not been optimized yet, but the FPS for this simple scene stays around 50.
  12. I'm cold :(

    1. DarkRider

      DarkRider

      Awwww...you can have our heat, we'll take your winter thanks

    2. grond

      grond

      O great. Now *I'm* cold. Nice going Rider. LOL

    3. DarkRider

      DarkRider

      ROFL Just snuggle the wonderpup Grondo! :P

  13. Good tip, You might want a few bugfix mods....but really, New Vegas is really good without overhaul or big mods on it. Like seriously, its old school RPG fun.
  14. Oh! I know what you mean, the heads of creatures/NPCs have built in animations for the facial features. Is the animation that i going bad when you make your changes? Geez, I dont know much about them.
  15. Okay, a few important things you need to know about Oblivion .nif files. The bone structure on the actual rigged objects is not complete, and trying to animate using them will no work. What you have to do: (this is written fro memory, so there might be slight errors) 1. Import the body meshes first 2. Delete the skeleton nodes that was imported them 3. Import the creature/character's skeleton model, with 'skeleton only' and the animation attached 4. Parent all the body meshes to the new skeleton. 5. Create your animation using the skeleton. 6. Export your animation as a .kf file. Now some other important notes: The last thing imported must be the skeleton.nif. If you start animating and see that you need another model, import that model and then re-import the skeleton and delete it. This set up some hidden value need for the animation export. If you do not do this correctly your creature basically explodes in the CS/Game, even though it looks fine in nifskope. I was one of the first people to run into this bug, it was very frustrating to figure out the first time. Another important note, do not manually change the scale of the bones in the skeleton.nif, this will destroy the correct scaling when you go to do animations. I have a txt file that is my animations error FAQ, I really need to track it down and upload it somewhere.
  16. When texturing from scratch you do really need to understand how a 2d Texture is applied to the 3d Model. There are two approachs to this, creating a UV map and using it as a guide to draw the texture onto the 2D image (produces the best results but is slower if you are new to texturing) or stretching a UV map to match your texture. The second approach only really works well when you have an object where the texture have been taken from real-life photos where you can get the angles you need. I suggest the first option if you really want to get texturing something complex. You'll notice on Bethesda textures that everything is well laid out and seperated by gaps, this is because the 3D model artist has created the model and UV mapped it in a way that makes it fairly clear where on the texture the various part need to go. The bethsoft texture artist would be given the UV map as a 2D image and then they would build the texture within that. Your 'cavity map' is close enough to represent what parts of the texture map are applied to what, so you should be able to get a good fitting texture.
  17. DaMage

    Arena (The Flash Back)

    Ahhhh.....the memories.
  18. DaMage

    Windshear

    JAW ON THE FLOOR This is really nice.
  19. DaMage

    By Azura...

    What is that tower like thing in the distance on the mountain?
  20. I don't check my mod pages much at all...sorry about that. You don't mention it, but do you have OBSE installed? I forgot to explicitly mention to have OBSE installed in the readme for the playable version. Also, if that is your load order, place TOCP.esm after Oblivion.esm. Other then that, you seem to have followed the instrcutions correctly.
  21. Love it, want it. awesome.
  22. DaMage

    Church

    all your edges seem to be on smooth mode, which is where they are strange shadows all over it.
  23. DaMage

    Dwemer Submarine

    we all live in a dwemer submarine, a dwemer submarine...
×
×
  • Create New...