Homebrew [Release] Caelina - OpenGL Driver

  • Thread starter Thread starter machinamentum
  • Start date Start date
  • Views Views 30,760
  • Replies Replies 118
  • Likes Likes 33
Somehow dropped while pasting the link from my phone. Yes, it runs. Needs pak files in an id1 directory. This is relative to the 3dsx file for ninjhax or in the root for cia or 3ds.
Cool sounds good. Failed to build for me because of CSND changes in the latest ctrulib, might try again later if I can figure out using an older ctrulib version, unless you have a build you feel like sharing :)
 
Cool sounds good. Failed to build for me because of CSND changes in the latest ctrulib, might try again later if I can figure out using an older ctrulib version, unless you have a build you feel like sharing :)
I have a newer build where I am playing with shaders for models that builds with the latest ctrulib. I think the CSND changes are trivial though. I will look at pushing it tonight.
 
  • Like
Reactions: hippy dave
I've been brainstorming some ideas to clean up the end-application's drawing requirements. Currently, I've been using gfxGetFramebuffer to feed the GL the frame buffers for both the left and right eye; this works, however, it requires drawing the entire scene twice, which incurs some extra unneeded overhead and a lot of copy-pasting. I'm considering designing the context creation interface to be more like a standard windowing interface (like GLFW), so the user can query the displays and set which one to draw too. The benefit to this being that the driver can handle all the framebuffer management under the hood and perform the stereoscopic 3D effect in one set of draw calls, which can save a lot of CPU time. The drawback is that the 3D effect likely won't be user configurable, but this does open the door to all homebrews using the lib having a consistent stereoscopic effect, which can be tweaked for best results over time.

Any input on these changes are appreciated. Ultimately, this change will help enable a smooth port over to other consoles.
 
  • Like
Reactions: Idaho
I needed to use stenciling in a recent project of mine so alpha testing, stencil testing, stencil ops (some), color masking, and depth masking have been added. Check the commit history for complete set of changes.

EDIT: Stencils are weird and dont make any sense, but they should work for simple stuff
EDIT2: glTexSubImage2D should work now.
 
Last edited by machinamentum,
I just built the source from github against the latest ctrulib code, and I just get black/red screens and a softbrick when I run the nehe examples. Any pointers on what I can do to track down what's going wrong?
 
Last edited by benjymous,
I just built the source from github against the latest ctrulib code, and I just get black/red screens and a softbrick when I run the nehe examples. Any pointers on what I can do to track down what's going wrong?
Make sure you have the latest ctrulib. There was a breaking update a little while ago - it is fixed now though.
 
Oddly, it seems to hang when loaded with the latest ninjhax/tubehax/ironhax. It runs fine on ninjhax 1.1. That being said, CTRX ran fine on 9.9 using Caelina using a ctrulib that wasn't more than a few commits old...

EDIT: even more odd: using consoleInit(GFX_BOTTOM, NULL); somehow fixes the issue. Though I'm not sure what internally is causing the problem considering the GPU examples in ctrulib work fine...
 
Last edited by machinamentum,
  • Like
Reactions: benjymous
Yeah, wasn't worried about the overhead, more noting that calling that function appears to be adding a not insignificant amount of additional code, which probably explains why things don't work without it.
 
Yeah, wasn't worried about the overhead, more noting that calling that function appears to be adding a not insignificant amount of additional code, which probably explains why things don't work without it.
Calling consoleInit pulls in stdio - so that is not unexpected. It also does setup for the bottom screen which may be more important in this case.
 
Hi, i have problem with compiling the lib, i try to run make install, but this is what i got:

Code:
slu@slu-MS-7850:/opt/devkitpro/ctrulib/examples/Caelina-master/libcaelina$ make install
default_3ds.vsh
/nihstro-assemble --input /opt/devkitpro/ctrulib/examples/Caelina-master/libcaelina/data/default_3ds.vsh --output ../default_3ds.vsh.shbin
make[1]: /nihstro-assemble: Command not found
make[1]: *** [default_3ds.vsh.o] Error 127
make: *** [build] Error 2

what is wrong? somehow, i have to install https://github.com/neobrain/nihstro, right? but what i see, there is no makefile, so... how?
Sorry, i am new to c(++) and 3ds brew.
 
Hi, i have problem with compiling the lib, i try to run make install, but this is what i got:

Code:
slu@slu-MS-7850:/opt/devkitpro/ctrulib/examples/Caelina-master/libcaelina$ make install
default_3ds.vsh
/nihstro-assemble --input /opt/devkitpro/ctrulib/examples/Caelina-master/libcaelina/data/default_3ds.vsh --output ../default_3ds.vsh.shbin
make[1]: /nihstro-assemble: Command not found
make[1]: *** [default_3ds.vsh.o] Error 127
make: *** [build] Error 2

what is wrong? somehow, i have to install https://github.com/neobrain/nihstro, right? but what i see, there is no makefile, so... how?
Sorry, i am new to c(++) and 3ds brew.

You need to build nihstro it with CMake
 
Fyi there are prebuilt nihstro binaries available at http://4dsdev.org/thread.php?id=14 .
You need to build nihstro it with CMake

Is there prebuilt win binary for caelina?
Because I am trying to get it work on ubuntu for like an hour. I had to install nihstro for caelina, but i cant install it w/o boost, but even though I installed boost (ran bootstrap.sh and then b2), it seems it (nihstro) cant find it, so it making only dissassembler, which is not enough for caelina.
 
Is there prebuilt win binary for caelina?
Because I am trying to get it work on ubuntu for like an hour. I had to install nihstro for caelina, but i cant install it w/o boost, but even though I installed boost (ran bootstrap.sh and then b2), it seems it (nihstro) cant find it, so it making only dissassembler, which is not enough for caelina.
I uploaded a prebuilt here. I stopped doing pre-builts after the source was released, but it's very frustrating that devkitARM still doesn't ship with the assembler of choice here, so I'll put up new pre-builts when new commits are made.
 
I uploaded a prebuilt here. I stopped doing pre-builts after the source was released, but it's very frustrating that devkitARM still doesn't ship with the assembler of choice here, so I'll put up new pre-builts when new commits are made.
Thanks a lot! i now successfully compiled, but it now hangs when I try to run it, top screen black, bottom one is red. I guess I am just extremely unlucky (or stupid) person :blink:...
 

Site & Scene News

Popular threads in this forum