Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

735 Good

About cignox1

  • Rank
  1. cignox1

    which model import lib to use?

    I've used Assimp several years ago for my pet project (not a game, but a raytracer). I've found it quite powerfull (yet not perfect) and I can only suppose it got better in the latest 5 years. I had a couple of issues with materials: I don't remember the details, but IIRC it was something annoying related to transparency/specularity which prevented me from using a couple of features of my RT. It was designed for real time rendering, though, so maybe those limitations were perfectly fine in such use cases.
  2. cignox1

    [ray-tracer] Banding problems

    Seems like you are loosing precision somewhere. Be sure all your deltas are in place and that you are using the correct scale for your scene.
  3. Which are the advantages of a giant single room apartment over a more traditional one? Sure, you gain some space (no walls), but you loose privacy, rational furnishing, comfort ...    Honestly, I don't see any real reason to write a (non trivial) application in a single file (I'm scared by the maintainance nightmare I would eventually address)
  4. Thank you for the link and the hint: I will certainly look into that bitboards thing to see if it is applicable to my game.
  5. Hi all, I'm developing a board game, kind of chess (Cyvasse, for those who know "A Song of Ice and Fire") and I would like the game to highlight valid target cells when the user select a piece. Ideally, pieces can move a max distance (say 4), where diagonal steps count as 2. Movements are 'free': as long as they are shorter than max allowed length, a piece can reach its target call the way it wants. Some cells may contain obstacles, the exact behaviour of which also depends upon the piece.   My first idea was to use graphs to compute if a path exists: I build a graph with the cells inside the max distance contraint and then compute the shortest paths between src and target cells. For each of these paths I decide if it is valid (i.e, no obstacles are on the way) and if a valid one is found, I allow the move.   First question: is that a good approach to start with?   I tried by using the jgrapht library, with the KShortestPaths component. Simply too slow, apparently (several seconds for every target cell). Better would be to use the Bellman-Ford algo to simply compute the shortest path, but then I should compute valid edges when I build the graph, so tha every path found is a valid move. I'm not sure I can do this though: for example, some pieces cannot cross an obstacle, but they can stop on them. Others can cross an obstacle, but not rest there.   I would rather avoid implementing everything by myself if possible, but this could be my only option. Before taking this route, I would like to hear your opinions.   Thank you.
  6. cignox1

    What language do I use?

    Well, they could tell you which is the language (mostly) used to build core engines of games such as Crysis and the like. But as already said, that info will not make you a better coder, not will make you write your first games (which is something far more important).
  7. cignox1

    OpenGL or DirectX

      Is it possible that he refers to the recent projects of Valve in regards with linux? Valve is currently trying to lead a move of the game industry towards linux, and this means that those developers willing to follow them have to use OGL. Is not yet clear whether or not that shift will happen...
  8. cignox1

    A Song of Ice and Fire, and Dark Tower 4.5

    ASOIAF is definitely a must read for anyone interested in fantasy (open minded). I've read it 3 times in italian and 1 time in english and it never ceases to impress me. I've found the last 2 books a bit disappointing (too slow and to many sub plots which really don't add anything to the story) but I guess its a consequence of the change to the initial plan (the year gap that should have occoured before TWOW and filled by Martin with these 2 books). The tv series is well done, but writers did a poor job for many charachters (mostly jon, dany and robb). And then there is Ros, may the Others take her...
  9. I think that you need to define at least the north (and perhaps even the west) vectors, so that rotations applied to the sphere reflect on the texture orientation...
  10. I don't have my code at the moment, but I remember that there is a simple addition to the intersection formula that gives u,v parameters of the intersection point. You just have to specify a couple of vectors defining the orientation of te sphere. Those uv can then be scaled/translated/rotated/clipped any way you want and in the end you do a get(u,v) on the texture (where u and v are presumably normalized so that 0 is completely left and 1 is completely right - same thing for top and bottom). Hope this helps
  11. cignox1

    How to load a 3d model

    The easier way (by far) is to pick one of the many 3ds or obj loaders out there. That will make you able to load simple objects created in Blender or in the 3d package of your choice. I also suggest to try Assimp, which supports several formats.
  12. cignox1

    Path Tracing BSDF

    I must say that you have indeed beatiful renders, wich would deserve more complex scenes (i.e. Sponza Atrium). If you have troubles with kd-trees and the like, try with something easier: BIH (Bounding interval hierarchy) is not as fast as kd-tree with SAH, but estimates suggest it is 60/70% its speed, so it may help you a lot, and is not so hard to implement (I did it as well, but I would rather not give you my implementation as for some reason it is really slow :-( You can find the paper by googling and the ompf.org forum used to have several threads on that topic, with many implementations discussed (included my own). Now the ompf.org domain no longer points to the forum, but a (temporary?) replacement has been opened. I don't know if those threads have been moved, but if you ask them they will help you. [color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif]how should I go about simulating subsurface scattering (which is needed for realistic metal materials) [/font] [color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif][/quote] [/font] [color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif]Honestly this is the first time I hear someone willing to implement SSS for metals (instead than skin, milk or marble) [/font][color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif][/font][color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif] [/font] And you could consider buying the "Physically based Raytracing: from theory to implementation": I have the first edition and it is truly amazing. In the second (IIRC) the show how to implement both BVH and SSS. If you are interested in Raytracing/GI you should buy that book. Hope this helps
  13. cignox1

    PHP Class not found error

    Yes, the problem was the namespace. I made it work just a couple of days ago but thank you nonetheless. [color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif]Haven't really heard of php namespacing myself until not too long ago. Apparently it's biggest benifactor is it saves headaches on large projects with clashing names. Any other benifits to namespacing? [/font][color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif][/quote] [/font] [color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif]I come from c++/CSharp and Java, so it was natural for me to use namespaces as soon as I learned that they existed in PHP. I suppose that the benefits are the same as they are in other languages: avoiding name clashing and better logical separation among different component of the application. [/font]
  14. Hi all, in order to improve my PHP knowledge, I'm trying to build a small framework with the goal to use it to develop my music band site. I layed out a simple configuration class (just a placeholder actually):[php]<?php /* Class to handle all application wide Quarkweb configuration parameters. */ namespace quarkweb; class QWConfiguration { protected static $mClassName = "QWConfiguration"; //By changing this before the configuration is read, an application can force the use of a specified configuration class public function __construct() { //initialize the values } public static function getClassName() { return QWConfiguration::$mClassName; } public static function setClassName($aClassName) { QWConfiguration::$mClassName = $aClassName; } static public function getConfiguration() { $aClassName = QWConfiguration::getClassName(); $aClass = new $aClassName(); return $aClass; } } ?>[/php] The idea is that it should work as a simple factory: the application sets the desidered class name for its own configuration and at the proper time an instance will be created. I've used the dynamic class instancing elsewhere without issues. But I get the following error: Fatal error: Class 'QWConfiguration' not found in C:\inetpub\wwwroot\quarkweb\core\qwconfiguration.php on line 28 I bet this is one of those errors that any half-experienced PHP programmer will spot in two seconds. Any idea? Thank you!
  15. cignox1

    Java or C++?

    If you want to target C++, then IMHO you should just decide between Java and C#. Python is nice and easy, but is too different (different syntax, different compilation model ...) Usually this is not a problem at all, but if you want something that simplifies your path toward c++, then C# or Java. And among these two, I would suggest Java: C# is a very beatiful language, but too much bound to Visual Studio: you could miss important steps performed by its features under the hood. I suggest Java (notepad++ + javac at first) and then try NetBeans or Eclipse. Mind you, that's just my opinion: if you pick C# instead that will work nonetheless.
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!