Sign in to follow this  
PnP Bios

hxRender public release alpha 0.6.

Recommended Posts

Ok everybody. A whole lot of you gamedever's have been helping me on and off with this project. I don't have a whole lot of documentation out for it, but I think I have provided enough for you to get a good head start on. The source is provided, so if you can't figure out something in the documents, you can always go there. As of this point, as far as I know, everything works properly. If an operation that involves returning a pointer fails, it returns NULL. If an operation that sets a value, like the screen fails, it returns -1. I hope to have a log reporting system in the next release. Some minor things that have been solved in this version are mostly internal. For instance, handling non-power-of-two images. Now there is a hardware method and a software fallback method. The only thing that I don't like about what I have right now is that you need to have glext.h in the same directory as hxrender.h, which is hopefully your /include directory. I am trying to eliminate the external dependencies as much as possible. I may just have to copy the relivant code from the glext.h into my hxRender.h. Anyways, have fun with it guys. I would like some demos to showcase on my web page. If any of you are willing to write some, let me know. I get 100 megs capcatiy, and unlimited bandwidth to my site, as far as I can tell. Hammer away, and let me know if you guys find any bugs. -hxRender PR 0.6a- I can take specific questions or error reports here.

Share this post


Link to post
Share on other sites
PnP:
-------------
The first lib worked fine that you posted in the previous thread, but whenever I try to Blit with hxBlitSurface() or hxBlitSimple() with the new lib it seems to fail.

I tried out the demo program, and all I got was a white window (The caption did display the FPS however). I then used the old hxRender.lib, and everything worked fine.

Also, using VS.NET 7.1, I receive linkers errors when I try to compile the project in Release Mode. Have you tried compiling as optimized? I would probably be able to figure out what I'm doing wrong here if you don't know, but the errors seemed like linker errors that I would get when I didn't set project settings correctly, but since it compiles under Debug mode, I'm not sure what the problem is. These are the errors, if you want to see them:

Compiling...
main.cpp
main.cpp(73) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
Linking...
main.obj : error LNK2019: unresolved external symbol _SDL_GetTicks referenced in function "float __cdecl GetElapsedTime(void)" (?GetElapsedTime@@YAMXZ)
main.obj : error LNK2019: unresolved external symbol _SDL_Quit referenced in function _SDL_main
main.obj : error LNK2019: unresolved external symbol "void __cdecl hxShutdown(void)" (?hxShutdown@@YAXXZ) referenced in function _SDL_main
main.obj : error LNK2019: unresolved external symbol "void __cdecl hxFreeSurface(struct _hxSurface *)" (?hxFreeSurface@@YAXPAU_hxSurface@@@Z) referenced in function _SDL_main
main.obj : error LNK2019: unresolved external symbol "void __cdecl hxUpdateWindow(void)" (?hxUpdateWindow@@YAXXZ) referenced in function _SDL_main
main.obj : error LNK2019: unresolved external symbol "void __cdecl hxBlitSurface(struct _hxSurface *,struct _hxBlitRect,struct _hxBlitRect,struct _hxColorSet)" (?hxBlitSurface@@YAXPAU_hxSurface@@U_hxBlitRect@@1U_hxColorSet@@@Z) referenced in function _SDL_main
main.obj : error LNK2019: unresolved external symbol _SDL_GetMouseState referenced in function _SDL_main
main.obj : error LNK2019: unresolved external symbol _SDL_WM_SetCaption referenced in function _SDL_main
main.obj : error LNK2019: unresolved external symbol "void __cdecl hxScreenPointerTranslate(int,int)" (?hxScreenPointerTranslate@@YAXHH@Z) referenced in function _SDL_main
main.obj : error LNK2019: unresolved external symbol __imp__glRotatef@16 referenced in function _SDL_main
main.obj : error LNK2019: unresolved external symbol __imp__glScalef@12 referenced in function _SDL_main
main.obj : error LNK2019: unresolved external symbol _SDL_PollEvent referenced in function _SDL_main
main.obj : error LNK2019: unresolved external symbol "void __cdecl hxReplacePix(struct _hxSurface *,struct _hxColorSet,struct _hxColorSet)" (?hxReplacePix@@YAXPAU_hxSurface@@U_hxColorSet@@1@Z) referenced in function _SDL_main
main.obj : error LNK2019: unresolved external symbol "struct _hxColorSet __cdecl hxuBuildColorSet(unsigned char,unsigned char,unsigned char,unsigned char)" (?hxuBuildColorSet@@YA?AU_hxColorSet@@EEEE@Z) referenced in function _SDL_main
main.obj : error LNK2019: unresolved external symbol "struct _hxSurface * __cdecl hxLoadBMP(char *)" (?hxLoadBMP@@YAPAU_hxSurface@@PAD@Z) referenced in function _SDL_main
main.obj : error LNK2019: unresolved external symbol "void __cdecl hxSetCameraView(struct _hxBlitRect)" (?hxSetCameraView@@YAXU_hxBlitRect@@@Z) referenced in function _SDL_main
main.obj : error LNK2019: unresolved external symbol "void __cdecl hxSetScreenView(struct _hxBlitRect)" (?hxSetScreenView@@YAXU_hxBlitRect@@@Z) referenced in function _SDL_main
main.obj : error LNK2019: unresolved external symbol "struct _hxBlitRect __cdecl hxuBuildRect(int,int,int,int)" (?hxuBuildRect@@YA?AU_hxBlitRect@@HHHH@Z) referenced in function _SDL_main
main.obj : error LNK2019: unresolved external symbol _SDL_ShowCursor referenced in function _SDL_main
main.obj : error LNK2019: unresolved external symbol "int __cdecl hxSetupWindow(int,int,int,bool,char *)" (?hxSetupWindow@@YAHHHH_NPAD@Z) referenced in function _SDL_main
main.obj : error LNK2019: unresolved external symbol _SDL_Init referenced in function _SDL_main
LIBC.lib(wincrt0.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function _WinMainCRTStartup
.\Release/hxr_demo_001.exe : fatal error LNK1120: 22 unresolved externals



If anyone else tries out the lib, can you post if you are getting the same white screen as me? The images are in the directory and I am testing for NULL, but I have had no luck in solving the problem besides using the old lib.

My System:
------------
1.4Ghz Pentium M, 512MB RAM, Intel 2 Integrated Graphics Card

Share this post


Link to post
Share on other sites
Quote:
Original post by wyrzy
PnP:
-------------
The first lib worked fine that you posted in the previous thread, but whenever I try to Blit with hxBlitSurface() or hxBlitSimple() with the new lib it seems to fail.

I tried out the demo program, and all I got was a white window (The caption did display the FPS however). I then used the old hxRender.lib, and everything worked fine.

Also, using VS.NET 7.1, I receive linkers errors when I try to compile the project in Release Mode. Have you tried compiling as optimized? I would probably be able to figure out what I'm doing wrong here if you don't know, but the errors seemed like linker errors that I would get when I didn't set project settings correctly, but since it compiles under Debug mode, I'm not sure what the problem is. These are the errors, if you want to see them:
*** Source Snippet Removed ***

If anyone else tries out the lib, can you post if you are getting the same white screen as me? The images are in the directory and I am testing for NULL, but I have had no luck in solving the problem besides using the old lib.

My System:
------------
1.4Ghz Pentium M, 512MB RAM, Intel 2 Integrated Graphics Card


The polygons are still being drawn, I assume. Look through the source, I use an extension to test for NPO2 hardware capabilities, that may be giving you the problem.

as for the linker errors... I always have to resetup the linker info when going from debug to release.

Share this post


Link to post
Share on other sites
PnP - figured out what I was doing wrong with the linker. I'm used to including the .lib files by adding them to VC projects like source or header files, and I did not realize they were being specified under the "project settings".

And I also figured out the other error. It concerned this piece of code in hxSetupWindow():
----
extensionList = strdup((char*)glGetString(GL_EXTENSIONS));
if (strstr("GL_ARB_texture_rectangle", extensionList) == 0)
{
hxiTextureType = GL_TEXTURE_RECTANGLE_ARB;
}
else
{
hxiTextureType = GL_TEXTURE_2D;
}
------
I had to comment out the if statement at the beginning, so that hxiTextureType was set ot GL_TEXTURE_2D. I guess the glGetString method was returning GL_TEXTURE_RECTANGLE_ARB, but my hardware didn't support it (that's my only guess).

Anyways, everything I tried out works great, including the rotation and scaling functions that I had mentioned about earlier. I like the hxScreenPointerRotate() translate function as well. Looking forward to updates on the library.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this