Forums WoW Modding Discussion Modeling [Archive] [WIP] WebWoWViewer

[Archive] [WIP] WebWoWViewer

[Archive] [WIP] WebWoWViewer

Pages (2): 1 2 Next
rektbyfaith
Administrator
0
11-04-2025, 12:21 PM
#1
Archived author: deamon1987 • Posted: 2025-11-04T13:21:44.474312
Original source

Quote: 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 [Image: redface.gif])

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.

https://www.youtube.com/embed/kcxONrduNs8?wmode=opaque

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
[Image: paperclip.svg] Attached Thumbnails
[Image: 27095d1468509773t-wip-webwowviewer-cementry-jpg]

[Image: 27096d1468509724t-wip-webwowviewer-traders-jpg]

[Image: 27097d1468509184t-wip-webwowviewer-0qmhqry-jpg]

[Image: 27098d1468509146t-wip-webwowviewer-blob-jpg]

[Image: 27099d1468509115t-wip-webwowviewer-wvtueks-jpg]
rektbyfaith
11-04-2025, 12:21 PM #1

Archived author: deamon1987 • Posted: 2025-11-04T13:21:44.474312
Original source

Quote: 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 [Image: redface.gif])

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.

https://www.youtube.com/embed/kcxONrduNs8?wmode=opaque

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
[Image: paperclip.svg] Attached Thumbnails
[Image: 27095d1468509773t-wip-webwowviewer-cementry-jpg]

[Image: 27096d1468509724t-wip-webwowviewer-traders-jpg]

[Image: 27097d1468509184t-wip-webwowviewer-0qmhqry-jpg]

[Image: 27098d1468509146t-wip-webwowviewer-blob-jpg]

[Image: 27099d1468509115t-wip-webwowviewer-wvtueks-jpg]

rektbyfaith
Administrator
0
11-04-2025, 12:21 PM
#2
Archived author: deamon1987 • Posted: 2025-11-04T13:21:44.474312
Original source

rektbyfaith
11-04-2025, 12:21 PM #2

Archived author: deamon1987 • Posted: 2025-11-04T13:21:44.474312
Original source

rektbyfaith
Administrator
0
11-04-2025, 12:21 PM
#3
Archived author: Vandra • Posted: 2025-11-04T13:21:44.474312
Original source

Quote: Looks really great man.

Simple curiosity, what are the performances with and without culling ?
rektbyfaith
11-04-2025, 12:21 PM #3

Archived author: Vandra • Posted: 2025-11-04T13:21:44.474312
Original source

Quote: Looks really great man.

Simple curiosity, what are the performances with and without culling ?

rektbyfaith
Administrator
0
11-04-2025, 12:21 PM
#4
Archived author: deamon1987 • Posted: 2025-11-04T13:21:44.474312
Original source

Quote: Originally Posted by Vandra
[Image: lastpost-right.svg]

Looks really great man.

Simple curiosity, what are the performances with and without culling ?

Thanks [Image: smile.png]

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.
rektbyfaith
11-04-2025, 12:21 PM #4

Archived author: deamon1987 • Posted: 2025-11-04T13:21:44.474312
Original source

Quote: Originally Posted by Vandra
[Image: lastpost-right.svg]

Looks really great man.

Simple curiosity, what are the performances with and without culling ?

Thanks [Image: smile.png]

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.

rektbyfaith
Administrator
0
11-04-2025, 12:21 PM
#5
Archived author: Nyarly • Posted: 2025-11-04T13:21:44.474312
Original source

Quote: Quite amazing, you can be proud of this sir [Image: smile.png]

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...
rektbyfaith
11-04-2025, 12:21 PM #5

Archived author: Nyarly • Posted: 2025-11-04T13:21:44.474312
Original source

Quote: Quite amazing, you can be proud of this sir [Image: smile.png]

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...

rektbyfaith
Administrator
0
11-04-2025, 12:21 PM
#6
Archived author: deamon1987 • Posted: 2025-11-04T13:21:44.474312
Original source

Quote: Originally Posted by Nyarly
[Image: lastpost-right.svg]

Quite amazing, you can be proud of this sir [Image: smile.png]

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
rektbyfaith
11-04-2025, 12:21 PM #6

Archived author: deamon1987 • Posted: 2025-11-04T13:21:44.474312
Original source

Quote: Originally Posted by Nyarly
[Image: lastpost-right.svg]

Quite amazing, you can be proud of this sir [Image: smile.png]

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

rektbyfaith
Administrator
0
11-04-2025, 12:21 PM
#7
Archived author: deamon1987 • Posted: 2025-11-04T13:21:44.474312
Original source

Quote: Working on proper rendering of login screens.

9PpiYpl.jpg

That almost hit the spot. Only some background meshes do not have greenish color.
rektbyfaith
11-04-2025, 12:21 PM #7

Archived author: deamon1987 • Posted: 2025-11-04T13:21:44.474312
Original source

Quote: Working on proper rendering of login screens.

9PpiYpl.jpg

That almost hit the spot. Only some background meshes do not have greenish color.

rektbyfaith
Administrator
0
11-04-2025, 12:21 PM
#8
Archived author: deamon1987 • Posted: 2025-11-04T13:21:44.474312
Original source

Quote: Some more development screenshots
[Image: paperclip.svg] Attached Thumbnails
[Image: 47569d1482920306t-wip-webwowviewer-n2lure4-jpg]

[Image: 47570d1482920474t-wip-webwowviewer-dev_screen-jpg]
rektbyfaith
11-04-2025, 12:21 PM #8

Archived author: deamon1987 • Posted: 2025-11-04T13:21:44.474312
Original source

Quote: Some more development screenshots
[Image: paperclip.svg] Attached Thumbnails
[Image: 47569d1482920306t-wip-webwowviewer-n2lure4-jpg]

[Image: 47570d1482920474t-wip-webwowviewer-dev_screen-jpg]

rektbyfaith
Administrator
0
11-04-2025, 12:21 PM
#9
Archived author: deamon1987 • Posted: 2025-11-04T13:21:44.474312
Original source

Quote: Added support for Legion: some bugs are included in this showoff video

https://www.youtube.com/embed/t1HCbeSS_nI?wmode=opaque

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
rektbyfaith
11-04-2025, 12:21 PM #9

Archived author: deamon1987 • Posted: 2025-11-04T13:21:44.474312
Original source

Quote: Added support for Legion: some bugs are included in this showoff video

https://www.youtube.com/embed/t1HCbeSS_nI?wmode=opaque

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

rektbyfaith
Administrator
0
11-04-2025, 12:21 PM
#10
Archived author: deamon1987 • Posted: 2025-11-04T13:21:44.474312
Original source

rektbyfaith
11-04-2025, 12:21 PM #10

Archived author: deamon1987 • Posted: 2025-11-04T13:21:44.474312
Original source

Pages (2): 1 2 Next
Recently Browsing
 1 Guest(s)
Recently Browsing
 1 Guest(s)