logo logo

 Back to main page

The NWNX Community Forum

 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
 
NWShader

 
Post new topic   Reply to topic    nwnx.org Forum Index -> General Discussion
View previous topic :: View next topic  
Author Message
peachykeen



Joined: 13 Feb 2010
Posts: 15
Location: MD, US

PostPosted: Sat Feb 13, 2010 4:29    Post subject: NWShader Reply with quote

I've been working on a little project for about a week now, and when I asked about it over at the official NWN boards, a few people suggested I bring the subject up here as it may be related or I may get suggestions. I'm new to the NWN modding community (hi! Very Happy), so (not knowing where to go) I did what they said. Razz

The project, in essence, hooks OpenGL for Neverwinter Nights and injects its own calls to the video hardware. How I have it set up, I can add post-processing effects (fullscreen shaders) after NWN has drawn the game scene. This allows for a lot of modern effects, such as depth of field, bloom, HDR, and their ilk.
It doesn't actually add functions or features to the game, but sure has the ability to make it look pretty. Wink

I have a SF project page set up (here), with a single example shot at the moment:
https://sourceforge.net/dbimage.php?id=251280
The effect is a heavy color-burn type deal, just to be obvious for debugging purposes. When the framework is smoothed out and stabilized, more useful effects will be possible.

Any questions or comments are welcome, especially tips about how best to handle this. I have a working tech demo (works on my system, at least Razz), and am basically trying to figure out where to go and who to talk to in order to get this project going within the NWN community.

Thanks, peachy Smile
Back to top
View user's profile Send private message AIM Address MSN Messenger
Disco



Joined: 06 Dec 2006
Posts: 152

PostPosted: Tue Feb 16, 2010 13:26    Post subject: Reply with quote

Would this be a possible way to deal with the increasingly flaky driver support from nVidia and ATI?
Back to top
View user's profile Send private message
peachykeen



Joined: 13 Feb 2010
Posts: 15
Location: MD, US

PostPosted: Mon Feb 22, 2010 0:25    Post subject: Reply with quote

It may help with that. NWShader uses/needs a more recent version of OpenGL than NWN itself, and anything NWN tries to do with the graphics can be translated to work better on new drivers. As long as the problems can be pinned down, I can look into wrapping and fixing them (depending on what the issue is exactly).

Just uploaded a new copy of this, with some more screenshots:
Desert: http://i4.photobucket.com/albums/y145/peachykeen000/nwshader/richardofabracoor_0002e016.png
Gold: http://i4.photobucket.com/albums/y145/peachykeen000/nwshader/neverwinternights-_0000001.png
Download: http://sourceforge.net/projects/nwshader/files/Prototype%20Epsilon.rar/download
It runs a simple bloom shader at the moment, but more effects can be used.
Back to top
View user's profile Send private message AIM Address MSN Messenger
Terra_777



Joined: 27 Jun 2008
Posts: 216
Location: Sweden

PostPosted: Tue Feb 23, 2010 3:08    Post subject: Reply with quote

I tried and it makes the game unplayable for me. I get an FPS around 1-5 and everything in the area is white-untextured and if I enable any of the shader options the game simply crashes on-start. Here is the log:
Code:
- Opening log file (ctor)
2:0:12 ::   NWShader: Starting...
2:0:12 ::   NWShader: Attached to NWN engine.
2:0:13 ::   NWShader: Creating sys check context. Not cached.
2:0:13 ::   NWShader: Making syscheck context current.
2:0:13 ::   NWShader: Deleting syscheck context.
2:0:13 ::   NWShader: Creating context.
2:0:13 ::   NWShader: does not have cached device/context. Grabbing...
2:0:13 ::   NWShader: Initializing system...
2:0:13 ::   NWShader: Config: Parsing configuration file.
Settings
TintWorld==false
DebugLevel==0
UseFBO==true
OverlayCorner==0
Shaders
2:0:13 ::   Config: Reading shaders list.
2:0:13 ::   NWShader: Config: Done parsing config file.
Viewport info: 0; 0; 1280; 768.
2:0:13 ::   GLEW: Started successfully.
2:0:13 ::   NWShader: Creating textures...
2:0:13 ::   NWShader: Use FBO option enabled. FBOs disabled code-side. Skipping...
2:0:13 ::   NWShader: Compiling shaders...
2:0:13 ::   CG: Initializing.
CG: Using version "2.2.0010"
2:0:13 ::   CG: Creating effects...
2:0:13 ::   CG: Finished loading and compiling effects.
2:0:13 ::   Hooker: Compiling shaders...
2:0:13 ::   Hooker: Calling CG...
2:0:13 ::   CG: Loading hooks...
2:0:13 ::   CG: Finished loading and compiling effects.
2:0:13 ::   NWShader: Proc Hook: Hooking compressed texture loading...
2:0:17 ::   NWShader: Making null context current.
2:0:17 ::   NWShader: Process deleting cached context.
2:0:17 ::   NWShader: Creating context.
2:0:17 ::   NWShader: does not have cached device/context. Grabbing...
2:0:17 ::   NWShader: Initializing system...
2:0:17 ::   NWShader: Config: Parsing configuration file.
Settings
TintWorld==false
DebugLevel==0
UseFBO==true
OverlayCorner==0
Shaders
2:0:17 ::   Config: Reading shaders list.
2:0:17 ::   NWShader: Config: Done parsing config file.
Viewport info: 0; 0; 1280; 768.
2:0:17 ::   GLEW: Started successfully.
2:0:17 ::   NWShader: Creating textures...
2:0:17 ::   NWShader: Use FBO option enabled. FBOs disabled code-side. Skipping...
2:0:17 ::   NWShader: Compiling shaders...
2:0:17 ::   CG: Initializing.
CG: Using version "2.2.0010"
2:0:17 ::   CG: Creating effects...
2:0:17 ::   CG: Finished loading and compiling effects.
2:0:17 ::   Hooker: Compiling shaders...
2:0:17 ::   Hooker: Calling CG...
2:0:17 ::   CG: Loading hooks...
2:0:17 ::   CG: Finished loading and compiling effects.
2:0:17 ::   NWShader: Proc Hook: Hooking compressed texture loading...
2:0:17 ::   FPS == 0
2:0:18 ::   FPS == 9
2:0:20 ::   FPS == 6
2:0:21 ::   FPS == 4
2:0:22 ::   FPS == 4
2:0:24 ::   FPS == 2
2:0:25 ::   FPS == 2
2:0:26 ::   FPS == 1
2:0:27 ::   FPS == 1
2:0:28 ::   FPS == 1
2:0:30 ::   FPS == 1
2:0:31 ::   FPS == 1
2:0:32 ::   FPS == 1
2:0:33 ::   FPS == 1
2:0:35 ::   FPS == 2
2:0:36 ::   FPS == 2
2:0:38 ::   FPS == 2
2:0:39 ::   FPS == 1
2:0:40 ::   FPS == 1
2:0:41 ::   FPS == 2
2:0:42 ::   FPS == 32
2:0:47 ::   FPS == 0
2:0:49 ::   FPS == 5
2:0:50 ::   FPS == 0
2:0:51 ::   FPS == 3
2:0:52 ::   FPS == 3
2:0:53 ::   FPS == 3
2:0:54 ::   FPS == 2
2:0:56 ::   FPS == 3
2:0:57 ::   FPS == 3
2:0:58 ::   FPS == 3
2:0:59 ::   FPS == 3
2:1:1 ::   FPS == 3
2:1:2 ::   FPS == 3
2:1:3 ::   FPS == 3
2:1:4 ::   FPS == 3
2:1:6 ::   FPS == 3
2:1:7 ::   FPS == 3
2:1:8 ::   FPS == 3
2:1:10 ::   FPS == 3
2:1:11 ::   FPS == 3
2:1:12 ::   FPS == 3
2:1:13 ::   FPS == 3
2:1:15 ::   FPS == 3
2:1:16 ::   FPS == 3
2:1:17 ::   FPS == 3
2:1:18 ::   FPS == 3
2:1:20 ::   FPS == 3
2:1:21 ::   FPS == 3
2:1:22 ::   FPS == 3
2:1:23 ::   FPS == 3
2:1:25 ::   FPS == 3
2:1:26 ::   FPS == 3
2:1:27 ::   FPS == 3
2:1:28 ::   FPS == 3
2:1:30 ::   FPS == 3
2:1:31 ::   FPS == 3
2:1:32 ::   FPS == 3
2:1:33 ::   FPS == 3
2:1:35 ::   FPS == 3
2:1:36 ::   FPS == 3
2:1:37 ::   FPS == 3
2:1:38 ::   FPS == 2
2:1:40 ::   FPS == 3
2:1:41 ::   FPS == 2
2:1:42 ::   FPS == 3
2:1:43 ::   FPS == 3
2:1:44 ::   FPS == 3
2:1:46 ::   FPS == 3
2:1:47 ::   FPS == 3
2:1:48 ::   FPS == 3
2:1:49 ::   FPS == 3
2:1:51 ::   FPS == 3
2:1:52 ::   FPS == 3
2:1:53 ::   FPS == 3
2:1:54 ::   FPS == 3
2:1:56 ::   FPS == 3
2:1:57 ::   FPS == 3
2:1:58 ::   FPS == 3
2:1:59 ::   FPS == 3
2:2:1 ::   FPS == 3
2:2:2 ::   FPS == 3
2:2:3 ::   FPS == 3
2:2:4 ::   FPS == 3
2:2:5 ::   FPS == 3
2:2:7 ::   FPS == 3
2:2:8 ::   FPS == 3
2:2:9 ::   FPS == 3
2:2:14 ::   FPS == 2
2:2:16 ::   FPS == 2
2:2:17 ::   FPS == 0
2:2:19 ::   FPS == 1
2:2:20 ::   FPS == 1
2:2:22 ::   FPS == 1
2:2:24 ::   FPS == 1
2:2:25 ::   FPS == 1
2:2:27 ::   FPS == 1
2:2:29 ::   FPS == 1
2:2:30 ::   FPS == 1
2:2:32 ::   FPS == 1
2:2:34 ::   FPS == 1
2:2:36 ::   FPS == 1
2:2:37 ::   FPS == 1
2:2:39 ::   FPS == 1
2:2:41 ::   FPS == 1
2:2:42 ::   FPS == 5
2:2:43 ::   FPS == 5
2:2:44 ::   FPS == 4
2:2:45 ::   FPS == 4
2:2:46 ::   FPS == 5
2:2:47 ::   FPS == 5
2:2:48 ::   FPS == 5
2:2:49 ::   FPS == 5
2:2:50 ::   FPS == 5
2:2:55 ::   FPS == 2
2:2:55 ::   NWShader: Making null context current.
2:2:55 ::   NWShader: Process deleting cached context.


I'm running win 7 32 bit with nvidia cards and tried both windowed and fullscreen. Would very much like to see it working. Razz
_________________
I dun have any signature, I'm happy anyway.
Back to top
View user's profile Send private message Send e-mail MSN Messenger
peachykeen



Joined: 13 Feb 2010
Posts: 15
Location: MD, US

PostPosted: Sat Feb 27, 2010 20:24    Post subject: Reply with quote

From the log, there isn't anything going terribly wrong. That issue sound more like a shader failing and breaking things. I need to check, I don't think the GUI supports it for Epsilon, but make sure per-pixel lighting is off. That's not working yet and can cause the problem you're mentioning.
Do you actually see geometry, just without any textures? And if you have shaders, what error does it give when it crashes or what does the log say?

I've put in a bunch of fixes and tweaks and am getting ready to release an update, so you might want to just hold off and try this new one, it has a lot of stuff fixed.
Back to top
View user's profile Send private message AIM Address MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    nwnx.org Forum Index -> General Discussion All times are GMT + 2 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group