[WIP] WebWoWViewer menu

These ads disappear when you log in.

Results 1 to 11 of 11
  1. #1
    deamon1987's Avatar Active Member CoreCoins User
    Reputation
    60
    Join Date
    Apr 2010
    Posts
    14
    Thanks G/R
    0/15
    Trade Feedback
    0 (0%)

    [WIP] WebWoWViewer

    This project has been in development for over a year. All is open sourced and available at github: link (the code is shit sometimes though )

    It started as a simple attempt to recreate functionality of old WoWMapViewer but solely in js and WebGL.

    During this time, at least one feature was implemented that has not been ever implemented in WoW Map Viewers: portal culling.


    During the development I tried my best to get a decent fps from WebGL and it's really hard. Frustum culling happens every frame to

    Right now my goal to recreate human starting animation, when camera flies through Stormwind with all mobs and players moving and spells animations, just like it was seen in client WotLK times.

    Some current screenshots are included.

    There is also another similar project: wowser (link to github). It's aim is to recreate full game client with packets going through WebSocket connection. I myself do not work on it, but since I'm in close contact with it's developer fallenoak, I feel it's worth mentioning it.

    I want to say a special thanks to:
    - schlumpf
    - fallenoak
    - warpten
    - relaxok
    - and all the maintainers of wowdev.wiki website. Without all that information collected in one place, this project would not be possible
    Attached Thumbnails Attached Thumbnails [WIP] WebWoWViewer-cementry-jpg   [WIP] WebWoWViewer-traders-jpg   [WIP] WebWoWViewer-0qmhqry-jpg   [WIP] WebWoWViewer-blob-jpg   [WIP] WebWoWViewer-wvtueks-jpg  


  2. Thanks Smitten, Vandra, Xel, ev0, Krack3n (5 members gave Thanks to deamon1987 for this useful post)
  3. #2
    Vandra's Avatar Contributor CoreCoins User
    Reputation
    288
    Join Date
    Mar 2008
    Posts
    471
    Thanks G/R
    26/26
    Trade Feedback
    0 (0%)
    Looks really great man.
    Simple curiosity, what are the performances with and without culling ?
    "If it compiles, it works."

  4. #3
    deamon1987's Avatar Active Member CoreCoins User
    Reputation
    60
    Join Date
    Apr 2010
    Posts
    14
    Thanks G/R
    0/15
    Trade Feedback
    0 (0%)
    Originally Posted by Vandra View Post
    Looks really great man.
    Simple curiosity, what are the performances with and without culling ?
    Thanks

    Fps can be very different. It highly depends on zFar parameter.
    But as an example, one of scenes I was testing is one adt chunk from outland that includes Shattrath city. At first the fps was around 10-12.
    Once I implemented frustum culling and instancing, the fps went to 40. I do not use portal culling for that scene, because turning portal culling on drops fps to 25-27. I do not know the exact reason for that, maybe there is some mistake in my algorithms.

    On the other hand, in Ironforge with portal culling on, fps goes from 4 to stable 55-60. But in the same time a similar effect in Ironforge happens if I set zFar from 1000 to 400 even without portal culling.

  5. #4
    Nyarly's Avatar ★ Elder ★ Lorekeeper of Exploration CoreCoins User
    Reputation
    1089
    Join Date
    Aug 2007
    Posts
    1,649
    Thanks G/R
    366/313
    Trade Feedback
    0 (0%)
    Quite amazing, you can be proud of this sir
    Do you intended to host a private web server with it? I don't really see how to use this (outside of a cool tool), but I guess people will have ideas...

  6. #5
    deamon1987's Avatar Active Member CoreCoins User
    Reputation
    60
    Join Date
    Apr 2010
    Posts
    14
    Thanks G/R
    0/15
    Trade Feedback
    0 (0%)
    Originally Posted by Nyarly View Post
    Quite amazing, you can be proud of this sir
    Do you intended to host a private web server with it? I don't really see how to use this (outside of a cool tool), but I guess people will have ideas...
    I have test page at WebWoWViewer: tech demo But it's outdated, I haven't updated it for several months.
    The first two items in the list (Shattrath and Ironforge) are view-able without client. Any other items in the list require a http server that will provide files from MPQ.

    In theory it's even possible to get files from MPQ archives without server. I compiled Stormlib into js with Emscripten. Test page: StormLib.js demo But this will require user to manually choose files from disk.

    Another thing that can be done with this app is those webgl viewers that any wow database websites have. WebWowViewer is very close to that functionality: viewing NPC's outfit and animations. Not much changes must be done to fully catch up with those existing web viewers.

    What I still miss is particle and ribbon emitters implementation.

    I do not think I will ever host a dedicated server for this app. My intent is doing educational demo project. For demo purposes I can extract all required files for one particular scene from MPQ and place them into zip archive. What I actually did for Shattrath and Ironforge demos

  7. #6
    deamon1987's Avatar Active Member CoreCoins User
    Reputation
    60
    Join Date
    Apr 2010
    Posts
    14
    Thanks G/R
    0/15
    Trade Feedback
    0 (0%)
    Working on proper rendering of login screens.
    9PpiYpl.jpg

    That almost hit the spot. Only some background meshes do not have greenish color.
    Last edited by deamon1987; 11-16-2016 at 05:15 AM. Reason: small addition

  8. #7
    deamon1987's Avatar Active Member CoreCoins User
    Reputation
    60
    Join Date
    Apr 2010
    Posts
    14
    Thanks G/R
    0/15
    Trade Feedback
    0 (0%)
    Some more development screenshots
    Attached Thumbnails Attached Thumbnails [WIP] WebWoWViewer-n2lure4-jpg   [WIP] WebWoWViewer-dev_screen-jpg  
    Last edited by deamon1987; 12-28-2016 at 05:37 AM.

  9. #8
    deamon1987's Avatar Active Member CoreCoins User
    Reputation
    60
    Join Date
    Apr 2010
    Posts
    14
    Thanks G/R
    0/15
    Trade Feedback
    0 (0%)
    Added support for Legion: some bugs are included in this showoff video


    I will update the github.io page for app, as soon I will have proper interface for loading implemented.
    From this video as you can see it's a little hacky atm

  10. Thanks ev0, eSko, BFL (3 members gave Thanks to deamon1987 for this useful post)
  11. #9
    deamon1987's Avatar Active Member CoreCoins User
    Reputation
    60
    Join Date
    Apr 2010
    Posts
    14
    Thanks G/R
    0/15
    Trade Feedback
    0 (0%)
    Wanted to give a little thumb up.

    Right now I'm rewriting the same logic I had in JS to C++. So far I finished most of it. Only some little things are left that I already had in JS version.

    As for progress I finally figured out the right math for culling the portal's polygons as shown in video below. I didnt have that in JS version


    As soon as I finish porting process, I plan to bring Legion support, give it some kind of UI and make first release

  12. Thanks ev0 (1 members gave Thanks to deamon1987 for this useful post)
  13. #10
    ev0's Avatar Moderator Press "1" for Help
    CoreCoins User Authenticator enabled
    Reputation
    1806
    Join Date
    Jul 2012
    Posts
    2,460
    Thanks G/R
    287/348
    Trade Feedback
    15 (100%)
    Hey man,

    I keep checking out this project in awe; it's truly a masterpiece.

    Thank you for contributing such a neat idea to the community, I'm learning a lot about webgl from this.
    - Professional PHP/MySQL Developer -




  14. #11
    deamon1987's Avatar Active Member CoreCoins User
    Reputation
    60
    Join Date
    Apr 2010
    Posts
    14
    Thanks G/R
    0/15
    Trade Feedback
    0 (0%)
    Well, it's been a long time.

    At one point I wasnt satified with application performance in JS and wanted to see how fast would it be, if I use SIMD. So I rewrote all project from JS to C++. Before that I havent had experience with big projects in C++, so I had to educate myself. I went pretty well. I had no particular goal or any deadlines, so I worked when I was in the mood.

    About a month ago I cooperated with Marlamin to use code from this project on his website. In order to do that, C++ code had to be compiled with Emscripten. Emscipten gives two targets for compilation: Asm.js and WebAssembly. Asm.js as target didnt work at all, while WebAssembly worked as a charm. Model viewer also requires WebGL 2.0, because of how I upload uniforms in engine.

    And so it's working now on Marlamin's website. Web model viewer The model viewer is supported in Chrome and Firefox. A browser has to be a modern one because of WebAssembly and WebGL 2.0 requirement. Sadly Safari is not supported, because Apple havent implemented WebGL 2.0 yet(they are only in the middle of the process)

Similar Threads

  1. [WIP] Death Knight
    By Squirr3l in forum World of Warcraft Model Editing
    Replies: 83
    Last Post: 10-06-2007, 06:56 PM
  2. [WIP] Northrend
    By faizer in forum World of Warcraft Model Editing
    Replies: 35
    Last Post: 10-06-2007, 06:31 AM
  3. [WIP] Reskin Project V2.
    By Mr. Moose in forum World of Warcraft Model Editing
    Replies: 16
    Last Post: 09-22-2007, 06:43 PM
  4. WIP: Barrens Desert
    By dasgman in forum World of Warcraft Model Editing
    Replies: 8
    Last Post: 08-11-2007, 01:47 AM
  5. [WIP] NE Druid to BE Druid!
    By Zero-Cool in forum WoW ME Questions and Requests
    Replies: 3
    Last Post: 05-11-2007, 12:28 AM
All times are GMT -5. The time now is 02:45 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2019 vBulletin Solutions, Inc. All rights reserved. Digital Point modules: Sphinx-based search