Can a 64 bit phone running Linux replace desktop PCs?
We could simply connect wireless keyboard, mouse and a monitor to the Phone and get a full desktop PC, right?
Cannonical tried something like this with Ubuntu. Looks like they've now gave up.
Plenty of tablets and notepads are essentially that already.
Well, I mean, like Samsung Dex and Microsoft Continuum, but for Linux.
With all the desktop applications.
Something like that can change people's lives.
We're able to squeeze so much data into so little space, We also have cloud storage.
IMHO no, phones are harder to repair. I use(d) my desktop PC for Blender and I would hate having to replace my entire PC when I want more RAM or a stronger CPU. That'd be disgustingly wasteful and expensive.
Futher IMHO that doubles as hot take: smartphones are simply not that good.
But still, I'd like to use smartphone as a PC ;)
Maybe we'll get a easily repairable and upgradable phones in the future.
If we didn't, I'm gonna make one anyway.
@Naseef have your tried postmarketos?
I haven't tried it, I have to create a backup of the phone before trying.
thanks for letting me know @Peter Pronai
I've run into a small issue here. I've got a .g file with two shapes defined in it but a given time, I'm only able to draw one of the shapes. I have a sphere and an arbn. If I draw the arbn first, I can't render the sphere and it's the other way round if I go ahead with the sphere first. https://file.io/ygMWEh
https://puri.sm/shop/librem-5/
This is what I was talking about! It's a phone that runs full GNU Linux!
@Jaipal Singh how are you drawing? I get a 404 on that link
@Sean , I'm using the ctypesgen bindings of libwdb api to create the .g file.
It's weirdly working now, as in I can draw all the shapes now. Let me try the exact combination of shapes I had used then and see if I can recreate the issue!
It's weirdly working now, as in I can draw all the shapes now. Let me try the exact combination of shapes I had used then and see if I can recreate the issue!
any update @Jaipal Singh ?
file.io has a expiration date that must be set, I think it was set too early.
Why I can't access https://brlcad.org/
Is the website down?
yes, it's being worked on
it's back online now
Why the main page is still not updated?
It's been like 5 months since I updated the icons, But the main page is still using the old low-res icons.
Is there anything I can help with?
Hi maintainers at BRL-CAD!
This summer at GSoC, I have been working with Probot and I developed a Weekly Digest application for GitHub.
I request you to install it in your GitHub organisation and provide me feedbacks: https://github.com/probot/weekly-digest :smile:
Why the main page is still not updated?
because of GSoC ...
limited hands. I'm managing students and mentors, and other devs are busy mentoring and writing code. not forgotten, though. there's a handful of website updates that are pending on github. the biggest issue that backed up applying requests is on the main menu. we need a website manager, someone willing to commit the time and effort needed (which is a lot). you volunteering? :)
hi @Abhijeet Singh what does probot do?
I mean I see that it summarizes activity, but what's the intended use -- like as a page on our website separate from github that indicates activity?
also, how does it behave when a repo has hundreds of open issues?
Hi @Sean , Probot (https://probot.github.io/) is actually a framework used to develop applications for GitHub.
It will work normally if even if you have 100+ issues. If you want the bot to auto close stale issues, you should try out stale (http://github.com/apps/stale).
The list of apps is not limited to these only, you can check out more here: https://probot.github.io/apps/
Is it just me or is markdown on github broken?
For example, the links and list markdown doesn't work.
Links do work if you format it in html5.
Why the main page is still not updated?
because of GSoC ...
limited hands. I'm managing students and mentors, and other devs are busy mentoring and writing code. not forgotten, though. there's a handful of website updates that are pending on github. the biggest issue that backed up applying requests is on the main menu. we need a website manager, someone willing to commit the time and effort needed (which is a lot). you volunteering? :)
What a website manager do? I have a very little web dev knowledge, But I guess I can learn.
I don't have school for like next 2 weeks, So I can spend that time learning these things. I'll still have plenty of free time in the evenings even after school started.
thanks @Abhijeet Singh we'll have to check it out. we still haven't moved our main repo over to github yet, but that plan should be executed sometime this year, soon.
@Naseef a website manager does web development, works to make the site consistent across all the pages, integrate changes, implement requests, discuss and announce changes
I don't think I want that many responsibilities, But I'd like to make the wiki and main page use the same navbar.
where is the beta version of About, Download and other pages?
BRL-CAD wiki's https certificates seem to have expired 4 days ago?
BRL-CAD wiki's https certificates seem to have expired 4 days ago?
hmm I had submitted a https link to my report hosted on brlcad wiki.
I hope that does not affect my results :fingers_crossed:
@Sean what happened? No BRL-CAD in GCI this year?
Nothing happened @Naseef -- we didn't apply to participate so mentors could have a break. I sent a message to the mentoring list a few weeks ago regarding it.
okay.
How's the development of brlcad website going? The site still looks like how it did 2 years ago
@Naseef we don't have a dedicated website administrator, so ... it's pretty much gets updated as-needed only
which includes security patches and other updates on the backend that take a lot of time
would love for someone to take it over, but that requires a dedicated contributor to trust someone with that much responsibility. several people have submitted requests, but nobody has stuck with it quite long enough to take it over
maybe that could be you ;)
I'd be really glad to help if you think I can do it. I don't have any experience so if someone could help me get started, I will definitely help with that. :)
By the way, how's the development of the new Qt based GUI going? Were there any progress after Code-In? I want to get the latest source code and have a look soon, before that I have to clear up some space in my hard drive.
By the way, how's the development of the new Qt based GUI going? Were there any progress after Code-In? I want to get the latest source code and have a look soon, before that I have to clear up some space in my hard drive.
There was no progress on the new GUI worth mentioning since our last GCi. For this years GSoC the "New BRL-CAD GUI" project idea got some response. Let's see ...
hello kartik
Hi @Sumagna Das
r u one of the metntors?
yes, i am mentoring the tasks related to LibreCAD
o
k
Hi @Sean , I'm currently finishing up appleseed task #3 and I realized that there are a lot of requirements to actually compile the C++ file. Would you still be fine with me just submitting the C++ file, the output, and the appleseed project? I would be happy to include a text file on how I set up my working environment.
^ I ended up just including it as a comment in case it was needed.
My task for the github pull request is not being reviewed. Please help.
reviews can take up to 24 hours
it's been more than 24 hours
link?
I've abandoned the task for now
https://github.com/Devansh3712/googlecodein/pull/2 here is the link btw
I don't think mentors can review the task if you've abandoned it.
every time you abandoned and reclaimed the task, the clock starts over, so you never have gotten to 24 hours (36 is the technical limit)
looks like you almost got to 17 hours
that said, @Devansh Singh I don't think you've read the task description completely.
that task is for submitting changes to BRL-CAD, not for some random pull request to your own repo
that's so that mentors can review and integrate your work, and you can get credit for the extra effort it takes to submit that work as a pull request vs some other method
[serious] what should the task have said to have made that more clear?
you're not the only one to have made that mistake
Hi Sean , I'm currently finishing up appleseed task #3 and I realized that there are a lot of requirements to actually compile the C++ file. Would you still be fine with me just submitting the C++ file, the output, and the appleseed project? I would be happy to include a text file on how I set up my working environment.
@Jeffrey Liu I'm not sure I understood your question
short answer: yes
Nevermind, it seems like basic was apparently renamed to helloworld but they should still be the same thing.
glad you figured it out :) yay for vc history.
Jeffrey Liu I'm not sure I understood your question
Sorry for the confusion @Sean , I ended up summarizing what I did as a comment. That being said, I'm not quite sure if I completed the task correctly; even though I did follow the sample source (helloworld) and received a correct output, the task mentioned something about using a previous appleseed project but the program generates an appleseed project itself. If there's something I need to change, I wouldn't mind at all.
However, I did ask the appleseed discord about the intended function of helloworld.cpp, and it is indeed supposed to create a new .appleseed file. Is there anything I may have accidentally neglected to look at?
I am unable to create a pull request in brl-cad repository. Please help @Sean
@Jeffrey Liu I should be able to review it here in a few minutes. Just getting through a few other things first.
sounds like you did everything needed. the gist of that task is just to get a little familiar with the (different) way things are set up in appleseed, to make sure you're set up to compile against the appleseed libs and such.
Thank you, that's great to hear :) I'd like to move on to the fourth task as soon as I can - it seems like that's where the real integration fun starts.
the next two tasks are where things start to get more interesting. You've been learning up to this point. it shifts over to starting to be productive next.
Can't wait to get started!
let me know if you find yourself spending more than 4 hours on any task -- you "shouldn't" unless you're lacking some background information that you need to learn first. but if you do, let me know so we can talk through it, figure out if the task needs to be broken up or redefined, etc.
@Sean please help. I am unable to create a pull request for brl cad
what we'd ultimately hope to achieve with the appleseed task chain is a tool as simple as 'rt', but that goes through appleseed for rendering (i.e., 'art') much prettier pictures.
@Devansh Singh did you read what I wrote??
let me know if you find yourself spending more than 4 hours on any task -- you "shouldn't" unless you're lacking some background information that you need to learn first. but if you do, let me know so we can talk through it, figure out if the task needs to be broken up or redefined, etc.
I do think that most of the time I spend at the moment is either trying to set things up or understand something. Interestingly, when I was first trying to compile the examples, I was told that some recent changes to the appleseed core engine ended up breaking some things. Fortunately franz helped me work through them on the appleseed discord.
@Devansh Singh I responded to you 40 minutes ago... with a concern then about you not reading something written to you. I'm sensing a pattern.
@Jeffrey Liu ah, that's great you're talking to Franz
he's super helpful and supportive
Yep, he's really active and helpful - it didn't take long for him to help me work through the issues.
@Jeffrey Liu this may be some slightly relevant or at least interesting context: https://brlcad.org/wiki/User:DenisPavlov/GSoC18/Log
Wow this person really figured everything super quickly
that was a college student that was working on appleseed integration as a project. unfortunately, they failed themselves from the program and they were (apparently) so upset that we never got to see their code, but progress was made. you can get a general idea of what someone else worked through, and the order of things
well, keep in mind they were working on this full time like a job, not under GCI
Oh right
that said, I think it's entirely possible to get a basic renderer up and working in a week or possibly two and if we can get that far, that will be a HUGE success.
@Sean Ok I'm really sorry I understood at last what I needed to do. I'm really grateful to you :)
if you want to work all GCI on appleseed integration, we'll make all the dozens of tasks necessary. if you get tired or want more variety, we can wrap things up at any stage (hopefully after you've gotten something useful working)
@Devansh Singh It's quite alright. Did you see the question to you then?
That sounds amazing, I will try my best :) I really like this task set, it's one of my favorites (even though I haven't really done much outside of it)
That being said, I would like to explore a little bit with the geometry challenges such as the "lowest points" or "sphere fill" one, but I could absolutely see myself dedicating all of GCI (and maybe beyond) towards the appleseed integration.
@Sean yes I did
@Devansh Singh and?
@Jeffrey Liu we have a very long list of geometry-related tasks that haven't even been uploaded yet but are being worked on
for example, "implement a faster raytraced AABB function that calls ft_plot(), shoots a ray through each point, and computes the resulting box"
or "implement a function that takes a path to an object and returns its color"
or "implement ray tracing for the pnts primitive"
Jeffrey Liu we have a very long list of geometry-related tasks that haven't even been uploaded yet but are being worked on
That's great to hear :) Ideally speaking, if possible, I'd like to spend most of my time working on appleseed integration while taking breaks in between to work on such geometry tasks so I don't tire out.
The EBM task set seems very interesting as well
Jeffrey Liu we have a very long list of geometry-related tasks that haven't even been uploaded yet but are being worked on
That's great to hear :) Ideally speaking, if possible, I'd like to spend most of my time working on appleseed integration while taking breaks in between to work on such geometry tasks so I don't tire out.
That sounds like a solid plan. ;)
anyone knows how to disable a certain key of the keyboard in ubuntu
to all, if there's an area or topic of BRL-CAD that you'd like to see more tasks for, or particular items in the TODO or BUGS file that you'd like to see turned into tasks because they sound interesting to you, speak up and let us know
my delete key is deleting everything without even pressing it
stty reset
rather "stty ek"
@Jeffrey Liu you nailed it, well done.
Thank you! It's getting pretty late, but I'll move on to task #4 as soon as I can.
no worries, I'm done for the night as well
Have a good night :)
you are one of the leaders of brl cad
himanshu
you completed one or two remove throw statement task?
Why my task is abandoned?
Welcome @Anushka
Can anyone tell how much tasks had completed by the current leaders under BRL-CAD organization?
Why?
How much have you completed?
Just asking.
Btw can you tell me the names of the leaders?
I have done 4 tasks now.
Ok
2 beginners + 2 normal?
Such as jebbly or chiranjiv singh malhi
Yes.
Me too but one normal extra
I am BurningPhoenix
2 beginners + 3 normal
First time?
No way.
yes this is my first time
i m only still 13 years old.
are you seriously burning phoenix?
Me too
My first time
In GCI
Yea
I am serious
chiran how many tasks have you done currently?
I was also shocked to see my name
are you 13?
Yup
are you from india
i m from sri lanka
Yup
Hey erik
How's it going?
eric can you review my latest task?
are you know computer languages sumagna?
Not much because i didnt had time this year to atleast see a language
what do you mean?
I know C and C++ a little
well i m not
Erik can you review my work I have sent my screenshots.
This year i had so much pressure of school homeworks, projects, etc that i couldn't even learn C++. I have a book lying around my house
Sumagna erik is not really chatty don t he?
do you entered GCI by knowing from your school?
are you from delhi?
Chiranjiv how much tasks have you done?
Nope i got to know about GCI from my family
One of my cousin's told me about it
ok
My sister also urged me to search for coding competitions held by Google or big tech companies
are you from delhi
Nope
then?
Kolkata
kolkata knight riders
You can be one of the leaders. Just try, try and don't cry.
Switch topic cuz this is not a GCI topic
Here
Btw i am a fan of Kolkata knight riders
ipl is next year
Chiranjiv how many tasks have you done?
Btw i am a fan of Kolkata knight riders
Yea
chiranjiv how many tasks have you done?
about 9
by the way sumagna are you always online?
9 tasks
how old are you chiran?
you re the gci winner in 2017 and how was the trip to US
No i wasnt
but i look at the winners of 2017 and your name was there
and how old are you
1.PNG these were the winners
at least you weren t a finalist on previous contests
how old are you by the way
9!?!
Great job
no no i mean you have done 9 tasks I have done only 4
Nope
I was watching dantdm on youtube
Saw the message and replied
i have done 4 tasks +1 was sent to review
Daniel i saw that you committed the changes by H1manshu and BurningPhoenix
Me too
are you burning phoenix sumagna
2+3 and 1 sent for review
Yup
Anyways does that matter
Himanshu how many tasks you completed
More than 10
sumagna do you know how to build libre cad 3 from the source code
sumagna can you send a screen shot of your dashboard in GCI?
Why?
Just to have a look
to be informed about what types of tasks that you been completed
oh the url
What?
Hey Jeffrey Liu, are you jebbly?
I mean send a screenshot or the url of your dashboard in GCI it s better to send the URL
Hey Jeffrey Liu, are you jebbly?
Yes I am :)
how many tasks have you done jebbly
I think 7 so far.
oh
i have done 4
how old are you
gotta go see you tomorrow
Me 5 :sob:
Is this your first time Jeffrey?
Yes it is, I'm loving the experience so far.
Me too
@Sean @Erik I am about to begin appleseed task #4, but before I start, I just want to make sure that I understand the task completely. Is the idea to create a plugin, something like a modified sphereobject.cpp (so that it prints some verification statement), and then attach the dll/plugin to an example scene?
With gci we all learn something new and the experience is great
Yep, this is my first time working with a large-scale opensource project, but the mentor help has been awesome in helping me work through any issues I have.
Why my task is abandoned?
@CSY can you provide a link to it? if it's a pull request task, a reason was provided in the comments
Sean Erik I am about to begin appleseed task #4, but before I start, I just want to make sure that I understand the task completely. Is the idea to create a plugin, something like a modified sphereobject.cpp (so that it prints some verification statement), and then attach the dll/plugin to an example scene?
Yeah, something like that. That task is exploring the notion of integrating BRL-CAD into appleseed, having a plugin in their system call into LIBRT during their rendering
#4 creates the bones to the plugin and #5 adds in LIBRT
I see. So this task doesn't actually implement the plugin into BRLCAD yet, right? As in the task requirements are to use the plugin in an appleseed project?
#5 seemed to be a little hard last year, so #6 was created to fix a couple issues you'll likely encounter
right -- nobody has gotten that far yet
integrating appleseed into BRL-CAD is the desired end-state, but that's even more complicated .. this is all baby steps towards the goal :)
Alright, I will see what I can do with task #4 and then I will see how well I can handle the following tasks. Thank you for your explanations!
#7-#12 would likely be the continuation where you #7 start creating the 'art' application in brl-cad with #8 appleseed doing rendering that #9 conforms with rt's command-line geometry/view specification #10 running in parallel (if it's not already) with #11 material properties and possibly #12 selectable render modes
and if that all doesn't come to fruition or work, we should at least already have a system that can render brl-cad geometry in parallel after #5 :)
Sounds exciting :)
Good
welcome @CW Mann
which variable should i store the return value of xpush() in for push -x?
for merge xpush and push together task?
i was thinking about doing it after my present task is approved
which variable should i store it in cuz it returns an int value?
daniel can u help me with this?
I don't understand the question. There is no xpush() C function. And, I'm not aware of return values of the mged commands. They change the database.
sorry my bad
its ged_xpush
anyways can u help me?
ged_push() has the push_error.
huh?
That's essentially the variable for the return value.
for push?
the files are documented somewhere i think?
for push?
Yes. However, push_error is in fact gpdp->push_error.
ok
the files are documented somewhere i think?
In the files itself.
ok
good night
Hey Sean can you tell me in which variable am I supposed to keep the value of ged_xpush() after merging it with push as push -x
Sean can you tell how to build the Libre CAD version 3 from the source code.
I am a beginner still so I don't know how to download softwares from source code.
I tried about thousand times to build the Libre CAD v3 source code to my PC but I never succeed.
Also can anyone tell which rankings now I currently at under BRL-CAD organization.
@Thusal Ranawaka You have raised a general request for help, but you haven't asked a specific question. That makes it rather hard to help you.
So which is it? Do you not know how to download or not know how to compile?
Wait a minute
I have sent a screenshot of the task that the problem I have.
So the task says build LibreCAD 3 from source and I don t know how to do it so my question is how to build the LibreCAD 3 from source?
anyways can u help me?
@Sumagna Das you're also asking very vague questions ... I don't know if you can be helped without knowing what specifically your question is or what you're trying to do
i want to download LibreCAD v3 to my computer.
Hey Sean can you tell me in which variable am I supposed to keep the value of ged_xpush() after merging it with push as push -x
You shouldn't need to keep any values in any variables I think. The task is far simpler than that.
Hellooo
Can you tell me how to download LibreCAD 3?
@Thusal Ranawaka you're basically telling me you have absolutely no idea what to do for that task
which I don't believe
because if it is true and you have absolutely no idea, then that's probably not a task you should be attempting at this time
I can't understand what it says
I presume you know what download and source means, I presume you have ideas for how you can find where the source is and how to download it, so you could possibly ask a question a little more specific than what you have thus far
we're not helping you at all if we tell you what to do
That's the question I don t know how to find the source and download it.
really
Yes. im a beginner I doesn t know much about this source stuff
so what have you tried?
what do you mean
you say you don't now how to find the source
so you must have tried something
anything
or you hav never looked for anything before
you mean other tasks
no I don't
then you mean this task
I mean have you ever looked for anything before? something you don't know much about.
yes
how did you start?
First i cloned the LibreCAD 3 repository to my laptop
do you know what cloned means?
Something like downloading to your PC
yes, cloned means copy, copying librecad 3's source code to your computer, i.e., downloading it to your computer
so from after that step I can t understand what do you have to do next
well, so your first claim of not knowing how to find and download the source was false
Then
so I'm going to have to assume this new claim is also false ;0
:)
what is it you have to do next?
I dont know what to do next after cloning LibreCAD 3 repository to my PC
well where did you get the instruction to clone librecad 3?
I would wager the next step is specified in the same place
from this
so... what's the next step then?
read the build instructions but I read the instructions but I can t understand them.
you keep saying that, and then I ask you to think it through and the story changes .. do you see the pattern here?
no
I get the sense that you're very much just used to being told what to do and not thinking things through yourself. it's an important skill in nearly any job or future career. I encourage you to read the instructions and tackle them one step at a time.
That way, you can ask very specific questions instead of simply saying "I don't understand"
Now in fairness, the librecad 3 instructions are a bit dense
but lets work through one part at a time
Hi @Sean , sorry to distract you, but when we are printing some sort of message when intersect() is being called, do you recommend a certain approach? I would assume that intersect() would be called quite a lot, so printing something every single time would probably decrease the performance a lot.
not a problem @Jeffrey Liu
I was considering limiting the amount of times to print the statement, but then it might be hard to verify if it's always working right.
yes, you don't want to cause any I/O or system calls (which include things memory allocations and reading/writing to files) during ray traversal
you can certainly do some debug printing during development, but then you just have to make sure to remove it all when things are working
what kind of statement are you looking to print?
there are some tricks you can use for important messages that are very very infrequent
what do you have in mind?
I'm not sure, the task just says to "write out print statements," but it would probably just be something along the lines of showing that the function was actually called.
@Thusal Ranawaka so the first step in the compilation instructions is a list of things required .. that's a list of things you have to install before you can even start to compile
But since you said I/O should be avoided during ray traversal, maybe I'm not understanding correctly?
oh sure, the task just has you print something to prove it's called is all, that's fine
that's by no means how you would keep it in a "real" application, but for the purposes of doing the task, it's perfectly fine -- the task isn't about performance
Oh that makes sense. So I was considering using something like RENDERER_LOG_INFO - would that be fine? And then at the end, the image would output.
even printf or std::cout is find
fine
I have claimed a new task called "Appleseed integration #1 of 5" and I made a new database and make a sphere successfully. But when I type g-obj command to convert .g into .obj so I can import it to appleseed but the command does not work.
It says "invalid command name "g-obj"
if you want, you could do something like: static int printed = 0; while (printed++ < 10) { std::cout << "callback called!" << std::endl; }
if you want, you could do something like: static int printed = 0; while (printed++ < 10) { std::cout << "callback called!" << std::endl; }
So in this case, it would only print the first 10 times right?
right
It says "invalid command name "g-obj"
This happens when the command you're trying to run is not in your PATH. You have to either add the installation directory to your system's PATH, or you have to specify the full path to the application.
Alright I think I'll go with that method then, I was just concerned that if it's limited to a certain amount of calls, then it might be difficult to verify if everything is still working correctly afterwards (although I guess with enough print statements, it's pretty obvious that everything will work).
Thank you for your advice :)
It says "invalid command name "g-obj"
This happens when the command you're trying to run is not in your PATH. You have to either add the installation directory to your system's PATH, or you have to specify the full path to the application.
So where is this installation directory at?
You tell me. You installed it presumably.
@Thusal Ranawaka which tasks have you completed?
I completed the 2 tutorial tasks of BRL CAD and download and install run BRL CAD
Is there is something wrong with this command
@Thusal Ranawaka I think the error you are getting is a result of being unable to find the application. If your install directory is not added to your PATH, and you call something like "g-obj" outside of the directory, then it wil be unable to find the proper application.
g-obj -o C:\Users\Asus\Downloads\appleseed-2.1.0-beta-0-g015adb503-win64-vc141 (1)
Is there is something wrong with this command
the command is fine, how you are trying to run it is a problem because your PATH is not set. provide the full path to g-obj instead of just "g-obj"
I sent the command that I typed in command window but it says wrong.
find where it is installed (you can right-click it on the startup menu or icon), and specify the full path
It'll be something like C:\Program Files ...
I sent the command that I typed in command window but it says wrong.
It doesn't say "wrong"
it says "invalid command name"
that command name is not valid because it doesn't know where you installed g-obj
so the easiest fix is to tell it by specifying the full path to g-obj.exe
find g-obj.exe
on your computer
i have found it then
where was it?
C:\Users\Asus\Documents\BRLCAD 7.26.0\bin
okay, that's good
Then
so then on a command console, run C:\Users\Asus\Documents\BRLCAD 7.26.0\bin\g-obj.exe
i ran it but it didn t work
so then on a command console, run C:\Users\Asus\Documents\BRLCAD 7.26.0\bin\g-obj.exe
So it mean type this is on the command window.
Yep, that should call it but you need to follow the g-obj specifications to properly convert something. This article helped me a lot: http://brlcad.org/~nouhrasofat/man1/en/g-obj.php
jeff i ran it but it didn t work
was an error message output?
it says "invalid message"
Sorry, could you send a screenshot? That would make it easier to evaluate the issue.
uh i closed and opened a new database
i send a screenshot
of the command window
So i send the screenshot so what should i type next
and when i type g-obj
the command window shows this below
The mged command line is entirely different from the terminal - you should be running g-obj outside of mged.
so it means that i should run g-obj before opening MGED
Well, not necessarily - you should have a database with objects (made through MGED), but the g-obj application itself should be called through the Windows Command Prompt.
so it means that i should run g-obj before opening MGED
Go to the bin folder and select this
otherwise find this in the bin folder and click on it
A command window will open and then you type the code to convert your file
Thanks Mayank
Helloo
hey should xpush, after merging with push as push -x, get options?
i am trying to say whether there are gonna be any options to be given to push -x or not
Hello
just reply to it if anyone can
hey should xpush, after merging with push as push -x, get options?
I'm not sure I understand the question. They should both support all the options they supported before they were merged.
So yes, it should support options...
I am saying like..
Tell me a command line option of xpush (i didnt had the time to see them)
btw should the value of ged_xpush be returned to push_error?
I found it being returned by the fed push function
push -x -(option) should supply an option to xpush?
Should it be that way?
does xpush has any options?
hey daniel
i am getting an error when i use make after trying to merge xpush and push
Screenshot-from-2019-12-14-00-43-30.png
this is the error
why is it saying that there are multiple definitions of ged_xpush()
i building brlcad btw
not rt^3
why is it saying that there are multiple definitions of ged_xpush()
Because there are multiple definitions of ged_xpush()?
i didnt define ged_xpush() again
i just added
>
gg
my keyboard just went crazy
these lines
case 'x':
push_error=ged_xpush (gedp,argc,(const char **)argv);
return push_error;
break;
and nothing else
Supposed that this is really your only change, you could try to clean up and rebuild libged:
make clean
theremake
therefixed it
just defined an extern function
of ged_xpush
do i need to include the object.cpp and object.h files too daniel?
No, these file are already clean.
Hi @Sean , I'm having some trouble configuring a proper setup for task #5 - could you help me? I assume that since I'm supposed to be calling rt_shootray() in the plugin, then I must somehow link the BRLCAD libraries into the appleseed plugin, but I'm having difficulty setting up the CMake text file. The two CMake files I've used for the previous tasks are very different and I'm not really sure how to integrate the rt one into the appleseed one.
Also, for the task itself, could you clarify how exactly rt_shootray() should be used? I was considering translating some of the ray information from the const asr::ShadingRay& ray
into the respective ap.a_ray.r_pt
and ap.a_ray.r_dir
, but even then, I'm not sure how I would be able to translate the model data of the SphereObject into something like a .obj or .g format.
^^ The reason for me asking this is because I'm supposed to print some sort of statement from rt_shootray(), but I'm not sure how the hit/miss callbacks would actually work out.
Sorry for such lengthy questions, I just want to make sure that I'm working in the right direction.
@Sean is there a project or TODO for opencascade with brlcad (BRepBuilderAPI)??
In general, you'll need to supply the necessary BRL-CAD libraries as target_link_libraries to your build target. At a glance we don't really have a good CMakeLists.txt example for a completely stand-alone app linking against our libs - you might take a look at https://sourceforge.net/p/brlcad/code/HEAD/tree/brlcad/trunk/src/other/gct/psmain/CMakeLists.txt
@Jeffrey Liu That CMakeLists.txt file isn't stand-alone, because the BRL-CAD libraries are listed as just their names (build targets, actually) supplied by the parent build. The general style is right - include directories, target_link_libraries - but you'll have to actually supply the library files built by the main build rather than the build target shorthand in that file
rt^3 does this (https://sourceforge.net/p/brlcad/code/HEAD/tree/rt%5E3/trunk/cmake/FindBRLCAD.cmake) but it's a pretty heavyweight setup for a simple test application
@scorp08 not that I know of
@Jeffrey Liu I don't know exactly how the tasks have been drawn up... My understanding (which is not deep) was that we were looking to use the procedural objects API introduced in 1.8.0: https://github.com/appleseedhq/appleseed/releases/tag/1.8.0-beta
Translating the ray information sounds like it'll probably be needed - r_pt and r_dir are where I would have started - but for rendering with BRL-CAD I had assumed we'd need to define a procedural object in the appleseed scene based on the BRL-CAD object, then translate the ray information to/from librt as appropriate...
All that may be ahead of where the GCI task progression is at this point though, so that might not be helpful/useful for what you're doing
if you google opencascade and opennurbs together you'll see a bit of work to move data between those two libraries - that's some of the work that would be needed to write a FreeCAD <-> BRL-CAD converter, but as far as I know there aren't any tasks/projects for that at the moment. That's almost certainly beyond GCI scope, and would be a pretty heavy duty effort even as a GSoC project to get to useful levels of capability. That sort of translation requires understanding both systems and the concepts they are trying to express (NURBS breps in this case, plus a bunch of ancillary supporting info), as well as being able to think about expressing the intent of one system in the other when there isn't an exact parallel. Very much like translating literature from one language to another, in some ways...
I tried very hard to work on this " APPLESEED integration: Create and render a sphere in appleseed and BRL-CAD" task but the g-obj.exe file does not open on my PC when I double click on the g-obj.exe, the command prompt showed up for a second and it's gone away. I tried about a thousand times to convert my .g database file to a .obj format but it didn't work out so I kindly asking for some solution to convert to my .g to .obj format.
And also I request some more time to work on this task.
Hello
Please, someone help me.
g-obj is not a graphical application - you can't run it by double clicking. Look into the Windows Command Prompt and how to use it
Should it be that way?
Should what be that way? g-obj? That's how it is designed. Most BRL-CAD programs are command line - there are only a handful of exceptions
What happened here?
How did I send the message
I didn't even open zulip at 8 52
Before starting,I wanted to know what basically we have to do in Appleseed task #2
Mayank did you do the Appleseed task#1?
Hello
Did anyone complete the Appleseed#1 task?
Why?
I can't understand that task did you do it?
I finally convert the .g to .obj file but I can't open it in the Appleseed.
Daniel do you which kind of projects that can be opened in Appleseed?
Hello
I finally convert the .g to .obj file but I can't open it in the Appleseed.
Why not? What's the error?
I went to open file in Appleseed but it does not show the sph.obj file.
Did you their tutorial at https://appleseedhq.net/docs/tutorials/gettingstarted.html as required in the task's description?
Yes.
Is there something wrong with this .obj file.
Hello
I haven't Appleseed here, but I would expect that you have to create a new project and import aph.g.obj there.
BTW, your sph.g.obj looks odd. Maybe, you should recreate it.
I can't import it because it doesn't show the sph.g.obj
Which menu entries do you have to load or import a geometry file?
In the file menu >open project
Hi @starseeker , thank you for your help! So if I'm understanding correctly, I should be setting the include_directories and then setting up the target_link_libraries, but to actually use them externally, I need to first use the RTUIF example of detecting BRLCAD (which uses the PATH environment variable?), right?
"project" sounds bad. the *.obj file isn't a project file. Aren't there any more menu entries? Maybe, after you created a new, empty project?
There is a new project option in the file menu
Maybe you should hit his one. And after this, import the geometry into this project's workspace.
Jeffrey Liu I don't know exactly how the tasks have been drawn up... My understanding (which is not deep) was that we were looking to use the procedural objects API introduced in 1.8.0: https://github.com/appleseedhq/appleseed/releases/tag/1.8.0-beta
As for the task itself, I think that all I need to do is show that intersect() from the appleseed plugin successfully calls rt_shootray(), but it seems like I don't need to actually translate a BRLCAD object into a procedural object yet. Perhaps I am supposed to overlay a sphere object over the procedural object for the time being in order to allow rt_shootray() to evaluate correctly?
Sorry for kinda including unrelated comments between your conversation @Daniel Rossberg @Thusal Ranawaka , would I be allowed to move into the old AppleSeed channel for further discussion?
ok
Sorry for kinda including unrelated comments between your conversation Daniel Rossberg Thusal Ranawaka , would I be allowed to move into the old AppleSeed channel for further discussion?
No need to be sorry. This one is open for all GCi related questions. And, of course you can shift your conversation to #Google Code-in > Appleseed.
Sounds good, I'll do that so that both channels are more understandable.
Mayank did you do the Appleseed task#1?
yes
most tasks have been completed for openWisp(1273 tasks)
d1.PNG d2.PNG Can anyone please help me , whenever i try to build the software i get these errors after following the steps of installation. many of the programs are built but the main mged or archer are not made.
@Chiranjiv Singh Malhi I don't know if I can help you exactly, but sending the Output log would help.
It looks like this is the cause of the initial error:
D:\3D\brlcad-svn-trunk\misc\tools\env2c\env2c.cxx(214,22): error C2131: expression did not evaluate to a constant
so maybe try resolving that first?
ok and how should i do that
I think the easiest way would be to open the file directly and manually resolve any errors that Visual Studio points out, before trying to build again.
ok and how should i do that
Maybe @starseeker can help you with this.
The whole country is going up in fire due to something( i don't know much about it)
In some places, internet is turned off
Which country is it?
India
OK, I see. It's in the news here too.
HELLO I submit the Appleseed task#1 on yesterday noon and I m kindly requesting to review it whenever time you got.
@Thusal Ranawaka the tasks are being reviewed as we speak -- you don't have to task. reviews can take 24-36 hours when it gets really busy.
asking doesn't help either. they are reviewed in order.
My task was got reviewed and there is a question in Appleseed#2 task it shows that there is a task for downloading and install BRL CAD from source but I cannot find that task.
Ah ok, thanks for the explanation! So in the case of this sphere, do the x/y components also come in to play, given that there are multiple low/high points?
it doesn't use low/high points -- it actually calculates bounds during prep
that's why you can just use mdl_min and mdl_max
Ohh that makes so much sense
but I'm a little surprised you said the sphere is .4 radius
It's not consistent with the bounding box, is it?
it is -- I think we're just seeing the next spatial partitioning cell size
because it's so small
rt reports the same
mged> in sph sph Enter X, Y, Z of vertex: 0 0 0 Enter radius: .4 sph mged> bb sph Bounding Box Dimensions, Object(s) sph: X Length: 0.8 mm Y Length: 0.8 mm Z Length: 0.8 mm Bounding Box Volume: 0.5 mm^3
Sorry, I'm not too familiar with the terminology - what is a spatial partitioning cell size?
mged> rt BRL-CAD Release 7.24.0 The BRL-CAD Raytracer RT ... Model: X(-1, 1), Y(-1, 1), Z(-1, 1)
when you ray trace a scene, the ray marches through a simplified version before testing itself against individual objects
this simplified version is called a spatial partitioning (because it divides up space)
one common/typical method among several is to march through bounding volumes like axis aligned bounding boxes (AABBs)
Ah, I think I kinda understand now. Thank you for the explanation!
Ok I think I'm going to sleep a little earlier today :) Thank you so much for your time, I definitely learned a lot about how raytracing/rendering works! I'll get started with task #7 tomorrow - I'm not too good with CMake configuring so it seems like quite the challenge.
okay
did the changes make any difference?
you definitely are close
hey @Thusal Ranawaka you have become a leader, congrats!! brlcad-current-leaders.png
hey Thusal Ranawaka you have become a leader, congrats!! brlcad-current-leaders.png
Thanks Sumagna.
hey Thusal Ranawaka you have become a leader, congrats!! brlcad-current-leaders.png
Thanks Sumagna.
I must work hard to keep with them.
http://brlcad.org/wiki/Example_Application
What is the link for?
Are you doing the appleseed#2 task?
Can you send a screenshot of what types of tasks that have you done recently?
@Sean @Sumagna Das In the Appleseed#2 task, where we have to type the rt_shootray script? In the mged command window or in the command prompt or somewhere else.
You know C programming language?
Noo
@Thusal Ranawaka
Then there are problems for you in that task
You shouldn't do it
But it is a priority project.
Cuz it deals with programming in C
Are you doing it?
I know it is a priority project
Yes and Jeffrey is also doing it
It's OK I try my best.
Then you should research a bit on C language
So we have to type that script in the command prompt.
And probably should look up on C tutorials
No
Then
You have to write it in a C program
So where can I get the C program
@Sumagna Das While I'm working on it can you send me a screenshot of your completed tasks so I can get an idea which tasks that I can do I have done only 6 tasks.
Hello
some tasks, which i have done, are probably removed
are there any remove throw statements tasks?
hello
Are you using Turbo C++ as a C compiler?
no
Then
gcc and g++
its default for linux
Both
dont use turbo c++
its outdated
you can use msvc
You have a linux operating system.
yea
and windows
both on the same laptop
How's that possible
dual boot
you can do that
do u have a laptop or computer?
/desktop?
What is your laptop brand
hp
I have a laptop
ok
Asus vivobook 15
ok
msvc means microsoft visual studio
no. it means microsoft visual c++(compiler)
what editor do u have
so it s comes for the visual studio
what editor do u have
??
i have visual studio in my lap
you have a ssd?
no hdd
2gb vram with nvidia. good
WHAT?
my laptop does not have nvidia but it has 2 gb vga card but that's intel
you have a good laptop
So I can type that script on the visual studio.
I have downloaded the C++ compiler for visual studio.
its not a script
Then
you need the brlcad source
From where do I get it?
what beginner tasks have you done?
install and run BRL CAD
and?
only 1?
and the other one is from a different organisation
you should have done compile brlcad from source
what do u have (os)?
https://codein.withgoogle.com/dashboard/
Windows
But i cannot find that task
did you do that task
Can you send the URL of your dashboard too/
Hellooo
you cant do it anymore
its a beginner task
you can do only 2 beginner tasks
but you can build it following this link
it s okay send the link
https://brlcad.org/wiki/Building_from_SVN
i couldnt do it in windows so did it in ubuntu
hey @Jeffrey Liu hows it going?
Hey what's up, I'm good, how about you?
good
what number of task are you working on in the series of appleseed
I just finished 6, I'll probably work on a couple other tasks before starting 7
ok
i just finished 2 :sob:
Jeff you and me have done same number of tasks
no not that
he finished appleseed integration #6 task
he finished many tasks before
how many did u finish anyways jeffrey or jebbly
I think 10?
Jeff did you do the Appleseed#6 task before doing the Appleseed#2 task?
No, the tasks should be done in order, as they are meant to prepare you for the next one.
right
This is just coming from me, but I don't think you should worry about the tasks other people are doing, just do what you want to do and what interests you.
i have also done 10 tasks!!
I have done only 6
Hello Sean.
hey Thusal Ranawaka you have become a leader, congrats!! brlcad-current-leaders.png
Remember @Sumagna Das that it's not the quantity of tasks but the quality, usefulness, and overall impact of everyone's work.
Appleseed#2 task seems little harder to me but I try my best because it is a PRIORITY PROJECT.
hey Thusal Ranawaka you have become a leader, congrats!! brlcad-current-leaders.png
Remember Sumagna Das that it's not the quantity of tasks but the quality, usefulness, and overall impact of everyone's work.
Thanks Sean.
Are you in US, Sean?
@Thusal Ranawaka if you don't have C experience, you shouldn't start with the appleseed tasks. start with one of the other "Implement" tasks. there are some that involve implementing a single function that will be considerably easier than the appleseed tasks and might help you understand some of the fundamentals
Can you send me a link?
priority just means that it's "valuable" to development, not that everyone should attempt it. there are other "priority" tasks that are not marked like that. that marking was from a previous year when we were marking them all.
just search on Implement and see if you can find one that you understand a little bit
honestly, I think you would be most helpful doing our new tutorial task @Thusal Ranawaka
we've not had anyone do that task yet, and it's a priority task
this one: https://codein.withgoogle.com/dashboard/tasks/5129152877821952/
Thanks Sean I will do it.
Once you've done that tutorial, you might be able to claim one of the "Write a brief 1-page tutorial on ..." tasks. Nobody has done those too.
Those were an easy way for someone to earn 10 tasks but surprisingly nobody has tried yet.
Thanks Sean for your tips.
i know but Thusal said once
how many tasks have the leaders completed?
i know but Thusal said once
how many tasks have the leaders completed?
I cannot understand Sumagna.
i know but Thusal said once
how many tasks have the leaders completed?
I cannot understand Sumagna.
you said once
you asked once
what i have said once?
what i have asked once
Can anyone tell how much tasks had completed by the current leaders under BRL-CAD organization?
this is what you said
Such as jebbly or chiranjiv singh malhi
anyways sorry for getting with you in a quarrel(if i had gotten into one)
That's Ok
but i dont wanna be in a false position saying lies about somebody
Is Linux Os is working well is it better than windows?
its only a kernel, not an os
i also thought, like you, that its an os but its not
you can download ubuntu
Somedays I saw you are active on 2.00 a.m Sumagna
yea i was
Does your parents tell to go to bed
online sometimes
yea
Are you have a room in your home all for yourself
nope btw
which error i helped you fix @Jeffrey Liu
i forgot
Sorry if I was unclear, I was talking about Franz, the founder of appleseed.
sorry for confusing you
i got confused
No worries, glad we got it sorted out.
@Chiranjiv Singh Malhi if you update your svn checkout, there should be a fix for the compilation error you reported previously. @starseeker fixed it.
I was able to install OGV on mac finally! I would like to update the documentation so others can also benefit.
@Mrinal Jain that's awesome! please do and submit a pull request (and then claim the pull request task, mention this comment)
hello
I have submitted a pull request, can you please look into it and approve it.
Sahib, Hello
Hello, Thusal
I will submit a task in about 2 minutes. I'm on the final step.
Sure!
I already submit 50% of it.
Thank you for submitting the feedback! How many chess pieces have you modeled till now?
All of them
That's great! Did you encounter any problem while modeling any of them?
no
Cool!
I submit the task for review.
Sahib are you from Pakistan?
Were you able to understand the measurements, Thusal?
Yes.
I submit the task.
It was a lot of typing, but it was pretty easy.
Hellooo
Nice! There is still work needed, I have commented the changes to be made on the task. You can have a look. :)
Great work though :)
But the bishop's head was perfect.
I have built the bishop just as the tutorial said and the I have sent the knight.
Yes, the pawn is missing.
pasted image This is how it must look like.
This is yours:
pasted image
Just a little bit of difference. Can you find out where it went wrong? You can ask here, if stuck.
I have sent the pawn.
@Chiranjiv Singh Malhi I have asked a few questions in the comment of this 3D chess task. Can you answer them?
Great @Thusal Ranawaka Just commented on the task, have a look.
@Sahibpreet Kaur Hi, I have submitted my answers.
@Sahibpreet Kaur I resubmit my task.
@Sahibpreet Kaur Come on, Sahib.
@Sean I submit the task for review of that Chess set tutorial that you told me to do.
@"Sean" Hello, Sean what's up?
@Sahibpreet Kaur I resubmit the task.
Yeah, I am looking into it.
What changes did you make in the Bishop, in this case?
I made it look like the bishop that you have send to me. @Sahibpreet Kaur
What did you change in the command?
@Sahibpreet Kaur I changed the measurements in the headtop.trc
Can you send the new measurements here?
@Sean Hello Sean, I did the task that you told me.
@Sahibpreet Kaur in headtop.trc trc 0 0 4.4 0 0 1.2 1 0.25
helloo
Cool! @Thusal Ranawaka Approved the task. Hoping to see many more tasks from you. :)
Thanks. Sahib
Hello, Jeff
Hey, what's up!
Going fine.
You have done 10 tasks,know?
Cool
Yeah
Well, I have done 7 tasks.
Jeff, how old are you?
I'm 16 this year, what about you?
I'm only 13 years old.
This is my first time in GCI.
Same here, I only recently started programming but it's been a lot of fun. I tried to learn as much as I could over the summer because I wanted to participate in GCI.
Is this your first time in GCI
Yep
Are you in US?
Yes, why?
Just asking. In where washington
Close, east coast.
I'm in Sri Lanka.
hello
Hello
Uh I have no idea.
hey @Sumagna Das
i was sleeping late, always working on the laptop for GCI or playing Call of Duty:Mobile/Clash of Clans on the phone
Hi, this is a bit of beginner question - in order to stay up to date so that the patches I make are also up to date, is it necessary for me to always SVN update, reconfigure CMake, and then build/rebuild? This process is quite time consuming.
Especially when there are build errors - it seems like this is causing my most recent build to fail:
88>C:\Users\JeffL\Downloads\Google Code-in 2019\Source\brlcad\src\libbrep\shape_recognition\cone.cpp(224,48): error C2589: '(': illegal token on right side of '::' 88>C:\Users\JeffL\Downloads\Google Code-in 2019\Source\brlcad\src\libbrep\shape_recognition\cone.cpp(224,48): error C2062: type 'unknown-type' unexpected 88>C:\Users\JeffL\Downloads\Google Code-in 2019\Source\brlcad\src\libbrep\shape_recognition\cone.cpp(224,48): error C2059: syntax error: ')' 88>C:\Users\JeffL\Downloads\Google Code-in 2019\Source\brlcad\src\libbrep\shape_recognition\cone.cpp(225,48): warning C4003: not enough arguments for function-like macro invocation 'min' 88>C:\Users\JeffL\Downloads\Google Code-in 2019\Source\brlcad\src\libbrep\shape_recognition\cone.cpp(225,48): error C2589: '(': illegal token on right side of '::' 88>C:\Users\JeffL\Downloads\Google Code-in 2019\Source\brlcad\src\libbrep\shape_recognition\cone.cpp(225,48): error C2062: type 'unknown-type' unexpected
And this is the line that's causing it:
double tmin = std::numeric_limits<double>::max(); double tmax = std::numeric_limits<double>::min();
Oh, from what I've read online it's because there's Windows header included that defines a min or max macro. I believe I fixed it by doing this instead:
double tmin = (std::numeric_limits<double>::max)(); double tmax = (std::numeric_limits<double>::min)();
Hello
@Sean Hey, Sean I claimed the task "Model a chess scene using matrices (task #1 of 2)" task, but I quite don't understand much about this 'dbconcat' command and the 'oed+tra' commands. Do you know any tutorials or lessons which will help me to get the idea?
@Jeffrey Liu that's an interesting fix, but there must be something else wrong or missing. I'd guess the latter, that there's a header missing, because we have dozens of other places in teh code that all the same methods.
@Thusal Ranawaka did you do the the three tutorial tasks?
@Sean You mean the mged 2 tutorials and the chess set tutorial. Yes, I did.
@Sean A another question, Only black pieces will be enough to import to the chessboard?
@Sean When I try to copy the objects (pawn.g) file to the current database using 'dbconcat' command and it shows Error: dbconcat: Can't open geometry datafile file pawn.g
Jeffrey Liu that's an interesting fix, but there must be something else wrong or missing. I'd guess the latter, that there's a header missing, because we have dozens of other places in teh code that all the same methods.
For now, changing this in both cone.cpp and cylinder.cpp seems to have fixed it. I'm getting two other errors though, one about distcheck failing because the files are now different from the repo, and this:
948>------ Rebuild All started: Project: regress-nurbs-nirt-NIST03_MISS_01, Configuration: Debug x64 ------ 948>Generating NIST03_MISS_01-Debug.done 948>CMake Error at regress-nurbs-nirt-NIST03_MISS_01.cmake:31 (message): 948> [nurbs_nirt] Failure, unexpected result running 948> C:/Users/JeffL/Downloads/Google Code-in 948> 2019/Source/brlcad/build/Debug/bin/analyze_nhit.exe -M -b 948> C:/Users/JeffL/Downloads/Google Code-in 948> 2019/Source/brlcad/build/share/db/nist/NIST_MBE_PMI_3.g Document 948> -114.61944548140064626 -127.49462006675899772 -134.83948901109894791 35 25 948> 948> Unable to open db file C:/Users/JeffL/Downloads/Google 948> 948> 948> 948> 948> 948>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(220,5): error MSB6006: "cmd.exe" exited with code 1. 948>Done building project "regress-nurbs-nirt-NIST03_MISS_01.vcxproj" -- FAILED.
Is it because there's spaces in my directory name?
Hm... despite those two failed builds everything seems to be working correctly.
A quick look makes me think we might need bio.h for those two cpp files, which is where we've got the NOMINMAX definition - I committed an update adding those two headers.
The different files notice in distcheck isn't an error, just an informative message - one of the uses of distcheck is for release testing, and it lets the developer know they have modified files so they're aware that the tarball distcheck will generate won't match the SVN repository contents.
The nist test failure is probably space-in-path-name related, but that shouldn't happen - that's on me since I added the test, so I'll take a look
I think I committed a fix for the space-in-pathname issue - let me know if it still breaks. For the latter you'll need to re-run CMake to test it.
@Jeffrey Liu Most of the devs don't usually work with spaces in pathnames, so those sorts of errors creep in once in a while. We have a test to check for it, but it's only run as part of the big comprehensive test suite.
@Jeffrey Liu If updates are just to .c/.h or .cpp/.hpp files you don't usually need to re-run CMake, but if if there are changes to .cmake or CMakeLists.txt files it means the build system changed and a re-run of CMake is needed. It is slow on Windows - unfortunately, there seems to be no way around that currently (it's just built in to how Visual C++ works.)
@Sean Hey Sean, I claimed another task and submitted for review.
@Sumagna Das Hello, Sumagna
@Daniel Rossberg Hello, Daniel
@Sumagna Das Hello, Sumagna
hello
@Sumagna Das How about your eye?
not bad but not good
What hapenned?
And how much tasks have you done?
i dont remember how many tasks done
Seriously?
I have done 8
ok
How about you?
Who is Eryk Mikołajek in the leaders board?
how can i know
No. I mean if anyone know.
He is not seems to be a much active guy.
@Sumagna Das Sumagna if I download Ubuntu on to my PC I should download Ubuntu Desktop or the Ubuntu server?
desktop
So how can I keep both windows and ubuntu on one computer.
So how can I keep both windows and ubuntu on one computer.
You have to either dual boot or do virtualization :-)
@Erik Hey Erik I claimed a task and submitted for review.
@Himanshu Sekhar Nayak Thanks
@Erik Also can you tell me some priority projects which I can do like less coding.
and one thing don't always ping them for reviewing tasks. They will check your tasks when they get time and they also can see that you have submitted task.
Hm... despite those two failed builds everything seems to be working correctly.
That's a regression test failure. You don't need to worry about any regress-* failures
Ah ok, thanks Sean and starseeker for the help!
hey @Sean can you extend my task deadline?
i had some issues with my eyes so i had to keep away from my laptop for one day or yesterday
just extend it by a day and not more.
thanks sean
thank you very very much
hey jeffrey did u build appleseed from source
Yeah I did, but on Windows
I'm afraid that I won't be able to help you that much because your issue seems Linux-specific, but I'm sure that the developers from the appleseed discord would be able to sort it out. You could try asking over there.
@Sumagna Das whenever you need an extension, just mark it ready for review, and leave a comment asking for more time
ok and thanks for extending it
I didn't, someone else probably did though :)
wait what
Kartik Kumar
Ngadou Yopa
S. Rathore(:gabbar1947)
Oleksandr Dubenko
Erik
Panda (Gauravjeet Singh)
Inder Singh
Sean
Sreyansh Jain
one of them did it?
whoever it is, thanks for extending it
by the way
you do see the comments on your tasks, no?
everything is there
ok
thanks @Daniel Rossberg
hello thusal
still trying to build appleseed
i dont know why it isnt building
So I try on a another task.
yes?
sorry what
?
it was so problematic that i had to upgrade from an LTS to a normal version
Hello Sumagna
@Erik Hello Erik can you review my work? I have a problem.
Hi, this is a bit of beginner question - in order to stay up to date so that the patches I make are also up to date, is it necessary for me to always SVN update, reconfigure CMake, and then build/rebuild? This process is quite time consuming.
You only need to reconfigure cmake when build files change. On linux and mac this is detected and happens automatically only when needed. On windows, you have to pay attention to what files change during "svn update" and if you see any files with cmake in the name (e.g., CMakeLists.txt), you'll need to re-run cmake.
Oh, from what I've read online it's because there's Windows header included that defines a min or max macro. I believe I fixed it by doing this ```
One of the devs thinks they fixed this (the file was missing a header). You can undo your changes and check. If you encounter that error, make sure that file has "common.h" first, <limits> included, and "bio.h" included.
Yep, I think starseeker fixed it almost immediately after I mentioned it
I actually don't recall updating after that point, so I'll try to reconfigure and recompile to see how it works out.
@Vikramaditya Singh Welcome. And to answer your question, difficulty is greatly a function of experience. It's fair to say BRL-CAD has a steep learning curve, but is quite powerful in what it can do.
@Jeffrey Liu okay, great
yeah, when you see something like that ... and there are hundreds of other instances throughout the code, it's a red flag that there's something wrong in that specific file.
That makes sense - I'll keep that in mind for the future. Thank you for your advice!
welcome @Omega Cuber -- what tasks are you working on now?
As an update - the latest revision built successfully, again with the exceptions of distcheck-repo-verify and regress-nurbs-nirt-NIST03_MISS_01, which isn't a problem
you are a christian, right?(no racist thoughts; just asking)
Yeah I am
(deleted)
then you people are having
1) a christmas tree
2) a celebration tonight
3) a cake
4)fun
I guess a little bit, although I think I'll be working for most of today :)
I guess a little bit, although I think I'll be working for most of today :slight_smile:
me too(but i am not a christian so no celebration)
your profile photo looks like a black hole as well as a modified appveyor logo
Haha I made it in Blender a couple years ago, I believe there's a tutorial online
oh
do u know Krampus?
Isn't that the horror movie?
right
plus its kind of a myth
(deleted)
Oh, I didn't know there was a myth associated to it as well
see
it is also known as the anti santa claus
just like santa claus is a myth
and tonight i am gonna be mythbusting
Yikes, horror stories are definitely not my thing, but have fun I guess
you staying up tonight?
the whole night?
you live near new york?
Yes, although I don't go there often
ok
you staying up tonight?on 24th december midnight
Haha I usually stay up pretty late anyways... so yes?
i stay up till 2 am but tonight i am gonna stay up the whole night
me,my elder sister and my cousin are gonna stay up
we are gonna be mythbusting
the myth that santa claus is real or not
Ah I see, you guys have fun with that
everytime until 2018, my elder sister tried to stay up but she couldnt
but she would be awake all the night on the other days except 24th December
as i would get gifts(yea i am a child and was a child
so this time i want to see if i get sleepy too because i dont get sleepy easily
i have many children in the neighborhood
oh hi @Srasti Sethi
IIT Roorkee?
@all Merry Christmas to all of you hope you'll all have fun and open up your presents.
Merry Christmas!
I am not celebrating Christmas l am a Buddhist.
Is Sumagna Christian?
@Thusal Ranawaka i am not a christian. i am a hindu and we celebrate as
1) Its a holiday
2) We just celebrate it for fun
@Sumagna Das I'm a Buddhist. So I do not celebrate it either.
Untitled.png in my mged is not working :frown:
btw it should popup on the start menu as "Recently Installed"
@Karan S Bisht ^
@Sumagna Das you have downloaded it from Sourceforge ?
@Karan S Bisht Yes. You have to download it from Sourceforge you go to BRL-CAD 7.26.0 folder and select bin then you will find the app called mged then click on it.
@Karan S Bisht This is my model.
wow
very nice
till now i was making everything by writing commands
Hey @Jeffrey Liu how's going ?
Hey! I'm good, how about you?
yeah me too :-)
what's the time there now ?
It's getting pretty late for me, I'll probably be going to sleep in an hour or two
here 11.12 am
Wow, we're almost on opposite ends
yeah correct
you in California or ?
I'm east coast
@Sean I just claimed a new task.
@Sean Can you name me some priority tasks with less coding?
@Sahibpreet Kaur Hello Sahib, I just send the pictures and the database file for review.
@Sahibpreet Kaur Model a baseball bat task.
Please share the link
@Sahibpreet Kaur https://codein.withgoogle.com/dashboard/task-instances/5230935474176000/
@Sahibpreet Kaur Dear Sahib, I cannot understand what you are saying I made a comment and submit for review. I use create option in the graphics window to create this model.
@Jeffrey Liu Hello Jeff, Is CHESAPEAKE BAY BRIDGE is near you?
Kind of, why?
@Jeffrey Liu It says that bridge is the world's most scariest bridge.
Oh wow, I didn't know that, I've never been there myself
@Jeffrey Liu Seriously, even there are programs that cast about your bridge even in Sri Lanka.
That's pretty cool
@Jeffrey Liu You know Jeff, some people are even scared to cross that bridge on their own so there are people who make money by crossing the bridge for the scared people and they earn 25 bucks for one ride to cross the bridge.
@Daniel Rossberg I claimed a task and submit for review.
@Daniel Rossberg https://codein.withgoogle.com/dashboard/task-instances/5230935474176000/
@Daniel Rossberg You are not seems to be in US then where are you living?
Germany
At the moment, I'm traveling around, visiting my family. That's why I haven't much time to lurk around here ;)
@Jeffrey Liu How many tasks have you done currently?
@Daniel Rossberg I made the comments and the changes that you said and resubmit the task for review.
@Sean Hey Sean, thank you for your comment and while I'm working on the baseball bat I will abandon that task and claim a new task and submit for review which I was created previously is that okay with you?
Hello
@Jeffrey Liu How much tasks have you done currently?
@Thusal Ranawaka : different people have different priorities and different approaches could result in different "amounts" of coding. Please review the tasks to see which you are interested in and feel comfortable in executing.
Thusal Ranawaka : different people have different priorities and different approaches could result in different "amounts" of coding. Please review the tasks to see which you are interested in and feel comfortable in executing.
@Erik thanks Erik for your advice.
@Sean Hey Sean
@Sean Are you there?
Hey @Daniel Rossberg sorry for not submitting in time due to my exams so again I have to reclaim it
hey @Jeffrey Liu how's going ?
Hey I'm good, how about you?
yeah me too and how's work on task going :-) ?
Good I think, I just submitted it for review, and you?
nice. I am working in binding C++ functions into Lua currently
did you see Daniel recently ?
No I haven't sorry, I think he mentioned that he was travelling which is why he hasn't been online very much.
oh... okay
Hello guys Sumagna is not much online these days.
@Sean I have sent a message at the gci website , please provide some help.
@all Celebrations! :tada: Happy New year' eve for all!
(deleted)
(deleted)
@Chiranjiv Singh Malhi Hey Chiran, How many tasks have you done currently?
@Chiranjiv Singh Malhi Hello Chiran
Happy New Year's Eve!
Happy New Year's Eve :-)
Himanshu, How many tasks have you done currently?
i am on 8
8 tasks?
nah 7 tasks and currently on 8
Okay.
Are you 'H1MANSHU'?
yeah
How old are you?
17
is that matter a lot ?
So, this is your last time?
yeah
Is this your first time in GCI?
nah
Then
I am finalist previous year
*a
In which organisation?
RTEMS Project
Did you receive a jacket?
yup
Is it good?
yes
btw why are you asking these questions ?
Because this is my first time in GCI and I am only 13 years old so I don't know much information about this contest?
And also I'm really excited.
oh.... nice welcome to Open source :)
Yeah.
And I'm living on your fellow country.
Sri Lanka ?
Yes.
wow great
I guess I am the only Sri Lankan participate under this organisation?
yeah may be
Is Chiran living near you Himanshu?
nope but he is from India I guess
Sumagna is not available for 5 days.
holidays :)
What holidays?
winter holidays and some celebrations for new year and christmas
Sumagna is in India there is no winter in India
And he is a hindu.
winter is here in India
@Erik Hello Erik
Hello @Himanshu Sekhar Nayak
Hello Himanshu Sekhar Nayak
hey !!
hello
Happy New Year to everyone :tada: @all
hny :tada:
Happy new year!!
Happy new year!! :tada: :tada:
same to you bro
@all Happy New Year 2020 !!! :tada: :tada:
Hello @Sean
Happy New Year 2020 @Sean
Sean Can you name me some priority tasks with less coding?
If you do really good polished work and put a lot of time and effort it doing the task well, any task becomes a priority.
Sean Can you name me some priority tasks with less coding?
If you do really good polished work and put a lot of time and effort it doing the task well, any task becomes a priority.
Thanks @Sean for your advice.
Sean Hey Sean, thank you for your comment and while I'm working on the baseball bat I will abandon that task and claim a new task and submit for review which I was created previously is that okay with you?
You're welcome to abandon any task at any time. This can be specially important if you realize you don't have the background or time to do the task well and need to work on another task first to help you become more familiar.
Happy new year to all our amazing open source folks!
Hey @Sean currently model a baseball bat was submitted for review and I found your profile at LinkedIn and I found out that you are a very busy proffesional in your company so I apologise you to behaving impatiently on tasks past few days.I participated in this contest for the first time so I don't know much.
It's quite alright @Thusal Ranawaka It's natural to feel excited and impatient, waiting seemingly forever I'm sure for tasks to get reviewed. We want you to learn as much as we want useful contributions from you too. Really, what we want and need is for people like you to become dedicated contributors to the project. Take ownership and responsibility for something that interests you.
Because this is my first time in GCI and I am only 13 years old so I don't know much information about this contest?
@Thusal Ranawaka which is pretty awesome, btw. That means next year will likely likely be a super strong contender for winning GCI if you keep learning, keep contributing, keep improving.
it's happened before
Hey @Sean I attached the geometry file and resubmit for review.
thanks
Welcome to 2020 of the Gregorian calendar, will you use your superpowers for good or for awesome?
Welcome to 2020 of the Gregorian calendar, will you use your superpowers for good or for awesome?
@Erik For Awesome.
Hey, @Sean @Erik there is a task called 'Install and run BRL-CAD's Online Geometry Viewer (OGV)' but the GitHub build instructions shows only to build it in Linux distributions is that compatible with Windows 10?
Hey @Alex Liu
Hi @Jeffrey Liu
Hey @Thusal Ranawaka , happy new year again!
Same to you
How many tasks have you done? @Jeffrey Liu
Sorry I can't remember off the top of my head, maybe like 13 or so?
ok
I'm also 13 tasks
Nice
Hey, Sean Erik there is a task called 'Install and run BRL-CAD's Online Geometry Viewer (OGV)' but the GitHub build instructions shows only to build it in Linux distributions is that compatible with Windows 10?
I have no idea myself, but certainly worth a try. @pooh (inder) or @Panda (Gauravjeet Singh) or @Shubham Rathore would know better how well it runs on Windows. The bigger issue would probably be getting a web server set up on Windows so you can test it.
Remember @Thusal Ranawaka, the number of tasks isn't as important as the quality and usefulness of your work. Hopefully everyone is putting their best into every task, ideally going above and beyond so that the end result can be use by others with the least amount of work.
@Thusal Ranawaka you can always run linux in a virtual machine (e.g., VirtualBox) and install OGV there too.
Hey @Sean I sent the source path and submit for review.
great @Thusal Ranawaka
@Sean It's happy to see you when I am online.
@Sean You said that if I can download virtual box on to my pc you mean the 'Oracle VM VirtualBox'?
Hey @Sean I'm still working with @Feragon to build LibreCAD V3 from source.
Hi @Erik
Happy new year 2020
Happy new year 2020
happy new year @Misbah urahman !
@Sean I claimed a task called 'Fix at least 5 spelling mistakes in at least 5 different BRL-CAD files' so what I have to do is find 5 spelling errors in 5 files on BRL-CAD Wiki and submit the errors and correct it in there by using the edit option?
Hey @Erik Can you review my work?
@Erik The task Fix at least 5 spelling mistakes in at least 5 different BRL-CAD files (if you have time)
Hey @Daniel Rossberg still travelling?
Hey @Himanshu Sekhar Nayak
Hey
Working on a task?
Hey @Jeffrey Liu still working on the EBM task?
Yeah, what about you?
I just send the task for review.
@Jeffrey Liu Good luck with your work!
Thanks you too!
(deleted)
Yeah @Thusal Ranawaka
Hey Daniel Rossberg still travelling?
No, I'm back home. Which does not mean that I have nothing to do ;)
While creating submodels in mged , it asks for space partitioning method can someone help me to understand what it means and what should I write for it .
@Sean could not check all the messages but guess GSOC helped brlcad to mature :). I was looking to "shootrays_in_parallel " but why there is a "while (rays->ap[i].a_magic != RT_AP_MAGIC)" @585 , rays have already RT_AP_MAGIC . So this loop not working ? does "bu_parallell" changes the magic number of rays->ap ?
Hey @Daniel Rossberg Do I have to svn add
or have to send you sphere.cpp and sphere.h in GCI website ?
I prever svn add
followed by svn diff
.
yeah done
Hey @Daniel Rossberg Are you a professor?
No, I've a PhD only ;(
btw you have done PhD in which field @Daniel Rossberg ?
Mathematics
wow
btw what's the criteria then for becoming a professor ?
Is PhD not enough ?
@Daniel Rossberg Is English is the main language in Germany?
In Germany, you need to habilitate (qualify as a university lecturer) and, of course, get a chair at a university to become a professor.
Daniel Rossberg Is English is the main language in Germany?
No, but German.
Mathematics
@Daniel Rossberg Are there good Msc. programs about Math of CAD in germany ? Ready to break UG -NX storm :))
Can't say. I haven't done a master but a diploma. This was not in Germany but in Hungary. There was no CAD during this study. And, it was a time ago.
Hi, I'm participating in GCI. Just wanted to check this place out. Seems legit!
welcome @Wendelin Wemhöner :)
Welcome @Wendelin Wemhöner !
Hey @Wendelin Wemhöner
Hey @Wendelin Wemhöner , welcome again (I'm messaging you on this channel because we try to use different channels for the sake of organization)! I agree, the BRLCAD community has been awesome and taught me a lot when I was working on some difficult tasks. Aside from that task, have you taken a look at/are interested in any others?
Hey @Erik I completed a task and submitted.
Hey @Jeffrey Liu
Hello!
Looks like EBM task seems to be an very hard task.
Yeah, just when I thought I finished the task set, there was another part of MGED that needed adjusting lol
It's fun though, I was so excited when both the object and source based creation started working.
So do you know any computer language?
I know a bit of Python, Java, and C++
Although it looks like I'm going to be learning a little bit of Tcl/Tk for task 6 of EBM
Is C++ easy to learn?
I think it's harder than Python and Java, for reasons such as memory management, etc (personally, dependencies are also very difficult to deal with). That being said, I'm also really new to C++ so I'm still learning.
Are you working on a MacBook?
If you want to learn a programming language, it might be easier to start with either Python or Java. But since BRLCAD mainly uses C/C++ and GCi is only so long, you could try learning from https://www.learncpp.com/ which is a very useful introductory guide to C++
Are you working on a MacBook?
No, I'm on Windows but I occasionally dualboot to Debian.
@Jeffrey Liu Do you have an Asus laptop?
If you want to learn a programming language, it might be easier to start with either Python or Java. But since BRLCAD mainly uses C/C++ and GCi is only so long, you could try learning from https://www.learncpp.com/ which is a very useful introductory guide to C++
Thanks for the information @Jeffrey Liu
I have a Lenovo laptop
Thanks for the information Jeffrey Liu
No problem, if you have any questions, feel free to ask here and I'm sure someone will be able to help you
While creating submodels in mged , it asks for space partitioning method can someone help me to understand what it means and what should I write for it .
@Chiranjiv Singh Malhi just put 0 for the method
Ok , thanks @Sean
Sean could not check all the messages but guess GSOC helped brlcad to mature :). I was looking to "shootrays_in_parallel " but why there is a "while (rays->ap[i].a_magic != RT_AP_MAGIC)" @585 , rays have already RT_AP_MAGIC . So this loop not working ? does "bu_parallell" changes the magic number of rays->ap ?
hi @scorp08 no that is not what's going on.
Hey @Sean
that function should be marked static as an implementation detail. it's a helper function to rt_shootrays() which zero-initializes a copy of the application pointers (@665) before calling shootrays_in_parallel (only in certain debug compilations). it's using the magic number just as a simple way to do book-keeping in parallel for which rays still need shooting.
Hey @Sean I can't understand how to extrude a 2D CAD model to a 3D model when I create a extrude as you said. Then a sketch drawer opens. But I can't understand how to extrude the 2D model to 3D model using that sketch.
@Thusal Ranawaka did you follow the example on the wiki for creating a sketch?
you'll need to create a 2d sketch either using the scripting method that the wiki describes, or using the GUI sketch editor panel. you'll need to make a sketch that encloses an area (e.g., a rectangle). once you have that, creating the extrude is trivial.
Sean could not check all the messages but guess GSOC helped brlcad to mature :). I was looking to "shootrays_in_parallel " but why there is a "while (rays->ap[i].a_magic != RT_AP_MAGIC)" @585 , rays have already RT_AP_MAGIC . So this loop not working ? does "bu_parallell" changes the magic number of rays->ap ?
hi scorp08 no that is not what's going on.
@Sean So I wonder why shootrays_in_parallel not working in my codes
Hey @starseeker Are you a mentor?
No, I'm not
Then you are GCI participant.
No - just a BRL-CAD developer
So you know about BRL-CAD well.
Some parts of it
Do you know how to extrude a 2D object to a 3D object?
https://brlcad.org/wiki/Extrude
Thanks a lot, @starseeker because of your information I was successful in my problem.
Hey @Himanshu Sekhar Nayak
Hey !!
Happy New Year Everyone, I am Devan Bhardwaj. I joined the conversation just a few days before. I feel interested in the type of work BRL CAD is doing. I worked previously in Interpreting and Parsing the IFC files with Implementing an algorithm that transfers IFC scheme information into the 3D triangular meshes to Unity3D as my internship project. This leads me to contribute and work more in this field.
Sean could not check all the messages but guess GSOC helped brlcad to mature :). I was looking to "shootrays_in_parallel " but why there is a "while (rays->ap[i].a_magic != RT_AP_MAGIC)" @585 , rays have already RT_AP_MAGIC . So this loop not working ? does "bu_parallell" changes the magic number of rays->ap ?
hi scorp08 no that is not what's going on.
Sean So I wonder why shootrays_in_parallel not working in my codes
@Sean if initialize struct resource with cpu_num "0", does code return for all available cpus or first cpu (id) ?
Hello @Devan Bhardwaj, this sounds interesting. Do you have already some experience with BRL-CAD? For example as user (e.g., you did the tutorial) or as developer (e.g., you compiled it from source).
Hello guys.
Hey @Sean
@Sean I submit Run a code quality assessment on OGV using CodeClimate task for review.
Sean So I wonder why shootrays_in_parallel not working in my codes
@scorp08 because as I said, you should not be calling shootrays_in_parallel() ... that's not published public API. The public API is rt_shootrays().
@Sean How to create a bug report.
@Sean I'm just asking because you might remember that I claimed a task called 'Import FreeCAD model to BRL-CAD' and you asked me to export the sphere as a .step file to reduce the tesellation triangles but the step-g application does not work then you said to try a box instead of a sphere but that time also the application does not work. SO IS THAT A BUG?
Hey @Jeffrey Liu Is school vacation is over?
Hey @Thusal Ranawaka, yeah, it just ended for me. What about you?
Me too
How was your break?
So from tomorrow you are going to school?
I already started school on 1/2. How long was your break?
Great. I got enough time to spend my time leisurely and got time to work on Google Code-in on my first visit.
Almost a month.
Do you get a vacation about 3months which you call summer holidays.
Yeah I do
We only get one month.
I already started school on 1/2. How long was your break?
That means you are on the school now?
Yep
Hey @Chiranjiv Singh Malhi
Hi
So Jeff you are allowed bring your laptops to your school?
How many tasks have you done? @Chiranjiv Singh Malhi
Yes, I get to spend some free time working. Sometimes I also check Zulip on my phone too though, just to keep up with the conversation.
So in which times teachers are coming to teach you?
The number of tasks don't matter , it's about helping the organization @Thusal Ranawaka
In Sri Lanka, you are not allowed bring any electronics to your school or you will end up in a big punishment.
@Chiranjiv Singh Malhi Sorry.
@Thusal Ranawaka there's no need to apologise at all , you haven't done anything wrong
How old are you? @Chiranjiv Singh Malhi
16
Sumagna Is not available for 11 days. Why? He is a good contributor.
Hi Daniel, currently I am learning to use BRL-CAD and MGED. I am also trying to get some familiarity from the developer's point of view, that what I initially started for.
@Jeffrey Liu How many subjects teach the students at your school?
Hey @Sean
Devan, do you have a special interest in geometry conversion, because you worked with IFC and Unity3D?
Sean So I wonder why shootrays_in_parallel not working in my codes
scorp08 because as I said, you should not be calling shootrays_in_parallel() ... that's not published public API. The public API is rt_shootrays().
@Sean Yes but I called shootrays and define parallel macros.So bu_parallel took as a function (shootrays_in_parallel). But the loop is returning false in shootrays_in_parallel. Tried with a for loop for nrays but got a memory stack error.Maybe got wrong with setup resource structure .
Sean I'm just asking because you might remember that I claimed a task called 'Import FreeCAD model to BRL-CAD' and you asked me to export the sphere as a .step file to reduce the tesellation triangles but the step-g application does not work then you said to try a box instead of a sphere but that time also the application does not work. SO IS THAT A BUG?
@Thusal Ranawaka It's unlikely a bug. Bad behavior, yes, but not necessarily a bug. It's more likely the format of the STEP file being exported is simply not the right version of STEP file that the step-g importer requires. Only if you could confirm it's an AP203v1 STEP file and that it has an Advanced Shape Representation object inside it would it be a bug, but figuring that out is going to be beyond your abilities (and not time-effective to explain it at this time either).
Hi @Jeffrey Liu
Hi @Chiranjiv Singh Malhi
Hi @Himanshu Sekhar Nayak
hey @Thusal Ranawaka
Are you working on a task?
yeah
how's yours going on :)
Me too.
:)
Are you participating O/L examination? @Himanshu Sekhar Nayak
what's that ?
idk about that
IN our country students who in grade 11 do a exam called Ordinary Level.
btw I am in grade 12 or here I say class 12
I will be passing this year from college
Then where are you going?
into a University
So you can go into a university without facing to an exam.
nope I have to give exam for that
What is the name of that exam?
something like JEE Main and JEE Advanced
JEE means? Is that a government exam?
yeah
Hey @Jeffrey Liu what's up
Hey @Himanshu Sekhar Nayak, I'm good, how about you?
yeah good :)
Cool :)
Bye @Jeffrey Liu Time to goto bed.
Hey @Jeffrey Liu What's up?
Hellooo!!!
Good morning @Thusal Ranawaka
Hey @Thusal Ranawaka !
Hey Thusal Ranawaka !
Good morning Thusal Ranawaka
Hey @Sean , @Jeffrey Liu Thank you for greeting me. Sorry, I miss Zulip and tasks sometimes because my school vacation is over now. Unlikely, I have to go to school now. The education system in our country is very different from others. You're not allowed to bring any electronic devices to school or you will end up in a big punishment. So I goto school at 5.30 am(local time) and I came home at 3.00 pm. And I have to wait until my father comes at 5.30 pm to log onto Zulip via the internet. But I do my best in the competition.
Hey, @Daniel Rossberg @Sean I claimed the task 'Implement a geometry conversion test for BRL-CAD ' after completing the "Design any shape in LibreCAD, import it to BRL-CAD and extrude it to make it 3D" task. But It seems to quite not understand what does the task description says. There is a phrase ... turn them into a BRL-CAD conversion test in thee db/ directory (e.g., db/dxf). You'll need to define CMake logic similar to the "add_custom_command" sections in db/CMakeLists.txt to your db/dxf/CMakeLists.txt file to run dxf-g and mged to create revolve and extrusions of your LibreCAD design. And I cannot understand what it saying. Can you explain it further?
Hey, Daniel Rossberg Sean I claimed the task 'Implement a geometry conversion test for BRL-CAD ' after completing the "Design any shape in LibreCAD, import it to BRL-CAD and extrude it to make it 3D" task. But It seems to quite not understand what does the task description says. There is a phrase ... turn them into a BRL-CAD conversion test in thee db/ directory (e.g., db/dxf). You'll need to define CMake logic similar to the "add_custom_command" sections in db/CMakeLists.txt to your db/dxf/CMakeLists.txt file to run dxf-g and mged to create revolve and extrusions of your LibreCAD design. And I cannot understand what it saying. Can you explain it further?
@Erik Can you help me?
I believe what is being asked is to take your new geometry, export is as 'asc', and include it as a "sample" or "example" file? let me review the task description...
yeah, I'd say add it as a sample geometry for now. There are both benchmark models and sample models generated in db/CMakeLists.txt. he MAY be asking you to create a new third set just for conversion testing, but adding it to the sample set would be a subset of subtasks of a new set, if that doesn't quite not make sense
(hopefully someone who knows more about this than I do will set us right soon :slight_smile:)
Okay @Erik . I export the geometry file as a .asc file. Then?
And @Erik What do you mean by 'and include it as a "sample" or "example" file'
Also @Sean Just asking, there is a message called 'Want a sticker after GCI? Have guardian e-mail a name and mailing address to devs@brlcad.org' what does it mean?
Hello, @Sean
Also Sean Just asking, there is a message called 'Want a sticker after GCI? Have guardian e-mail a name and mailing address to devs@brlcad.org' what does it mean?
It means exactly what it says. If you'd like a BRL-CAD sticker, they'll get sent out after GCI ends to those that request one.
@Sean I can't find any task that I can work on (with less coding) and when go to modelling tasks. They should be in correct dimensions and I don't know how to change and check the sizes in BRL-CAD. Can you name me some tasks that'll help me?
Sean I can't find any task that I can work on (with less coding) and when go to modelling tasks. They should be in correct dimensions and I don't know how to change and check the sizes in BRL-CAD. Can you name me some tasks that'll help me?
This sounds like something you can fix, no? Revisit the modeling tutorials and learn about dimensions, how to scale and translate objects, how to check sizes, etc. The Object Edit (OED) guide listed on the website may help too.
Hello guys.
Hello :)
I got a holiday today because it is full moon tonight. (Buddhist Culture)
Cool, what do you plan on doing?
Today usually we have to go to temple and engage in religious activities like meditation.
Oh that's really cool - thanks for sharing! Do you enjoy it?
@Jeffrey Liu Yeah.
Are you working on a task?
Yes, I'm resuming the appleseed tasks as I am finishing up the EBM tasks. They seem quite challenging, as I don't have much experience with CMake. How about you?
I am not working on a task. I'm stuck I cannot find a task which I can handle.
Was EBM tasks easy?
Not exactly, there were quite a few new things that I had to learn in order to complete it. It also took me a lot of time looking through the codebase to understand part of what was going on and to find reference examples. That said, it was a very rewarding experience :)
If you are still looking for some non-technical tasks, how about trying some of the "write a brief 1-page tutorial on creating ___"?
I referenced some primitive tutorials (DSP and EBM) quite often, so I can see how useful the tutorials can be.
@Jeffrey Liu I tried to work on that task but I don't know to inspect the model.
Hm, sorry I don't know exactly how to help you with that, but perhaps they just mean to list the attributes and view it from multiple angles? Unless there is a specific routine that I'm unaware of.
Hm, sorry I don't know exactly how to help you with that, but perhaps they just mean to list the attributes and view it from multiple angles? Unless there is a specific routine that I'm unaware of.
Hey @Sean Is that how you inspect a model? as Jeff said.
Hey @Himanshu Sekhar Nayak
Hi @Thusal Ranawaka
What's up
Working on 'Model a chess scene using matrices (task #1 of 2)' task and cannot understand some?
Hey @starseeker
Hello @Erik I claimed the task Model a chess scene using matrices (task #1 of 2) But I have some questions.
Obviously. We're still waiting for you to ask those questions. :slight_smile:
First, I downloaded the chess directory from the BRL-CAD repo.
And they were in the .asc file type.
ok? so you'll need to convert them to .g
From which application.
asc-g
I searched asc-g file on my PC but there wasn't such file.
huh, seems to be named asc2g, my bad
So I have to convert them one by one.
I'd recommend using the bash 'for' loop and a little "sed" to change the extension
Can't understand.
this kinda seems outta purview for this task
for file in *.asc ; do asc2g $file $(echo $file | sed 's/.asc$/.g/') ; done
this will need to be run in a bsh, bash, zsh, or ksh. it cannot run in csh or powershell. Does it make sense? (never run commands/scripts on the internet you don't understand, correct?)
bash means git bash
?
no, the program you are using as your command shell. echo $0
on a *nix system, such as Linux
I cannot understand it. So I will try on command prompt.
if you are using linux, it may be worth googling "linux shell scripting tutorial" and learning a bit about the command line you are using. We are programmers, we make the machine conform to us. :D
But I have Windows.
ahhhh, ok, um, well, then I guess it'd be powershell scripting tutorial (you're running asc2g from powershell, right? or are you doing it in mged, in which case, use a tcl loop to iterate the files)
No. I am doing it in command prompt and it working.
the approach is the same, the tools you use depends on you. You can program a loop to do it for you, or you can do it by hand. shrug
the fun part will be positioning all the pieces
I don't know x y z theory as much (means to use the 'tra' command). So I will use shift
key to place the pieces. Is it okay?
I don't know x y z theory as much (means to use the 'tra' command). So I will use
shift
key to place the pieces. Is it okay?
You can do something like tra x y z
to shift it around along the x, y, z axes as shown here: 3d coordinate system It may be more accurate than just using the shift key.
So for example, if I did something like tra 0 0 1
, this would shift the selected object up by 1 unit.
Yeah. I know but I don't know how to enter the exact same position.
Sorry, I'm not sure if I understand. What do you mean by "enter the exact same position?"
We have to position the chess piece in the correct square so I don't know the units which will take that piece to that place.
I mean, if you're off, you could just use the tra
command to keep adjusting it - if I do tra 0 0 1
twice, it will end up moving the piece up by 2 units.
So, if you wanted to move a chess piece onto the board, you could keep adjusting tra x 0 0
, then tra 0 y 0
, and then tra 0 0 z
until you have placed it in the desired position.
I will try.
If you need help, I will be online for a little longer so feel free to ask any questions about x y z
Thanks.
You are at school now?
Yep, but I have an hour of free time so I think I will try to learn a little more about CMake
Have you done this task?
No I haven't, but I've used tra
a couple times in MGED before.
Then you should do this.
Well, I'm currently working on the appleseed tasks now but I would definitely like to do a couple of the modelling tasks if I get the time to.
Thanks the tra
command worked.
Nice!
@Erik After positioning the pieces Do I have to make the copies of pawn, rook, and bishop on both white and black pieces to fill the chessboard. :thinking:
@Jeffrey Liu How do you get an hour of freetime in school?
Our school has something called study hall, so every 3/4 days there is an hour where I have no course. I usually use it to do homework or any other work (GCi)
Which subjects do you learn at school?
You get to choose, but I'm taking french, language arts, math, chemistry, and computer science. What about you?
I learn 14 subjects in my school.
Hey I am Mikki ,heard about google code in for the first time in my life yesterday and am participating in it since yesterday! I would like to complete tasks for the BRL- CAD org and my favourite task is modeling different things on the platform without even touching a pen or paper!
Hey Can anybody tell me all the commands and ways to model something as I am just getting started...?
Hi @Mikki Jhuria Welcome to BRL-CAD. You should one of us mentors such as @Sean
Hey @Erik @Sean I submit Model a chess scene using matrices (task #1 of 2) task for review. And thanks to Erik for your help. :+1:
And of course you too Jeff.
Today usually we have to go to temple and engage in religious activities like meditation.
That's neat. Do you ever think about coding tasks during meditation? (no disrespect intended, genuinely curious if non-religious thoughts are part of the process)
@Thusal Ranawaka try this one: https://codein.withgoogle.com/dashboard/tasks/5494798476115968/
Jeffrey Liu I tried to work on that task but I don't know to inspect the model.
Did you not complete the tutorial series? the "l" command is all you need to inspect an object. you can use "tops" and "tree" to inspect hierarchies. you can use "bb" and "nirt" to inspect other aspects of objects...
Hm, sorry I don't know exactly how to help you with that, but perhaps they just mean to list the attributes and view it from multiple angles? Unless there is a specific routine that I'm unaware of.
Hey Sean Is that how you inspect a model? as Jeff said.
Yes, there's nothing fancy to inspecting objects. It's just checking them so you understand what their values are and aren't just relying on what you see in the graphics window. For example, you might see a sphere, but how big is the sphere? where is the sphere? is it big because someone edited the sphere directly to be big or is it big because there's a matrix that scales it up bigger in some other combination. things like that. all about understanding the values of things.
Hey @Mikki Jhuria , to get started with MGED, BRLCAD has quite a lot of documentation (brlcad.org/wiki). One of the easiest ways to get started would be this guide: https://brlcad.org/w/images/c/cf/Introduction_to_MGED.pdf
Working on 'Model a chess scene using matrices (task #1 of 2)' task and cannot understand some?
@Thusal Ranawaka I have to ask, did you not do the modeling tutorials tasks?
And they were in the .asc file type.
They're in .g format in the build directory or after install, in the db/ subdir in your build or install dir
I don't know x y z theory as much (means to use the 'tra' command). So I will use
shift
key to place the pieces. Is it okay?
shift key eyeballing the position is no good for that task. you're going to have a bad time because we'll just keep kicking it back because something is wrong. by mouse is incredibly imprecise. you need to learn how to position things precisely if you're going to keep doing modeling tasks. it was covered in the tutorials.
You get to choose, but I'm taking french, language arts, math, chemistry, and computer science. What about you?
@Jeffrey Liu you have computer science in high school? that's great.
Hey Can anybody tell me all the commands and ways to model something as I am just getting started...?
welcome @Mikki Jhuria ! glad to have you here.
@Mikki Jhuria you'll want to do the tasks marked EVERYONE first which includes at least two tasks that teach you the basics of modeling. so long as you pay attention and don't rush, that will prepare you for nearly all the other 3d modeling tasks.
Hello @Sean what's up :slight_smile:
Hi @Himanshu Sekhar Nayak
Hey
Hello Sean what's up :slight_smile:
coding is always what's up ;)
Hi @Sean
Yeah that's true :sunglasses:
what are you guys working on?
@Himanshu Sekhar Nayak you've been working the lua tasks, right? how are those going?
Yeah that's going great :blush: @Daniel Rossberg helps me a lot
yeah, he's a good mentor
I started from installing from source and my interest goes towards rt^3
that's great
Then fixed some bugs
Then currently working in lua binding tasks
Btw I will be passing this year from college and I will join University this year
that's intended to be the foundation of our new 3d modeling engine, so if you have ideas for a name that would be great to hear :)
So I am thinking for gsoc and contribution, learning and working in brlcad
neither "rt^3" or "coreInterface" really have broad appeal
Yeah
that's good to hear. you'll definitely have a huge leg up on the application. an opportunity to work much more in-depth on a topic.
curious what other coding tasks have you worked on?
Almost all my coding tasks went on fixing a hellobrlcad
program , remove throw statements and embedding Lua is currently going on
Almost all my task is now on Lua binding
(deleted)
I will think about it for sure
that's intended to be the foundation of our new 3d modeling engine, so if you have ideas for a name that would be great to hear :)
I thought we agreed on MOOSE (Modular Object Oriented Software Extension) :thinking:
We have even logos for it.
Wow
Looks awesome
If I remember correctly, this one was made by Rohit Agarwal in GCi 2014.
That's name looks like he is from India
Gci 2014 ? :open_mouth:
that's intended to be the foundation of our new 3d modeling engine, so if you have ideas for a name that would be great to hear :)
I thought we agreed on MOOSE (Modular Object Oriented Software Extension) :thinking:
We have even logos for it.
You know ... I'd forgotten about that but you're right! Heh. Yowsa.
Hello guys.
I just got home from the tuition class.
Hello @Sean
Hey @Jeffrey Liu
Hey @Thusal Ranawaka
Are you at bed?
Yes, I'm preparing to sleep now
It's still 11.09 am here.
Hey @Sean
Hey @Sean thank you for reviewing work. I tried to make copies of the chess pieces using primitive editor but it shows errors. Something like attribute not valid plastic 255 255 214. I can't remember it much.
Hey @Himanshu Sekhar Nayak
hey !! What's up
Working on a task. :)
We lost 2 matches against India.
We lost 2 matches against India.
yeah I saw that
What a shame.
winning and losing is a part of the game. So no need to worry for that :)
I love cricket a lot.
Hey @Erik
@Mikki Jhuria Remember to watch your topic - that's a general question, you were in the Appleseed stream.
"tops" is a command, used on the MGED command line.
ok, but how to make it display the objects ?
if you run the command, it gives you a list. If you mean graphical display, that's the "draw" command
Hi @Erik @Sean I made the corrections and submit the Model a chess scene using matrices (task #1 of 2) task for review.
This is what I want to do "In the MGED command window, type "tops" to get a list of object names you can "draw". After drawing, type "rt" and you'll see another window containing a render of the geometry you opened. Type your name in the command window and take a full-screen screenshot to show you did things right ".
Hey @Mikki Jhuria Have you build it from source ?
I love cricket a lot.
yeah me too
I actually am new to all this what is " build from source" do you mean sourceforge. Please help me out this is one of the beginner install BRL-CAD tasks on the site
can you send your task link ?
sure...https://codein.withgoogle.com/tasks/5091968191823872/?sp-organization=4884012200361984
btw all the information is already in the task
What are you facing ?
Hello @Sean Can you review my task.(If you can)
Hey Sean thank you for reviewing work. I tried to make copies of the chess pieces using primitive editor but it shows errors. Something like attribute not valid plastic 255 255 214. I can't remember it much.
@Thusal Ranawaka the primitive editor is not the way to make copies. do you recall from the tutorials how to make a copy of an object?
Hey Sean thank you for reviewing work. I tried to make copies of the chess pieces using primitive editor but it shows errors. Something like attribute not valid plastic 255 255 214. I can't remember it much.
Thusal Ranawaka the primitive editor is not the way to make copies. do you recall from the tutorials how to make a copy of an object?
Okay. @Sean I found the solution and submit my work for review.
Hey @Sean btw BRL-CAD
means like joining dots ?
What 'btw' means?
btw - by the way
when I hover my mouse I see dots joining between each other
Hello Sean Can you review my task.(If you can)
as I've said before .... tasks are reviewed IN ORDER :)
Hey Sean btw
BRL-CAD
means like joining dots ?
@Himanshu Sekhar Nayak What?
Okay then. :-) ;-)
Hi @Sean I just have a look at Model a chess scene using "submodel" entities (task #2 of 2) task. But I can't understand what it says.
@Thusal Ranawaka submodels are a way to have geometry spread out across multiple files.
I would suggest doing the "write a 1-page tutorial on submodel" before doing the chess set as a submodel
Has anyone download OGV (Online Geometry Veiwer) can somebody please guide me through the process.
Thank You
Do you have Linux?
@Mikki Jhuria yeah, what's your operating system? if you're on windows, you'll need to install a web server or have access to one where you can install OGV. one easy way is to run linux in a virtual machine like VirtualBox.
@Sean it is Windows
do you have a web server?
do you know what a web server is? :)
No I dont
try to follow these steps: https://www.wikihow.com/Install-the-Apache-Web-Server-on-a-Windows-PC
Thanks and I also had another doubt in the task "LibreCAD - [ NON-TECHNICAL ] Find spelling errors" what to do if I cant ifnd and errors !
web servers are what web browsers like firefox and edge and internet explorer talk to
if you can't find errors, then you can't do the task :)
just because it's easy to understand doesn't mean it's an easy task :)
But that means the task isnt valid because according to me there is no spelling mistake and I used word to check that out and
There are always spelling mistakes. Finding them is just very hard.
It's not a trick task. It really can be very hard to find mistakes just by browsing the code.
note that the task is to find any spelling mistake on any of those sites
if you are just checking the first page, it's not at all surprising you don't find anything.
you'd have to check every link, every sub-page, hundreds of possible pages.
Can somebody please tell me if there are 2 ways to install BRL - CAD one is obvious i.e. from Sourceforge and other is related to compiling via Cmake, subversion, Microsoft visual studio , so can anybody elaborate on the latter if there is one . I read about it a GCI task
The task is "Compile and Install BRL-CAD from source code".
@Mikki Jhuria Both methods are "from Sourceforge".
To run a program, you usually need a binary which can be executed on your Computer. Now you can either use a binary which somebody else created for you or build the binary by yourself from the sources. Both, the prebuild binaries as well as the source code, can be found on Sourceforge for BRL-CAD.
For you, I recommend to use the prebuild binaries. There is a beginner task for installing BRL-CAD from them.
How do you make your name appear in the command window? this is from the beginner task
How to download libreCAD 3 I download 2.1.3 and SourceForge says its the latest version
How do you make your name appear in the command window? this is from the beginner task
Type it into the command window as you did with the commands (e.g. "tops"), but don't hit enter. Instead, do the full-screen screen-shot after you did, including all requested subwindows.
How to download libreCAD 3 I download 2.1.3 and SourceForge says its the latest version
There is no downloadable binary for LibreCAD version 3. You would have to build it from source (the "Build LibreCAD V3 from source [ CODERS ]" task).
What workload should I choose while installing Visual studio?
You should select C++ platform with visual studio. (I can't remember it much) @Mikki Jhuria
Would it be annoying if I post a message everytime I submit a task?
No. But have to be patient.
Do you have Linux? @Mikki Jhuria
In the BRL-CAD installation directory (on Windows probably something with C:\Program Files\...) at share/db is supposed to be blank on opening??
There were multiple files like truck,cube,etc
Thanks
Do you have Linux? Mikki Jhuria
No Windows
Okay. If it is Linux it will be easier to build.
But I also have Windows.
In the BRL-CAD installation directory (on Windows probably something with C:\Program Files\...) at share/db is supposed to be blank on opening??
There were multiple files like truck,cube,etc
Thanks
brlcad-code/build/share/db
should contain all the .g
files that you needed for the task
@Himanshu Sekhar Nayak yes all the G files are there but are they supposed to be blank on openin with MGED
I didn't understand by blank
but you have to use rt
after mged
you can use rt
for ray trace
ok say for example there is a G file named truck so when I click on it the MGED command and graphics window open but they are both blank what should I do next? Am I doing something wrong
ok say for example there is a G file named truck so when I click on it the MGED command and graphics window open but they are both blank what should I do next? Am I doing something wrong
then use rt
in the mged
window or terminal
Yes but without anything written in the mged command it is showing rt failed after a bunch of words.
From the task description:
In the MGED command window, type "tops" to get a list of object names you can "draw".
tops
is the command you are looking for.
BTW, mged has a File->Open... menu too.
Yay. After a long time finally, you came back. @Sumagna Das :tada: :sweat_smile:
Hey @Himanshu Sekhar Nayak
hey wassup :)
Good. @Sumagna Das Came back.
nice :)
Keep on this channel @Mikki Jhuria
Hey @starseeker
@Daniel Rossberg the images that I send were they alright?
Then I will merge them if those are the photos required
Thanks
What is meant by the equal partitioning method while creating the submodels?
Hello guys.
Hey @Sean I submit the task for review.
Hey @Jeffrey Liu
Hey @Thusal Ranawaka
What's up? @Jeffrey Liu
@Jeffrey Liu How many tasks have you done in EBM?
Hey I'm good, I finished the 6 EBM tasks but there's still quite a bit of work needed to actually get it all working. That'll probably be something that I try to figure out after GCi because I'd like to spend some more time working on appleseed. How are you?
Still working on chess tasks.
So you have done 15 tasks? @Jeffrey Liu
Around there. Good luck!
Around there. Good luck!
You too.
Hey @Sean @Erik There is a task called 'WEB: Graphical primitive cheat sheet' So what we have to do in that task.
Is that you @Sean ? 1_tyolGDCtxGyLlbFgWqoGCw.jpg
Do you know the bin folder in the BRLCAD 7.26.0 folder. @Mikki Jhuria
yes
You will see an application called g-obj. @Mikki Jhuria
yeah
Step 1- Open the command prompt.
Step 2- Change your directory to the path where your bin folder is located. by typing cd <the path>
Step 3- Type. g-obj <the name of your .g file>.g -o<the name that you give for the output>.obj <the name of the object that created in BRLCAD>
@Mikki Jhuria
I opened the MGED command window but I cant change the directory it says wrong # args: should be "cd ?dirName?
I said command prompt not the mged command window.
ok
The path means something like this C:\Users\Asus\Documents\BRLCAD 7.26.0\bin so you should enter your path. @Mikki Jhuria
okay yeah just read that on the net my bad !
If you succeed the command prompt will show something like this @Mikki Jhuria pasted image
Hey @Chiranjiv Singh Malhi Working on a task?
@Thusal Ranawaka I got the .g file into the obj folder via this directory what next??
So you converted .g to .obj? @Mikki Jhuria
yup
When I make for example a pawn with mged and save to the database as a .g file after doing rt I close it but when I click the .g file to open it its completely blank .
Can somebody tell me why this isi happening?
Hey @Mikki Jhuria, this is again due to the fact that you must use the draw
command to draw whatever shapes you need from the database. You can use tops
to view said shapes, if you don't remember what you named them.
thanks @Jeffrey Liu
Hey @Sean :grinning:
Can a mentor please review my task that I resubmitted with corrections
Thank you
@Daniel Rossberg Ive resubmitted the task with the corrections. Please review if you are free:)
@LordOfBikes Ive submitted a task for which you are a mentor please review if you are free :)
let me know if it is satisfactory :)
@Mikki Jhuria , yes, of course. I will have a look when GCi is scheduled after my other important tasks. Then I'll have a look at my dashboard and process tasks in incoming order. Then, when it's your task's turn, I will evaluate it.
Does anyone know how to compile BRL CAD I have downloaded Cmake GUI , Turtle subversion and microsoft visual studio but Idk how to proceed further.
Did you downloaded the sources? You need Tortoisesvn to do this.
@Mikki Jhuria have you looked at this resource https://brlcad.org/wiki/Building_from_SVN ?
@Daniel Rossberg yeah I downloaded TurtleSVN and then opened this on it ...
svn checkout svn://svn.code.sf.net/p/brlcad/code/brlcad/trunk brlcad-svn-trunk
but what next?
@Jeffrey Liu yes but I could not Configure the build system with CMake GUI
Can you send a screenshot of what you have so far?
yeah,
pasted image
in this I have microsoft visual ready to be installed and the turtleSVN open with the link
and this is of cmake
pasted image
You need to actually checkout the source (clone it into your own file system), not just browse the repository. You can do this by using the file explorer, right clicking in the directory where you want to clone it, and then choosing SVN Checkout, like this: pasted image
Then that's where you specify the repository URL (https://svn.code.sf.net/p/brlcad/code/brlcad/trunk) to clone.
is this supposed to appear
pasted image
Yeah, that means it's adding the files from the repository.
and after its done?
That's when you want to create a new directory within the newly cloned directory, something like "build", which will hold all of the visual studio projects. I really recommend using this https://brlcad.org/wiki/Building_from_SVN, it's pretty detailed regarding what to do.
By the way, I'm not completely sure about this, but I think you'll need to have Visual Studio installed before using CMake because CMake checks for a C++ compiler (MSVC)
HEY GUYS!!!!:sunglasses::sunglasses:
Hey @Himanshu Sekhar Nayak What's up?
Hi @Thusal Ranawaka I am fine. What's up?
Feeling lucky. :rock_on:
Working on task?
yeah just creating a program which will compare Lua Title()
with C++ Title()
what about you and how's going ?
Working on the Model a Chess scene task.
Is Lua tasks are hard?
Do you know C++ ?
Yeah
Then
then you have to do Lua binding in C++
Is it hard?
I believe it's a pretty simple glue layer, there are a set of functions to implement and most should only be a couple lines to translate appropriately
Okay.
read and review it a bit, if it looks interesting and fun, claim one :)
I submit Model a Chess Scene task for review. @Erik
yes, and you're #3 of 4 in the review queue. We get emails and have a dashboard, there is no need to tell us :) Thanks for being thorough, though. That kind of follow-up will help you immensely in the future when you deal with mere humans
I love to see what a mentor's dashboard looks like apart from our dashboard.
@Thusal Ranawaka : http://brlcad.org/~erik/Mentor_Dashboard.png
Thanks, @Erik for sawing it. :grinning: :joy:
Hey @Jeffrey Liu
Hey @Erik There is a task called 'WEB: Graphical primitive cheat sheet' So what we have to do in that task?
for each primitive, make a couple representative ray-tracings and make a webpage so people can look for the shape they want and see the name
Some of the shapes might need more than 2 screenshots to get the point across
does that make sense?
Yes. Thank you!
Boys I am going to bed see ya tomorrow.
Hey @Jeffrey Liu Do you have an Instagram account?
Hey Sean Erik There is a task called 'WEB: Graphical primitive cheat sheet' So what we have to do in that task.
That's all spelled out in the task, is it not @Thusal Ranawaka ? You're creating a concise guide to a given primitive.
Hey I just wanted to mention that a couple of my recent build attempts have been failing because of this:
230>C:\Users\JeffL\Downloads\Google Code-in 2019\Source\brlcad\src\libged\facetize.cpp(389,16): error C3861: 'open': identifier not found 230>C:\Users\JeffL\Downloads\Google Code-in 2019\Source\brlcad\src\libged\facetize.cpp(392,13): error C3861: 'open': identifier not found 230>C:\Users\JeffL\Downloads\Google Code-in 2019\Source\brlcad\src\libged\facetize.cpp(396,22): error C3861: 'dup': identifier not found 230>C:\Users\JeffL\Downloads\Google Code-in 2019\Source\brlcad\src\libged\facetize.cpp(397,2): error C3861: 'dup2': identifier not found 230>C:\Users\JeffL\Downloads\Google Code-in 2019\Source\brlcad\src\libged\facetize.cpp(398,2): error C3861: 'close': identifier not found 230>C:\Users\JeffL\Downloads\Google Code-in 2019\Source\brlcad\src\libged\facetize.cpp(421,2): error C3861: 'dup2': identifier not found 230>C:\Users\JeffL\Downloads\Google Code-in 2019\Source\brlcad\src\libged\facetize.cpp(422,2): error C3861: 'close': identifier not found
It looks like all of these macros are defined in config_win.h which is supposed to be conditionally included in common.h. I'm not exactly sure what the cause of this is yet, but I'll try to look around to see if I can find anything.
Hey @Jeffrey Liu Still working on appleseed tasks?
Hey @Thusal Ranawaka ! Yeah I am, I think I finally got appleseed to work inside of BRL-CAD :) How've you been?
I submitted Model a Chess scene for review.:) @Jeffrey Liu
Nice!
So you have done about 15 tasks know? @Jeffrey Liu
Around there I guess, but just keep in mind that quality is more important than quantity
Yes.
I am also 15.
Do you an Instagram account? @Jeffrey Liu
I've made one before, but I don't use it anymore. Why?
Just asking. So you are not on social media?
Uh, not really I guess. Are you?
I have an Instagram account but I do not much time to see it.
Hey @Sean
Hey Thusal Ranawaka ! Yeah I am, I think I finally got appleseed to work inside of BRL-CAD :) How've you been?
Really? @Jeffrey Liu that's great!
Hey I just wanted to mention that a couple of my recent build attempts have been failing because of this:
...
It looks like all of these macros are defined in config_win.h which is supposed to be conditionally included in common.h. I'm not exactly sure what the cause of this is yet, but I'll try to look around to see if I can find anything.
This looks like it's because of a recent change where @starseeker converted the file from C to C++ (in r74618), and the Windows build subsequently broke.
@Jeffrey Liu the fix is likely either going to be separating the c++ bits into their own file or figuring out why the defines for open/dup/etc are disabled for c++ and/or what it'll take to enable them.
Hey, @Sean I saw a task called 'Write a summary of BRL-CAD's geometry converters for our wiki' and I check the repo files. So I saw different formats. So what I have to do is check that files and make a table which can be converted to .g files using MS Word and submit it or should I have to do more or less?
And @Sean When I click on this link http://brlcad.org/tmp/converters_page23.jpg . It shows an error called '404 not found'.
Hey @Himanshu Sekhar Nayak Are you having Thaipongal as well?
Thaipongal ? But I only know Pongal here
Here we say it as Thaipongal.
It's coming from the past The tamil word 'Thai' means January. So it's Thaipongal here.
now I understand. Nice
Jeffrey Liu the fix is likely either going to be separating the c++ bits into their own file or figuring out why the defines for open/dup/etc are disabled for c++ and/or what it'll take to enable them.
That makes sense, I completely looked over this:
/* it we're compiling c++ sources, there's a possibility that we'll be * including libc++ headers (e.g., iostream) where these underscore IO * function hacks become counterproductive. */ #ifndef __cplusplus
where all of those missing macros are defined through this conditional. It looks like there's a reason that it's there though, so maybe separating the C++ bits might be better?
Oh wait, would it be easier to just use the underscore versions? I'm not really sure what the difference is though.
@Thusal Ranawaka yes, you have to check the repo files, ideally also check installed binaries and/or documentation for mentions of conversion. If I run a quick search of our docs, I get this for example:
agua:man1 morrison$ grep -r -i convert . | cut -f1 -d: | sort | uniq ./alias-pix.xml ./ap-pix.xml ./asc-nmg.xml ./asc-plot3.xml ./asc2dsp.xml ./asc2g.xml ./bot_dump.xml ./brep_simple.xml ./brlcad.xml ./bw-pix.xml ./bw-png.xml ./bw-ps.xml ./bwmod.xml ./comgeom-g.xml ./conv-vg2g.xml ./cv.xml ./dbclean.xml ./dbupgrade.xml ./dpix-pix.xml ./dxf-g.xml ./enf-g.xml ./fast4-g.xml ./fblabel.xml ./g-acad.xml ./g-dot.xml ./g-dxf.xml ./g-egg.xml ./g-iges.xml ./g-nff.xml ./g-obj.xml ./g-ply.xml ./g-raw.xml ./g-shell-rect.xml ./g-step.xml ./g-stl.xml ./g-voxel.xml ./g-vrml.xml ./g-x3d.xml ./g2asc.xml ./gif-fb.xml ./icv.xml ./iges-g.xml ./mac-pix.xml ./nastran-g.xml ./nirt.xml ./obj-g.xml ./patch-g.xml ./pix-alias.xml ./pix-png.xml ./pix-ppm.xml ./pix-ps.xml ./pix-sun.xml ./pix2asc.xml ./pixbgstrip.xml ./pixclump.xml ./pixdiff.xml ./pixsubst.xml ./plot3-asc.xml ./plot3-plot3.xml ./plot3-ps.xml ./plot3rot.xml ./ply-g.xml ./png-bw.xml ./png-pix.xml ./proe-g.xml ./remrt.xml ./rpatch.xml ./rt.xml ./rtedge.xml ./rtxray.xml ./stl-g.xml ./sun-pix.xml ./tankill-g.xml ./ug-g.xml ./vdeck.xml ./wavelet.xml ./wdb_example.xml
That's basically a listing of all commands that mention the word convert somewhere. Most of them (but not all) are converters. You'd need to check each one to figure out which are geometry converters.
And Sean When I click on this link http://brlcad.org/tmp/converters_page23.jpg . It shows an error called '404 not found'.
@Thusal Ranawaka fixed.
where all of those missing macros are defined through this conditional. It looks like there's a reason that it's there though, so maybe separating the C++ bits might be better?
@Jeffrey Liu The thing about comments is that they can be informative, they can be wrong, they can be someone being lazy, they can be misleading, ...
which basically means they can't typically be trusted to assert an impossibility. it can just shed light on possibilities and/or explanations to affirm (not deny).
Oh wait, would it be easier to just use the underscore versions? I'm not really sure what the difference is though.
So the issue is that it needs to call the underscore versions on windows, only on windows, and without underscore everywhere else. The comment does make me believe that there may be a problem if we just blindly define them. That's not to say there are not options that weren't considered though or that it's still a problem. Easy to find out, though. Take out the #ifndef __cplusplus and see what happens.
Ah I see, thanks for the explanation! Could I ask why the underscore/nonunderscored versions work differently on Windows though?
@Sean Thanks for solving the issue.
So the issue is that it needs to call the underscore versions on windows, only on windows, and without underscore everywhere else. The comment does make me believe that there may be a problem if we just blindly define them. That's not to say there are not options that weren't considered though or that it's still a problem. Easy to find out, though. Take out the #ifndef __cplusplus and see what happens.
So doing that solved those errors, but now there's another error:
1>facetize.obj : error LNK2019: unresolved external symbol ON_Brep_CDT_ObjName referenced in function "int __cdecl _nonovlp_brep_facetize(struct ged *,int,char const * *,struct _ged_facetize_opts *)" (?_nonovlp_brep_facetize@@YAHPEAUged@@HPEAPEBDPEAU_ged_facetize_opts@@@Z) 1>C:\Users\JeffL\Downloads\Google Code-in 2019\Source\brlcad\build\Debug\bin\libged.dll : fatal error LNK1120: 1 unresolved externals
I'm not completely sure, but I think it's because ON_Brep_CDT_ObjName is getting defined in libbrep/cdt/util.cpp, which isn't included in the project?
Or actually, could it be because I'm building libged individually?
@Jeffrey Liu Still awake?
Wait never mind, I don't think my second point makes sense. But I did try manually add libbrep/cdt/util.cpp to the project which introduced some other issues instead.
Or actually, could it be because I'm building libged individually?
possibly @Jeffrey Liu or libged simply isn't properly importing libbrep, which is quite possible
Oh ok, I guess I'll try to rebuild everything again and then see how that works out.
yeah, that looks like the problem. it's not even linking against libbrep
a new dependency was introduced and again, it just hadn't been compilation-tested on windows yet
Well seeing as not many people here use Windows, I would be happy to be the Windows compilation tester :)
:)
we go through phases
particularly as we get closer to a release, we test more and more frequently, but you are right that it's not tested nearly as much as other platforms.
I do believe we are currently lacking a Windows build maintainer (someone responsible for making the release binaries when it's time to release).
there is a CI system that tests windows continuously, but it's also not well integrated yet with our workflow
@Jeffrey Liu I just committed a change -- see if that does the trick
Ok, thanks so much! I'll try rebuilding and I'll let you know how that goes.
you'll need to rerun cmake
Does anyone know how to enable debug mode of FindBoost in MSVS 2019?
By the way, what kind of specific responsibilities does a Windows build maintainer have? I feel like I've read it in one of the READMEs before but I can't recall exactly.
it's covered in HACKING
Does anyone know how to enable debug mode of FindBoost in MSVS 2019?
... dare I ask why you need to know that @Thusal Ranawaka ?
setting VERBOSE=1 is how cmake enables additional debug printing
@Sean I have been working on Build LibreCAD 3 from source with @Feragon for almost 2 or 3 weeks but it still shows errors. In the chat https://librecad.zulipchat.com/
it's covered in HACKING
Wow, making a release sounds like quite the process (and quite the responsibility as well)...
it's really not that bad. HACKING is very specific in order to try and maintain consistency no matter who does the steps and to hopefully catch mistakes before they get released. We've had mistakes (bugs) slip out into releases because steps weren't completely followed.
Would it be something that I could try sometime in the near future?
@Sean Will my problem will be solved by typing find_package(Boost) set (Boost_DEBUG ON)
on the CMakeLists.txt??
Hey @Chiranjiv Singh Malhi
Hey
Hm it looks like the same build error happened :/
I'll see if I can take a look later today.
Can you build art.cpp without pulling in libged?
Yeah I think art still built.
Actually, something that I didn't understand was that this time, literally everything else built aside from libged, even though usually a lot of projects would fail to build after libged failed.
They may have built but not linked? Anyway, I think the Windows build should be fixed now.
Hm maybe, I didn't really get the chance to test anything. I just thought it was weird because in the past, there would be like >100 projects that failed to build if libged failed.
They may have built but not linked? Anyway, I think the Windows build should be fixed now.
I'll build now to test it. Thanks for your help!
I tried it with VS2017, so if you're on a newer one you may see other issues, but I reproduced both the ones you hit.
It worked fine for me on VS2019 as well :)
Cool, thanks @starseeker
HEY GUYYYSSS
Hey, @inuka batawala
Inuka???
Hello @inuka batawala
Hello
Welcome to BRL-CAD and what is your country?
Hey @Jeffrey Liu
Hey @Jeffrey Liu
Are you working on a task @Jeffrey Liu?
Hey @Thusal Ranawaka, still working on the appleseed tasks. How about you?
@Sean , I am starting with the chess task 2 so what should I do with the error. Also can I send the bug in 'find a bug' task ?
Hey Thusal Ranawaka, still working on the appleseed tasks. How about you?
Hey @Jeffrey Liu I working on 'Build LibreCAD v3 from source' :) And good luck with your work!
Cool, good luck to you as well!
Hey @Sean
@Chiranjiv Singh Malhi you're welcome to claim and submit a bug task. however, know that the focus will be on creating very precise and minimal steps that demonstrates the error. even better if you can get a stack trace to submit.
howdy @Thusal Ranawaka. what task are you on today?
ah, librecad. cool.
It's been 3 weeks that I have been working on it. @Sean
yiks
stop that :)
Me??? @Sean
What do you mean? @Sean
yeah! you shouldn't be struggling on a task for weeks. find another task :)
here's a task you could do: create a BRL-CAD .g with all possible object types embedded.
in fact, going to add that now :)
Hey @Sean The task that you said is still not available. Let me you when you add it because I am working on the current task.
@Thusal Ranawaka well yes, I'm still writing it. You think this just magically happens instantly? :)
Sorry, I thought you were about to add it. :) @Sean
I am about to add it.
still takes time
It 's okay I am working on the current task.
Hey @Sean My dad is going to sleep so he has to take his phone and I have to go.
heh, no worries!
@Thusal Ranawaka the task was published, check it out when you can
it's a bit advanced, but should be doable in a few hours.
Hey @Sean how to specify path name for files present in home directory so that CMake can find those files ?
I have completed 2 tasks for BRL-CAD but i hav;nt claimed them because my one task is under review what can i do?
@ProCodec Did you build LibreCAD V3 from source?
No , as it was not asked to do so
Then it's useless submitting the above task for review. Because it should be done in LibreCAD V3, not V2! @ProCodec
ok i thought v3 has a installer
No. You have to build it from source.
have you build it
Do you have Linux?
kali linux
So you have
Then you are the right guy. Because I have Windows only. It will be easy for you to build it. Refer to this chat -> https://librecad.zulipchat.com/ @ProCodec
Hey @Jeffrey Liu
Hey @inuka batawala
Hey @Thusal Ranawaka, for future reference, if you have the output log selected in Visual Studio, you should be able to press "CTRL+S" which will give you the option to save the whole log as a .txt file. Doing that just makes it a lot easier to share, instead of copy-pasting the whole thing into your own file.
Thanks for the tip @Jeffrey Liu
hey @Daniel Rossberg GLEW_DIR is not setting up why?
Look when I enter the path and configure. Following error comes and the GLEW_DIR set to NOT FOUND. I set it to C:\\Users\\Asus\\Documents\\glew-2.1.0-win32\\glew-2.1.0 @Daniel Rossberg
Change the \\ to \ and // to / (or all to /).
I did it but the error is present. @Daniel Rossberg
What should I do? @Daniel Rossberg
The directory not-found error shouldn't be there, because you set it already to the correct value, or?
I set it to correct C:\\Users\\Asus\\Documents\\glew-2.1.0-win32\\glew-2.1.0\\include and change the strokes as you said and click on configure and it shows up an error and the GLEW_DIR is set to NOT FOUND.
And with all strokes as /?
Yes.
Do you have a screen shot? Best, with the CMake GUI made full-screen before.
Here, pasted image
And, if you set GLEW_DIR and hit Configure, it will reset to NOTFOUND?
btw @Daniel Rossberg you are from Germany ?
just checking the time zone
Hi, I'm Linh who is participant in Google Code-in 2019. The Appleseed tasks sound really interesting to me! Let me talk about myself. I'm 17 and have studied at Ly Tu Trong High School For The Gifted and I love IT so much!!!!
Welcome @Hoàng Linh Lê! Glad to see that there are other people interested in the appleseed tasks :)
welcome @Hoàng Linh Lê ! Is this your first GCI?
@Sean Noooooooo. This is the second time I have been GCI. Last year I won the T-Shirt from GCI. It's so nice ^^
Welcome Hoàng Linh Lê! Glad to see that there are other people interested in the appleseed tasks :)
Nice to meet you!! I'm from VietNam
Hey @Himanshu Sekhar Nayak
Hey @Thusal Ranawaka how's going ?
Working on the 15th task. How about you? @Himanshu Sekhar Nayak
working on Lua binding task
How much tasks have you done relating lua?
Is that tasks are easy?
May be around 20 I think
I'm stuck on the 15th task for weeks. I send different tasks for review but I got wrong and send me out More Work Needed. So, I'm currently working on Build LibreCAD V3 from the source which is my last hope before GCI ends. Tomorrow is the final day to claim a new task and if I won't able build LibreCAD successfully today (Because I go to school tomorrow) I am done with GCI. @Himanshu Sekhar Nayak :disappointed:
you are building in windows platform ?
how much is your school hour ?
Weekdays 7.00 am to 3.00 pm and I have no internet until my father came home at 6.00 pm.
you are working from your father's laptop ?
No. I have my own laptop but I get internet from my father's phone we haven't got Wi-Fi in my home.
oh....
So every day I have got time until 10.00 pm after my father comes home to work on GCI.
Helllooo
So, the time is 9.40 am and my father took the phone and I have to go.
Sorry, to get back to you so late. Well, it all started with my summer project for the conversion of geometric forms. And now I feel interested in it.
Hey @Erik what's up ?
Hey @Himanshu Sekhar Nayak
Hey @Thusal Ranawaka how's going ?
Still working on the same task.
Any message from mentors to you ?
No. Daniel answered me for my question.
Hey @Chiranjiv Singh Malhi What's up?
Hi
The final day.
The final day.
yeah 1 1/2 passed with fun and experience and how to work in an open source organisation
yeah
@everyone We should stay in touch with BRL-CAD after GCI ends also. :handshake:
Hey @Jeffrey Liu
Hey @Thusal Ranawaka
Are youworking on tasks?
Yep, final Appleseed task. Hopefully I can get it done in time, it seems pretty challenging. How about you?
Still working with librecad task.
@Jeffrey Liu I love to see your photo in your real life.
Hey @Sahibpreet Kaur
Hello @Thusal Ranawaka
The final day.
I will not able to claim a new task before the claim a new task deadline. @Sahibpreet Kaur
Hey @inuka batawala
We should stay in touch with BRL-CAD after GCI ends also. :handshake:
That is the general idea actually, to not treat GCI as this thing that ends, but as the beginning of your work with Open Source.
We've had students that have progressed into working much harder and/or long-term development projects. We've had GCI winners that have become core developers working on the code as well as developers for the website infrastructure (gaining excellent experience).
Others still just keep working on things that help them learn, fix bugs, make small enhancements, etc, and they tend to come back next year and win GCI the next time (or join GSoC if they're eligible).
Congratulations! Inuka then.
Hey, @Sean @Daniel Rossberg I finally build LibreCAD V3 from the source. Thanks a lot for you too for the support which helped me a lot. :joy: :tada:
Hey @Himanshu Sekhar Nayak
hey @Thusal Ranawaka congratulations for your task :slight_smile:
Thanks just submitted the 16th task. How about you? @Himanshu Sekhar Nayak
about to complete the lua binding task for object attributes
So you have done around 21?
And Hey @Chiranjiv Singh Malhi What's up?
yeah
Hi guys
hey @Chiranjiv Singh Malhi
@Chiranjiv Singh Malhi You are not a much chatting person.
Hi @Himanshu Sekhar Nayak
@Thusal Ranawaka I have been busy with exams in my school so that's why
Oh... So you haven't got any much time to work on tasks or you have managed it? @Chiranjiv Singh Malhi
Well my speed was slower than before
What
@Himanshu Sekhar Nayak Are you participating in GsoC this year?
nope but hopefully next year
Hey @everyone I create a discord chat -> -> https://discord.gg/Dama3n7 So we can stay connected even after GCI ends either on Zulip or Discord I invite everyone to join
Hey guys!!! Anyone there???
Hey, Sean Daniel Rossberg I finally build LibreCAD V3 from the source. Thanks a lot for you too for the support which helped me a lot. :joy: :tada:
Thanks, @Daniel Rossberg for your support when I am stuck. :+1:
You are welcome :grinning_face_with_smiling_eyes:
Is that your son in the profile picture? @Daniel Rossberg
No. It's not a current one, but it's me.
So how old are you now?
4 hours until GCI 2019 ends and just the beginning of the journey of open source.
1 1/2 Months,
49 days,
Just flown by the 10th year of the GCI ends by giving lots of things to our lives.
@Sean @Erik @Daniel Rossberg @LordOfBikes @Kartik kumar @Sahibpreet Kaur
As the mentors thank you very much for your support and I can't do this without you. And sorry for acting impatiently sometimes during the past month. THANK YOU!!! :grinning_face_with_smiling_eyes: :+1: :100:
@Himanshu Sekhar Nayak @Jeffrey Liu @Sumagna Das @Chiranjiv Singh Malhi And of course thanks for you'll as participants, wasting your time to give support to me in GCI tasks and other stuff. THANK YOU!!! :hug: :grinning_face_with_smiling_eyes:
So how old are you now?
I think it's still called middle-aged ;)
Okay.
That means around 40-50
@Himanshu Sekhar Nayak Did you submit your last GCI task?
nope not yet
okay brb
dinner time
brb means?
And only 2 hours left to do your work! GOOD LUCK!!! @Himanshu Sekhar Nayak
And by the way @Sean Can I know what happens on 30th of January? Did winners or finalists receive e-mails? And what exactly 10th of February announce?
brb means?
be right back
Hey @Jeffrey Liu What's up?
Hey @Himanshu Sekhar Nayak, not much, how about you?
Can't believe GCi is already over, it really flew by
yeah
yeah just my task got approved
Thanks @Thusal Ranawaka
Hey guys. Is anyone online after GCi?
Hey @Thusal Ranawaka
Hello guys.
Hey @Erik GCi is over and feel alone and sad.
Hey @Thusal Ranawaka what's up, sorry I've just been a little inactive because I want to take some time to focus on school. Hopefully we can both continue contributing together :)
Well, yes, outside the event's like GCi and GSoC it's quieter her. Then, there isn't so much to discuss about BRL-CAD.
So this is probably my fault (regarding the facetize changes, I reported that compilation on VS2019 worked for me, but I forgot to account for the fact that I had made some changes to facetize.cpp myself): I recently got my friend to try and build BRLCAD (VS2019), and he had another error with facetize.cpp. This was his log message.txt, and I looked through it to find this as the first error:
648>C:\Users\hello\Desktop\brlcad\src\libged\facetize.cpp(395,42): error C2668: '_open': ambiguous call to overloaded function 648>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\corecrt_io.h(516,30): message : could be 'int _open(const char *,int,...)' 648>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\corecrt_io.h(390,30): message : or 'int _open(const char *const ,const int,const int)' 648>C:\Users\hello\Desktop\brlcad\src\libged\facetize.cpp(395,42): message : while trying to match the argument list '(const char [10], int)' 648>C:\Users\hello\Desktop\brlcad\src\libged\facetize.cpp(398,33): error C2668: '_open': ambiguous call to overloaded function 648>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\corecrt_io.h(516,30): message : could be 'int _open(const char *,int,...)' 648>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\corecrt_io.h(390,30): message : or 'int _open(const char *const ,const int,const int)'
Really sorry about that - I just reverted my own changes to facetize.cpp (I had replaced all the underscored functions with the nonunderscored versions) and I'll try to work it out if I can.
Hm, that's odd... libged is still building fine for me?
Hey guys. Is anyone online after GCi?
@Thusal Ranawaka of course. we don't hang out here just for GCI. It's to get stuff done :)
Really sorry about that - I just reverted my own changes to facetize.cpp (I had replaced all the underscored functions with the nonunderscored versions) and I'll try to work it out if I can.
@Jeffrey Liu not sure I understand -- did you submit an edited facetize.cpp somewhere? I don't have an _open() in the latest checkout.
Sorry, I should've clarified - I made some local changes to facetize.cpp, which were still there when I tried to recompile and reported that it worked on VS2019, even though it didn't for my friend. Interestingly though, even when I reverted facetize to match the source, compiling libged still worked for me.
did your friend compile with vs2019 or an earlier/different version?
He told me it was VS2019
Hey guys.
20200126_094630_mfnr.jpg Hey My parents bought me a cricket set which I always loved to.
Hey guys!!!
@Jeffrey Liu @starseeker
I can confirm the build issue with MS Visual Studio 2019. It looks like it was introduced with revision 74695. The fix for VS2019 is to move the open define (and only this one) back in the #ifndef __cplusplus
section. Can somebody test this with VS2017?
I talk about the include/config_win.h.in file.
Hm that's odd, I thought that open was moved in the first place because it wasn't being defined in facetize.cpp.
I believe I still do have VS2017 installed though, so I will test it out when I get the chance.
After GCi I checked zulip everyday but the messages are very less.
tends to be how it goes
It is a lot quieter now, but everyone is busy of course. I'm just wondering though, do developers check patch tickets or Zulip more often? I feel like I post a lot of updates in Zulip because I'm not entirely sure whether a change will be accepted or not, but I'd be happy to post it as a patch ticket if that's preferred.
Hey Guys!!!
Hi @Thusal Ranawaka . How's it going?
Hi @Chiranjiv Singh Malhi I'm well. Are your exams are over now?
Yes but they will start again soon
Did you receive your digital certificate?
Hey @LordOfBikes
Hey @Chiranjiv Singh Malhi
Hello @LordOfBikes How's it going?
I'm fine, thanks for asking! How about you?
I'm well. Thanks @LordOfBikes
Hey @Thusal Ranawaka that's neat. You've been playing cricket long?
@Jeffrey Liu patch tickets and zulip are checked ad hoc --- that's part of the nature of open source. it's up to individuals to get engaged and stay engaged in work they find interesting. those that care about the vitality of the project more than others tend to pay more attention to the tickets, but exhaustion after GCI is a huge factor. that takes so much energy that lots of devs just hav to take a break.
Hey Thusal Ranawaka that's neat. You've been playing cricket long?
Yeah I loves cricket a lot but I didn't have a full cricket set before. @Sean
Hey guys.
Jeffrey Liu patch tickets and zulip are checked ad hoc --- that's part of the nature of open source. it's up to individuals to get engaged and stay engaged in work they find interesting. those that care about the vitality of the project more than others tend to pay more attention to the tickets, but exhaustion after GCI is a huge factor. that takes so much energy that lots of devs just hav to take a break.
Hey @Sean What's the meaning of this?
@Thusal Ranawaka It means what it says... what do you mean? :)
Is there some aspect of it that you don't understand or did you have a question about it?
It's saying the project is as active as all the participants, and that GCI is a lot of work!
Okay @Sean
okay @Sean
@Sean You sometimes sends me messages which I feel that you are saying them in a bad mood but you always send a :) at the end of the message to feel me well. :thinking:
hah, well that wasn't a message specifically directed at you actually, but I'm rarely ever in a bad mood! :)
it's not a great idea to assume anything about how people are feeling over the internet ;)
what matters more to most open source communities is active participation, getting useful things done
and of course discussion, communication, particularly about what code we're all working on
so @Thusal Ranawaka have you come up with a brl-cad project to focus on for the next year? :)
so Thusal Ranawaka have you come up with a brl-cad project to focus on for the next year? :)
@Sean Uh....No
so Thusal Ranawaka have you come up with a brl-cad project to focus on for the next year? :)
Sean Uh....No
Uh.. Sometimes probably Appleseed or Lua. But I will work on the non coding tasks like modelling, documentation, reports, tutorials most. @Sean
@Thusal Ranawaka why non-coding tasks? working on a small pet project is one of the best ways to learn coding. If you're interested, I'd be happy to mentor you on a small task (fyi, lua and appleseed are not small tasks).
I'm thinking of small tasks that help you get familiarized and experienced for future years, starting with little goals like "implement a new 'about' command"
Hey guys.
Hey @Jeffrey Liu What is that website that you had told me about where you learnt C++?
Here it is: https://www.learncpp.com
If you have any questions, feels free to ask and hopefully I will be able to answer :slight_smile:
Thanks bro
Did you send the forms to gci support? @Jeffrey Liu
Hey @Erik @Sean It's 10th of FEB.
Hey @Daniel Rossberg
Hey @Sean
hey @Thusal Ranawaka what're you working on?
hey Thusal Ranawaka what're you working on?
@Sean Sorry, I'm still not working on a project these days. And I going through the website which @Jeffrey Liu gave to me to learn C and C++. And also I have school assignments to the top of my head so pretty much busy these days and my parents are telling me to pay more attention on educational studies. :) :slight_smile: :expressionless:
Hey @Sahibpreet Kaur After a long time!!!
Hey @Thusal Ranawaka
Are you live in Kolkata? @Sahibpreet Kaur
Nope!
Then,
I am from Punjab.
Not very popular. @Sahibpreet Kaur
Thanks . @Jeffrey Liu www.learncpp.com Is pretty awesome.
Heyya @Jeffrey Liu
Hey what's up
Is Jeffrey Liu your full name?
@Thusal Ranawaka : pay more attention to your educational studies. :grinning_face_with_smiling_eyes:
I am feeling that speed will scream in rt_shootrays in the next release of brlcad :)))
Not very popular. Sahibpreet Kaur
Offtopic and irrelevant, but 28M people might disagree with you there.
@Sean are there a function to store as array of region_id , inflip, outflips while bundle_hit ? To do iteration over the array after bundle_hit returned.
Hey @Jeffrey Liu
Hey @Thusal Ranawaka , how's it going?
hello
hey @Thusal Ranawaka i wasnt active becuse of my studies
and i am also learning python
anyways hows it going
Hello @Sumagna Das I am good.
learnt anything new?
Yes. I am learning C++ though I have got stuffed up with homework assignments. So I am pretty much busy these days.
me too
i am learning python
And now I have a ban for internet too. Because I have used about 15GBs of data for GCi. So I am not allowed to do anything expect study works in my laptop using internet.
@Thusal Ranawaka that is hilarious, outstanding, and concerning ... :)
Were you working on a data capped line or something?
Did this cost you or your parents extra money or something?
Sean said:
Did this cost you or your parents extra money or something?
Yes @Sean . As I said, I didn't have wifi in our home. So I have to use dad's phone to get data he got only 3GB for a month and I had used about 13GB in that time and internet service provider had charged him extra money for using extra data.
Hey @Ngadou Yopa
Hi @Thusal Ranawaka
Are you a mentor?
for GCI yes
congrats :)
Thanks. Are you from South Africa?
@Jeffrey Liu @Himanshu Sekhar Nayak I'm really sad and sorry for you. I heard to know that GCi Grand Prize Winner's trip is going to cancel due to Corona virus spreading around the world. Let's hope that they will postpone it instead of cancelling it because it is once in a life time opportunity. :worried: :exhausted:
@Jeffrey Liu @Himanshu Sekhar Nayak I heard that GCi Winners are sending out a email to Google what they feel about the Winner's trip look https://docs.google.com/document/d/1jAzQk5On0LtBlNueALKbssNkp4ybCP8659d9Z-NBpcM/edit?usp=sharing I think this might help you.
Yeah, it is a shame that they had to cancel it due to the threat of coronavirus, but it is the right thing to do. There would be a lot of people travelling from different countries so it would be very dangerous.
Thusal Ranawaka said:
Thanks. Are you from South Africa?
:) No Cameroon
hello
hey @Sean , is there any work related to python?
i can work with c++ but i want to try with python
hey daniel
is there any work related to python
Probably yes, but I'm not very familiar with the BRL-CAD python interface. Unfortunately.
Hello All
@Sean I was wondering if there are or will be any projects to collect all opensourced CAD packages under an umbrella (possibility to generate funds )?
@scorp08 Do you mean a software distribution like a linux distro or an organizational umbrella? The prior has been done before, though not specifically for just CAD. The latter is in the works (called OpenCAx) and is how we've effectively been operating for the Google Summer of Code program the past few years. Needs a website and to publish the founding documentation., though.
Sean said:
scorp08 Do you mean a software distribution like a linux distro or an organizational umbrella? The prior has been done before, though not specifically for just CAD. The latter is in the works (called OpenCAx) and is how we've effectively been operating for the Google Summer of Code program the past few years. Needs a website and to publish the founding documentation., though.
@Sean Seems great ! I had also read about some stuff of funding options in freecad forums for developers. Is money support possible in OpenCax ? or volunteering will continue ?
hello
can i add a bot to a new stream which will bridge the IRC channel with the stream?
if i can add one, please let me know.
we already have one, check freenode #brlcad
Hey @Jeffrey Liu
that's right, starseeker. I can foist my images upon you without you needing to click a link. Mwahahhaha.
@Erik Harrumph. The PROPER habitat of Real Programmers is terminals, with arcane editors and actively hostile compilers! And beware of these newfangled ANSI standards... (for the truly hardcore this guy has you covered, although even there one can't truly escape graphics: Using a 1930 Teletype as a Linux Terminal https://www.youtube.com/watch?v=2XLZ4Z8LpEE)
How long does it take to develop brl-cad kernel ? I was wondering what kind of challenges you've faced :) ?
I've used a daisywheel teletype before. and now I run a tiny hpc datacenter with an hpc queue and it all seems very arcane and old unix
Erik said:
we already have one, check freenode #brlcad
Actually we had one. Something in ports updated and broke the bot. Haven't dug in to figure out what got shot.
scorp08 said:
How long does it take to develop brl-cad kernel ? I was wondering what kind of challenges you've faced :) ?
A lifetime.
Visual Studio 2019 builds the whole project everytime. This was not the case when I build on Ubuntu CMake + GCC command line tools. It only built the changed parts. How can we get the same for VS2019?
Currently I run cmake to build the VS solution. Open that solution in Visual Studio and run the 'Build Solution'.
I'm going to try using Mingw instead of VS. Is this bad?
VS2019 - you want to use the "ALL_BUILD" target under the CMake predefined targets grouping
mingw - it's not know to work currently, there are most likely a lot of issues that would have to be fixed
it'd be great if someone fixed all the mingw build issues :)
Hey @Daniel Rossberg and @Sean :slight_smile: How's going? I haven't been here for so long
Hey @Jeffrey Liu o_O
Hey @Himanshu Sekhar Nayak! How are you?
Yeah I am fine but our area is a red zone of covid-19
covid-19 ruined all :frown:
Yeah, same here. I also have a lot of online exams coming up... So I haven't been able to contribute recently
Hi @Himanshu Sekhar Nayak, I'm fine. I'm doing home-office, but not mandatory.
Daniel Rossberg said:
Hi Himanshu Sekhar Nayak, I'm fine. I'm doing home-office, but not mandatory.
any task that I can go through? Just lost the path where I had been...
Himanshu Sekhar Nayak said:
Hey Daniel Rossberg and Sean :) How's going? I haven't been here for so long
Hi @Himanshu Sekhar Nayak ! Sorry to hear everything is ruined. Definitely stressful times all around. What have you been up to codingwise? Looking for a project?
and good to hear from you too @Jeffrey Liu ! Which exams are you working on?
@Sean I hope you are fine in this global pandemic. Btw I am looking for some projects that can be handy for me in C++ and recently I just practising and playing with git and command line. And yes I love bash too.
@Daniel Rossberg btw I can start working on MOOSE. Just forgot the path where to start on. I will look forward into it.
@Sean I've been studying for AP exams for the past few weeks. I'm hoping to be able to work more on the Appleseed project after those, which take place in about a week.
@Jeffrey Liu sounds good!
mdns+mqtt makes my esp8266/esp32 mesh happy O.o
Hey guys!!! It's been a while to come back after GCi. COVID'19 may seem to have a drop here, but we are still home.
Hello @Jeffrey Liu
Came online after so many days
Hi @Thusal Ranawaka welcome back! What would you like to work on? :)
Hey @Jeffrey Liu
Hi @Thusal Ranawaka ... ready for a project? :)
could use someone to make "nirt -?" work inside mged. right now it just says a 1-liner, but it really should display output similar to "nirt -?" outside mged
@Sean Uh...Not yet. Still familiraising with C/C++. Yesterday, we got Wi-Fi to our home for the very first time. So, Now I can contribute more towards BRLCAD and to open source, but I am still on basics of C++. AND........ Do you know any projects in BRL-CAD?
@Sean Do you know any projects? I mean where to Start? :)
hello @Jeffrey Liu
Hey @Sumagna Das , what's up?
Hi all, I'm interested in the Google Season of Docs, particularly converting over to a service such as Docusaurus
Hello @Jeffrey Liu
Hey @Thusal Ranawaka
hello @starseeker
Hi @Sam Robbins welcome! can you tell us more about yourself on a #Google Season of Docs thread?
btw Sean, how is covid-19 affecting your country/ place?
@Sumagna Das everything is pretty well locked down, physical distancing, highly limited movement, all online learning, and telework as much as possible. dozens of zoom chats, google classroom videos, facetime calls, and more every week.
some restrictions are being lifted just in the past few weeks, but it's a bit premature from a statistical perspective.
it's turning into political issue from people that don't understand how exponential growth works in large populations. it just means this is likely going to last a lot longer, at least until there is a viable vaccine.
hello @Jeffrey Liu and @Sean :disappointed:
Sorry don't mean to be a downer @Sumagna Das. I'm personally fine with most of the restrictions staying away from others, so long as it's possible to still go out and get air, exercise, visit parks, etc. It's manageable. It's also nice to get to so many other things, like getting my inbox back down to a sane level, organizing files, reading papers, reading books, taking online courses, getting through so much backlogged work that I might not have otherwise. I won't run out of things to do anytime soon...
i was sad because of my test
Hey @Sean I am currently working on C++ and already learned some basics, will work on code pretty soon.
excellent @Thusal Ranawaka
if you'd like help with a relatively simple introductory task, glad to make some suggestions or help you get started with one of them.
@Sean I'd love to.
@Sean I'd love to do that introductory task. Thanks for your help. :)
@Thusal Ranawaka here's a nice starter task. write an mged script that creates all possible object types and puts them into a scene.
@Sean Using???
@Sean Yay! I finished the basics of C++. But have to do some more lessons. ;)
Congrats @Thusal Ranawaka ! Can you share anything you wrote in C++?
good morning to everyone
Sean said:
Congrats Thusal Ranawaka ! Can you share anything you wrote in C++?
@Sean The Basic is called "Hello World", but there are more variables, basic arithmetic, printing concepts also.
#include <iostream>
using namespace std
int main () {
cout << "Hello World!";
return 0;
}
@Sean Most of them I tried on MSVC 2019. I learned C++ from Sololearn App in my phone.
Look this is one of my C++ programs I tried on MSVC. Getting-Started-with-C.cpp
Now I have to learn CONDITIONALS AND LOOPS.
Sean said:
Thusal Ranawaka here's a nice starter task. write an mged script that creates all possible object types and puts them into a scene.
Btw, I thinking about this too. But my question is where do I write the MGED script in the MGED command window? or in the Command Prompt?
Hey @Sean
How's the storm going? Terrible? Even we are having heavy rains due to Amphan storm. @Sumagna Das
@Thusal Ranawaka you can start by writing them in mged, but then as you figure out the right command, you put that command into a text file. you can name that file "myscript.mged" for example.
then to test it, you can close mged, open it fresh, and run the script by sourcing it: source myscript.mged
if your commands in the myscript.mged are correct, it will reproduce the geometry you've created so far and you can continue to figure out more entity types.
no storms here, just a cloudy windy day
Okay. Thanks. @Sean I'll try my best. :)
Hello @Jeffrey Liu
@Thusal Ranawaka feel free to share your progress as you go! glad to help you. I suggest starting with a simple modeling task first to remind you how objects are created, something like this: https://codein.withgoogle.com/archive/2017/organization/6254981527109632/task/5445913036193792/
here's a nice tutorial if you get stuck (but try without it first maybe) https://brlcad.org/wiki/Google_Season_of_Docs/2019
@Sean Okay. Thanks
@Sean I went through the tutorial and remind the commands.
Sean said:
Thusal Ranawaka here's a nice starter task. write an mged script that creates all possible object types and puts them into a scene.
@Sean You mean create all the object types using mged command window and copy those commands paste them in a text file.
@Sean But the part that I can't understand is to how to put all possible object types to a scene and to source myscript.mged.
Hey @Jeffrey Liu
Hey @Jeffrey Liu
Sean said:
then to test it, you can close mged, open it fresh, and run the script by sourcing it: source myscript.mged
if your commands in the myscript.mged are correct, it will reproduce the geometry you've created so far and you can continue to figure out more entity types.
Sean said:
Thusal Ranawaka you can start by writing them in mged, but then as you figure out the right command, you put that command into a text file. you can name that file "myscript.mged" for example.
@Sean Sorry, I can't figure it out.
@Jeffrey Liu Do you know how to make MGED script that makes all possible objects puts into a scene. I have problem bit understanding what it says.
Do you know, how to make a mged script which creates a shpere?
Daniel Rossberg said:
Do you know, how to make a mged script which creates a shpere?
@Daniel Rossberg Yes. using in sph sph
or using make sph sph
.
That's good. Post your script here. (The one, which creates the sphere.)
@Daniel Rossberg You mean, Write the script in MGED and copy it to a text file.
Yes. To test it, you can close and re-open mged, and type source myscript.mged
(or however you've called your script) there.
@Daniel Rossberg Yeah. I did it. But it shows this error.
mged> source myScript.mged
Error: couldn't read file "myScript.mged": no such file or directory
Can you post your myScript.mged file here?
@Daniel Rossberg myScript.mged.txt
Ah, it is not called myScript.mged but myScript.mged.txt. It has a .txt
at the end.
Oh
@Daniel Rossberg Error: invalid command name "mged>"
@Daniel Rossberg MGED-7.26.0-Command-Window-id_0-Upper-Right-5_21_2020-8_29_15-PM.png
That's right. There is no mged>
command. This is the command prompt. You script should look
opendb myScript
make sph sph
instead. The commands are opendb and make here.
BTW, In personally wouldn't include opendb in the script, but assume that there is already a database open in mged.
MGED-7.26.0-Command-Window-id_0-myscript-Upper-Right-5_21_2020-8_34_03-PM.png Upto this point is it correct? @Daniel Rossberg
Did you run your script? I don't think so.
No.
Take your fixed script (I would recommend without the opendb command) and run it through the source command.
@Daniel Rossberg It worked.
MGED-7.26.0-Command-Window-id_0-Upper-Right-5_21_2020-9_02_27-PM.png
Nice :)
And now, add an arb8 to your script and post your script here.
To the same script which contains the sphere. @Daniel Rossberg
@Daniel Rossberg I did.
(deleted)
No, you did not :wink: You haven't posts you script here.
myscript @Daniel Rossberg
@Daniel Rossberg Now?
I can't see the sphere. It's hidden in the cube. You need to fix this.
It means to move the sphere away from the cube @Daniel Rossberg
Or to move the cube away from the sphere, or to create the sphere or the cube at a different place.
@Daniel Rossberg Yes. I did. Now look at it. myscript
This is the same script as before...
Yeah
@Daniel Rossberg It means to change place of the cube or the sphere using commands and copy it to .txt file.
Look at this script. myscript @Daniel Rossberg
Although I figured out how to change the place of the sphere using the tra
command, but I don't know how to select the sphere using commands. I know how to select from primitive selection only. @Daniel Rossberg
I personally would use the in command to create the primitives. This gives me more control of them.
Yeah, I would echo that sentiment @Thusal Ranawaka , the in command is better suited to this task as you can create each object specifically where you want it to go.
@Sean The problem is when use the in
command I can figure out how to change x y z but it asks some more like the height of the vector, radius. Can you explain me the concept height of the vector.
Hey @Sean Good Morning!
Did you had a look at https://brlcad.org/wiki/BRL-CAD_Primitives ? A sphere has a vertex and the radius as parameter.
I will look at it. Thanks btw
You may want to look at https://brlcad.org/w/images/9/90/Intro_to_BRL-CAD.pdf too. The second command it explains is the in command.
@Thusal Ranawaka height of a vector is simply in which direction is the object pointing. For example, a simple cylinder pointing "up" the +Z axis might have a height vector of 0,0,1.
Still when in doubt, just try putting in some simple values and see what happens. You can create an object, inspect it with the "l" list command, and then delete them with "kill" command, and try different values (press up-arrow to repeat previous and so you can just edit the previous values).
@Sean That what I am trying right now. I have figured out sph, cylinder and some other. But arbs are drives me crazy. It asks 8 points. So I am trying different measures and if I went wrong I kill it and work on it again. Thanks.
@Sean Also I have trouble communicating with Zulip our Wi-Fi quota exceeded about a week ago because I updated my PC. And my dad got some extra GBs for our online lessons. So, it's only for lessons and I have to chat on cellular which is very slow.
@Thusal Ranawaka you can also look at existing objects or use the make command to create one and then look at it's parameters after running "sed object" to better understand the thing the in command is asking for. some are also documented on the wiki with diagrams, others at the end of the mged tutorial wherer there is a visual catalog of primitives.
Hey @Sean This is the present status of myscript.mged. myscript
And it's working.
Hey @Himanshu Sekhar Nayak
hi @Thusal Ranawaka what's up?
Fine. How about you?
Are you facing the AMPHAN storm too? @Himanshu Sekhar Nayak
not much learning data structures and I am currently in tree data structures and side by side I am learning bash too
Thusal Ranawaka said:
Are you facing the AMPHAN storm too? Himanshu Sekhar Nayak
already faced that cyclone
And it's over.
my area is worst hit of corona virus and cyclone
Where do you live?
my area is in red zone and I can't go outside too
City?
Balasore, Odisha
I didn't heard of it.
What is the state?
Odisha
Odisha? I don't know. Is it somewhere near Kolkata?
yes near West Bengal
hey @Sean
what's up
Oh
Hey @Daniel Rossberg
Thusal Ranawaka said:
Hey Sean This is the present status of myscript.mged. myscript
Only 22 more to go plus scene layout and rendering effects :)
hey @Thusal Ranawaka ! Sorry I couldn't get back to you sooner. How are you?
Jeffrey Liu said:
hey Thusal Ranawaka ! Sorry I couldn't get back to you sooner. How are you?
@Jeffrey Liu Good. How about you?
Hey @Jeffrey Liu
Hey @Sahibpreet Kaur
Hello @Thusal Ranawaka
What's up?
Himanshu Sekhar Nayak said:
my area is worst hit of corona virus and cyclone
how is your place now?
my area is getting better and better everyday
they fixed the internet today
@Sumagna Das Glad to hear!
but right now i have to complete a phyiscs test :grinning_face_with_smiling_eyes:
Physics?
yea
bye for now
At your age?
??
You mean in school?
its physical science as a whole but right now
no tuition
sorry
gotta go
Okay
Bye
Hey @Sean
hello
my wifi is back so i might be working on the interface tomorrow onwards, i think
hi @Thusal Ranawaka how's the progress?
Hey @Daniel Rossberg
Hi @Jeffrey Liu
hi Jeffrey
Space x launch, yall
Saw that
Hey @Sean
hey @Thusal Ranawaka!
Btw, @Sean What's happening there? I CAN'T BREATHE Protests along with COVID'19???
:anguished: :fear:
You probably know as much about it as I do. Symptoms of decades of massive socioeconomic disparity reaching a tipping point, abuse of power / lack of leadership / failures in leadership, heightened societal stress, and coupled with hyper visibility into societal events (everyone has become an expert at recording and sharing video fast).
Thusal Ranawaka said:
Btw, Sean What's happening there? I CAN'T BREATHE Protests along with COVID'19???
some cops killed a man called George Floyd ruthlessly and "I CAN'T BREATHE" were his last words. these protests are going on for his death and also against racism.
that's all i know. :smile:
That was a flashpoint. The protests and rioting, however, are not solely due to that instance but, rather, systemic stress that has been around and been growing for a long time.
for this lockdown and quarantine and stay home?
The same happened in the city where I lived a few years ago, the resulting riots made international headlines then too. This is definitely more widespread but is nearly identical conditions.
Not all areas are locked down, many are opening up and relaxing restrictions.
yea
decent status coverage: https://www.nytimes.com/interactive/2020/us/states-reopen-map-coronavirus.html
some areas in our country are also opening up including some places in our state
short summary: most of the US has at least partially reopened in the last two weeks.
@Sean Which state do you live?
probably will result in another spike in about 3-4 weeks, but there is a lot more hospital capacity, testing, and contact tracing available now compared with 3 months ago.
MD
What is MD?
Maryland
Oldness sucks, i find myself using my phones camera as a magnifying glass to read soc ic labels.
hello
hello @scorp08
@Erik what are soc ic labels? and why must one read them?
(deleted)
Hey @starseeker
Hello @Sean
Hey @Thusal Ranawaka get more of your script entities done or get a list of what's remaining?
Sean said:
Hey Thusal Ranawaka get more of your script entities done or get a list of what's remaining?
On it.
Hi @Jeffrey Liu
hey @Sean i was going to use the draw command in mged
how to draw all objects in a geometry file?
hey @Sean , made this using the somewhat working incomplete interface
@Sumagna Das there's not a userland way to draw all objects because .g files are considered multi-hierarchy databases. Users run "tops" to get a list of the top-level geometries available, and then draw one of them.
there are programmatic ways (you simply iterate over the tops list)
Sumagna Das said:
hey Sean , made this using the somewhat working incomplete interface
That's nifty. Looks like the spheres were programmatically generated?
Sean said:
Sumagna Das said:
hey Sean , made this using the somewhat working incomplete interface
That's nifty. Looks like the spheres were programmatically generated?
actually it was.
@Thusal Ranawaka what's your school?
hey @Sean any info on shipment of stickers of BRLCAD?
@Sadeep Darshana Uh.. Why? Ananda College.
@Himanshu Sekhar Nayak honestly things kind of got delayed with the global shutdown. Didn't feel right shipping things all over the place. I'll need to print another batch of stickers to get to those remaining too.
(deleted)
@Thusal Ranawaka Are you in ACICTS?? there are these contests like NSSC and noi (noi.lk). You might be able to participate through school.
@Sadeep Darshana Yes. I got to know about GCi from ACICTS. Are you an Anandian?
No, I went to Royal . @Thusal Ranawaka
I will look on to that contest. Thanks
Is NOI something like GCi?
Hey @Sadeep Darshana
No. It is totally different. NOI is about problem solving. You have to come up with an algorithm to solve a given problem. Contests are usually ~3hrs. 5 problems. If you perform well in noi. You can go to the international contests.
Sadeep Darshana said:
No. It is totally different. NOI is about problem solving. You have to come up with an algorithm to solve a given problem. Contests are usually ~3hrs. 5 problems. If you perform well in noi. You can go to the international contests.
Okay.
Also check out the NSSC. It is also algorithm. Hackerrank like questions. They used to give laptops as prizes. Have to register through school.
Hi @LordOfBikes @Jeffrey Liu ! :high_five:
Hey @Daniel Rossberg
Hi @Sean
hey @Thusal Ranawaka nice progress on the script! just a few more it seems. note there are examples of several of the more advanced ones on the wiki
@Sean sorry, soic and sot
(deleted)
Hi @Sadeep Darshana
Hi @Sean
Making a pipe
any cool renderings to share? we love eye candy :D
so supposedly on friday I'm getting a box o' bits, enough to build a dual epyc rome (32 core cpus, so only 64) with 256g ram, a 1tb m.2 ssd, and a pair of rtx2080ti's. wonder what the benchmark results will look like :)
Hello @Sadeep Darshana
hey Thusal
I signed up for noi.
ah, great
But no one was there
but there were some practice courses
Not sure if the stuff is over for this year
I think the 3rd round of practice sessions are starting around 20th of June or something. @Sadeep Darshana
What do you have to do there?
Complete different courses?
The general procedure is first they take school students and do algorithm training. At the end they conduct the national olympiad. From that they select the national team. Selections might be over for this year. But the plan was to have it more like a continuous on going program from this year onwards. So if you can get in touch with the program it is good. Last year there were several contestants from your school. @Thusal Ranawaka
Sadeep Darshana said:
The general procedure is first they take school students and do algorithm training. At the end they conduct the national olympiad. From that they select the national team. Selections might be over for this year. But the plan was to have it more like a continuous on going program from this year onwards. So if you can get in touch with the program it is good. Last year there were several contestants from your school. Thusal Ranawaka
Thank you for the information.
:+1: :grinning:
You having online classes from school?
Yeah.
lots of them
Which grade are you in?
Grade 9
my brothers also in 9.
Oh
Are you at university? @Sadeep Darshana
@Thusal Ranawaka yp, moratuwa
Hey @Sean
Hi @Sean
(deleted)
Hello @Sadeep Darshana
Hi @Sadeep Darshana
hey @Thusal Ranawaka how are you doing?
Good. Just heard a bad news. GCi was retired. @Sadeep Darshana
What do you mean? GCI is not going to be in the next year?
Yes. It was officially retired for the development of Google Summer of Code. @Sadeep Darshana
:sob:
Hi @Daniel Rossberg
Well. you can do gsoc next year. @Thusal Ranawaka
How
The Age
Hey @Sean Did you heard that GCi was retired?
they might lower the age for gsoc if the decision was taken " for the development of Google Summer of Code"
@Thusal Ranawaka Yes, I've known for some time now. It's not unexpected, but it is sad for me as it is my favorite open source outreach program. You guys are awesome.
Why would they do that? @Sean
Sean said:
Thusal Ranawaka Yes, I've known for some time now. It's not unexpected, but it is sad for me as it is my favorite open source outreach program. You guys are awesome.
the retiring of GCI was not unexpected?
Hi Sadeep
Hey Thusal. What was your project you did for GCi?
There were tasks, not projects. @Sadeep Darshana
At least, I become a Finalist in the last year of GCi on my first try.
That's great.
Heard schools start around 29th?
July 27th
for us (Grade 9)
So we have about one and a half month
(deleted)
Yes
I thought it is around 29th this month.
Yeah. It's only for Principals, Teachers and Academic staff.
Where do you live?
Hanwella. You around Colombo?
Yes. Malabe
Hanwella? That's quite a distance.
around 25km I guess
Yeah
@Sadeep Darshana Do you know a small software that I can clone from GitHub repo that I can build and install?
For this https://drive.google.com/file/d/1WyfOdzMvOJ-28TVSqt5xkqB7QUq_ibKw/view
Building brl-cad was fairly straight forward since it has all the dependencies within it.
Is Brlcad is available in Github @Sadeep Darshana
I thought it only can download from sourceforge
Thanks @Sadeep Darshana I saw it. :grinning:
I'm not sure if it is the one.
Sorry I didn't notice it had to be from GitHub
Maybe you should build something like VLC
@Sadeep Darshana VLC is even bigger than BRL CAD
How about notepad++?
I build Zulip
Hi, @Sean @Daniel Rossberg Sorry, I was unable to update the myscript.txt for a couple of days because I'm participating in my school's intra school software competition. I will send the latest updates of myscript.txt (primitives.tcl) as soon as I'm free. :)
Hi @Sadeep Darshana
hey how is it going
did you get zulip built?
good
Sadeep Darshana said:
did you get zulip built?
Yes
great
Are you doing a BSc on engineering?
yes
In which field?
CSE
Chemical Science?
Computer Science and Engineering
My father is a engineer too
Which uni?
Mora
He is a civil engineer
that's great
Also a fellow member in IESL
My father might know him. Where does he work?
Coast Conservation Department @Sadeep Darshana
Not likely he knows him then
Is your father a fellow member
No, he is only a member
What is his name
Weerasinghe, It's unlikely your father knows mine. He works in construction.
How is stuff going on at ACICTS?
I used to know a lot from 16 AL batch
Sadeep Darshana said:
How is stuff going on at ACICTS?
great we are working on bits 2020
does your father has his own construction company or working on a private company @Sadeep Darshana
because my father know a weerasinghe @Sadeep Darshana
he works at Tudawe Brothers
Oh. So he doesn't know him
He knows another Weerasinghe.
:grinning_face_with_smiling_eyes:
That's a very common name
Yeah
(deleted)
bye
bye
Hey @Sean Just found a typo while installing brlcad. can you apply it? fix_typo.diff
Yep, sure thing. The ‘e’ key sticks on my keyboard sometimes... prone to typos.
yeah some of my keys also sticks and my laptop is outdated a bit. So I bought a new laptop :-)
ick, I've gone through like 4 different brands of keyboards after my last good one crapped out, hope you find a viable replacement O.o
https://www.pckeyboard.com/ used to sell Model M versions - I don't know how they are these days, but I liked the original Model Ms...
Don't know if their build quality is up to the old standards though - 1980s had a lot more profit margin on computers to play with so the incentive to save every penny wasn't there so much...
Yeah, comments online are a little worrisome...
/me idly wonders if anyone has ever tried to 3D print their own keyboard...
@starseeker : check out razer gaming keyboards or anything with cherry mx's or something in them, there are a lot modern keyboards that are reminiscent of the old m's, with multicolored led crap stuck in
some of 'em even weigh as much
btw I bought one Logitech G203 Prodigy :-)
keyboard is nice but not fully mechanical
Erik said:
ick, I've gone through like 4 different brands of keyboards after my last good one crapped out, hope you find a viable replacement O.o
It's my laptop, so unlikely until I get a new one.
I have just apparently coded the life out of it.
Heh. One of Bob's old Alienware laptops had one of the Emacs-related keys cracked from heavy use.
I hear you can plug external keyboards into laptops these days
usb-c brought back the box o' adapters :D
my latest stunt is actually bluetooth kbd + ipad + vnc (rdp for windows). Then I have 2 machines in my 'lab', one is an rpi running a webcam httpd plus some basic gpio control stuff and a linux laptop with decent cpu and the programmers plugged into it to build and install :D
my instagram account got hacked probably yesterday night
at like 1 am, i got emails saying that i was trying to login whereas i was actually watching youtube at that time
(deleted)
Up axis is Z in brlcad? This is consistent across all brl-cad applications, isn't it? Also does each axis and its positive direction corresponds to the same in opengl?
Yes, sorta. We are both right hand (vs dx left hand). Z is up. We need a 90 degree rotation to match ogl
thanks Erik
I just realized that Archer is not calling _drawVList every time it draws a frame. How is this possible? Does it store the drawn objects somewhere (GPU?/FB?) ?
Sadeep Darshana said:
I just realized that Archer is not calling _drawVList every time it draws a frame. How is this possible? Does it store the drawn objects somewhere (GPU?/FB?) ?
That's the point: You shouldn't iterate VectorList for every draw but only if this list has changed. Write the elements into a display list and use this for redraws. See glNewList() and glEndList().
yeah, im checking that out. btw MGED is drawing every frame.
Hi @Sean @Daniel Rossberg Could you tell me a suitable object type in BRLCAD to model 'a petal of a lotus flower'? :)
Trying to model this,
Our Beautiful Iconic Tower in our Country!
THE LOTUS TOWER
Opened it last year, but still on some construction.
350m in height.
Taller than Eiffel Tower.
It looks like the petals of this tower are in fact build from triangular and quadrilateral elements. It should be sufficient to construct a half petal from each row. The rest can be done by creating copies with mirroring and rotation.
:+1:
@starseeker I was trying to build the qged. I'm getting some compile errors in Qt headers. Could you tell me about your setup? I'm using Qt5.14.2\msvc2017_64.
What are the errors? I haven't tried the qtged branch with MSVC in a very long time (if ever) - I'm building with gcc on Linux
Qt version 5.12.8, but if the newer ones don't work we should fix that
I'll see if I can set up a Windows test later tonight
@starseeker
main.cxx
C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include\QtCore\qthread.h(141,17): error C2059: syntax error: 'constant' [C:\summer\qtt\cmake-build-debug-visual-studio\src\qged\qged.vcxproj]
cadapp.cxx
C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include\QtCore\qprocess.h(249,10): error C3668: 'QProcess::_close': method with override specifier 'override' did not override any base class methods [C:\summer\qtt\cmake-build-debug-visual-studio\src\qged\qged.vcxproj]
C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include\QtCore\qbuffer.h(78,10): error C3668: 'QBuffer::_close': method with override specifier 'override' did not override any base class methods [C:\summer\qtt\cmake-build-debug-visual-studio\src\qged\qged.vcxproj]
C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include\QtCore\qsavefile.h(90,10): error C3668: 'QSaveFile::_close': method with override specifier 'override' did not override any base class methods [C:\summer\qtt\cmake-build-debug-visual-studio\src\qged\qged.vcxproj]
C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include\QtCore\qthread.h(141,17): error C2059: syntax error: 'constant' [C:\summer\qtt\cmake-build-debug-visual-studio\src\qged\qged.vcxproj]
cadattributes.cxx
C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include\QtCore/qfiledevice.h(103,10): error C3668: 'QFileDevice::_close': method with override specifier 'override' did not override any base class methods [C:\summer\qtt\cmake-build-debug-visual-studio\src\qged\qged.vcxproj]
Also I've been getting these warnings, clash between windows sdk and qt?
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\corecrt_math_defines.h(17,1): warning C4005: 'M_E': macro redefinition [C:\summer\qtt\cmake-build-debug-visual-studio\src\qged\qged.vcxproj]
C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include\QtCore\qmath.h(155): message : see previous definition of 'M_E' [C:\summer\qtt\cmake-build-debug-visual-studio\src\qged\qged.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\corecrt_math_defines.h(18,1): warning C4005: 'M_LOG2E': macro redefinition [C:\summer\qtt\cmake-build-debug-visual-studio\src\qged\qged.vcxproj]
C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include\QtCore\qmath.h(159): message : see previous definition of 'M_LOG2E' [C:\summer\qtt\cmake-build-debug-visual-studio\src\qged\qged.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\corecrt_math_defines.h(19,1): warning C4005: 'M_LOG10E': macro redefinition [C:\summer\qtt\cmake-build-debug-visual-studio\src\qged\qged.vcxproj]
C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include\QtCore\qmath.h(163): message : see previous definition of 'M_LOG10E' [C:\summer\qtt\cmake-build-debug-visual-studio\src\qged\qged.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\corecrt_math_defines.h(20,1): warning C4005: 'M_LN2': macro redefinition [C:\summer\qtt\cmake-build-debug-visual-studio\src\qged\qged.vcxproj]
C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include\QtCore\qmath.h(167): message : see previous definition of 'M_LN2' [C:\summer\qtt\cmake-build-debug-visual-studio\src\qged\qged.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\corecrt_math_defines.h(21,1): warning C4005: 'M_LN10': macro redefinition [C:\summer\qtt\cmake-build-debug-visual-studio\src\qged\qged.vcxproj]
C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include\QtCore\qmath.h(171): message : see previous definition of 'M_LN10' [C:\summer\qtt\cmake-build-debug-visual-studio\src\qged\qged.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\corecrt_math_defines.h(22,1): warning C4005: 'M_PI': macro redefinition [C:\summer\qtt\cmake-build-debug-visual-studio\src\qged\qged.vcxproj]
C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include\QtCore\qmath.h(175): message : see previous definition of 'M_PI' [C:\summer\qtt\cmake-build-debug-visual-studio\src\qged\qged.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\corecrt_math_defines.h(23,1): warning C4005: 'M_PI_2': macro redefinition [C:\summer\qtt\cmake-build-debug-visual-studio\src\qged\qged.vcxproj]
C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include\QtCore\qmath.h(179): message : see previous definition of 'M_PI_2' [C:\summer\qtt\cmake-build-debug-visual-studio\src\qged\qged.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\corecrt_math_defines.h(24,1): warning C4005: 'M_PI_4': macro redefinition [C:\summer\qtt\cmake-build-debug-visual-studio\src\qged\qged.vcxproj]
C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include\QtCore\qmath.h(183): message : see previous definition of 'M_PI_4' [C:\summer\qtt\cmake-build-debug-visual-studio\src\qged\qged.vcxproj]
Shall I downgrade Qt and see?
Um. I think the _close thing may be coming from one of our headers redefining close to _close.
Does r76185 help?
r76186 tries something for the qmath. vs corecrt_math_defines.h argument.
r76187 removes vmath.h as well, which would also have pulled in the close redefine.
@Sadeep Darshana Unfortunately I'm not set up to test the Windows build yet, so I'm not 100% that'll do it, but it's probably worth a try.
ok, sure.
starseeker said:
r76187 removes vmath.h as well, which would also have pulled in the close redefine.
It didn't fix the errors, I look into the errors and let you know
Sadeep Darshana said:
yeah, im checking that out. btw MGED is drawing every frame.
MGED has both an immediate mode (which is default) and a display list mode, if OpenGL was compiled
Does anyone know of a good open-source static code analyzer for C/C++?
This is the one I'm most familiar with: https://clang-analyzer.llvm.org/
if you're analyzing and open source project, it may be eligible to for the Coverity Scan project. That's the best commercial tool, but it's free for open source projects.
Is there a way to skip the CMake tests. It takes a long time whenever I do a small change to a cmake file in the main repo
Unfortunately, no
Can I only reload a single project in the repo (qged)? I'm only changing it's cmake file.
It is a really long time since everytime it reloads cmake. All libs are rebuild too.
it's something that could be set up, but isn't how it's currently set up. You could create your own CMakeLists.txt file for qged that just builds it manually as simply as possible.
hard-coded paths if needed
Any reason this might give an error? Do I need to do some kind of initializing (besides BU_LIST_INIT) before using the feature of lists? any magic, jump bombs?
struct bu_list vhead;
BU_LIST_INIT(&vhead);
ip->idb_meth->ft_plot(&vhead, ip, tsp->ts_ttol, tsp->ts_tol, 0)
Error is raised in rt_arb_plot, likely because of some list init error. (BU_ASSERT((void *)(&((_vp)->l)) != (void *)NULL), failed)
Hi @Sadeep Darshana !
hey @Thusal Ranawaka how is everything?
Fine
you have another month till schools start dont you?
Yeah. :grinning:
Hi @Sean
https://opensource.googleblog.com/search/label/statistics+gsoc
"Another fun fact about our 2018 mentors: they range in age from 15-80 years old!
Average mentor age: 34
Median mentor age: 33
Mentors under 18 years old: 26*"
Mentors can be under 18, but students have to be 18+ @Thusal Ranawaka ?
Sadeep Darshana said:
Mentors can be under 18, but students have to be 18+ Thusal Ranawaka ?
:big_smile: :laughing:
Then I can be your mentor. :laughing: :sweat_smile: Very funny!
@Thusal Ranawaka how's the table of primitives coming along? any update? how many did you have left?
Sean said:
Thusal Ranawaka how's the table of primitives coming along? any update? how many did you have left?
Sorry. @Sean I didn't get time to work on Primitives.tcl as I was participating in my school's ICT competition until the 5th of July. I will get back to primitives as soon as I got time. :worried:
Btw, Look at the model of Lotus Tower that I created using BRL-CAD, MGED-7.26.0-Graphics-Window-id_0-Upper-Right-6_23_2020-11_17_07-AM.png MGED-7.26.0-Graphics-Window-id_0-Upper-Right-6_23_2020-11_17_23-AM.png
That's great @Thusal Ranawaka ! Did you do that purely from the picture or did you find specifications or a diagram somewhere?
@Sean I just referred to this, image.png
I don't know the exact dimensions of it. But I design it using MGED Graphics Window.
But I have trouble exporting it to .obj.
Also, you can have a look, Lotus.g
Happy 4th of July, @everyone !!! :tada:
Happy 4th of July
image.png
Skgrill1.s is listed multiple times in the tree. This is a bug isn't it?
image.png Name doesn't have to be unique?
"Note also that each name must be unique in the database, and for BRL-CAD
releases prior to 6.0, names are limited to 16 characters in length."
is it the same object placed in two different places?
like multiple instances
if it is multiple instances of the same object how does drawing all leaves work since position/ orientation (MODELVIEW) calculation doesn't happen.
It's multiple instances of the same object. I don't know for certain how the drawing is handled.
SKgrill.c is a Boolean combination where a primitive shape appears multiple times.
A combination (can be region or group) is a tree with Boolean operations and transformations in the nodes. See Combination.h in the C++ interface.
Hi @Sean @Daniel Rossberg My Competition ended yesterday and I can work on Primitives.tcl again. :)
Hi @Sean
Hey @Jeffrey Liu
How's everything going?
Thusal Ranawaka said:
Hi Sean Daniel Rossberg My Competition ended yesterday and I can work on Primitives.tcl again. :)
Woo hoo! glad to hear it and congratulations.
Sadeep Darshana said:
image.png Name doesn't have to be unique?
"Note also that each name must be unique in the database, and for BRL-CAD
releases prior to 6.0, names are limited to 16 characters in length."
@Sadeep Darshana there is only one Skgrill1.s in the database, so that's fine. Objects can be used in boolean expressions repeatedly, though, even in the same combination. For example, 'objA' is "u objB - objC u objD - objC u objE - objC". Or you could have instances that are in different positions like a 'wheels' object that has 'u wheel.c u wheel.c u wheel.c u wheel.c' for the four wheels, each wheel having a different matrix.
yeah, I got it. The trick is to use the full path as Daniel said. The you get the one with transformations applied.
The full path is still not necessarily unique, as in my wheels object example.
/wheels/wheel.c
/wheels/wheel.c
/wheels/wheel.c
/wheels/wheel.c
(:
anyone here uses vim for regular use?
only when I have to myself, but I know several people do on the daily
my elder cousin does but i cannot contact him right now so i was asking
asking for any particular reason?
thinking about starting to use it for regular use
what do you use now?
alongside Atom
Well I learned from many wiser and older than I that your editing environment of choice shouldn't matter as much as your proficiency with it. That is to day, learn your tool and learn it well, whatever you choose.
I've seen people incredibly proficient with emacs, vim, msvc, atom, ... so long as you take the time to learn it properly, become proficient.
Sean said:
Well I learned from many wiser and older than I that your editing environment of choice shouldn't matter as much as your proficiency with it. That is to day, learn your tool and learn it well, whatever you choose.
That's true but Atom is very slow on this old laptop
I'm a vim user, but I can't claim true proficiency
i was thinking about using it for speed on this slow laptop
It should do well in that respect, but it definitely has a learning curve
i have much time due to this pandemic for learning new things
http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html is one I used early on - may be a bit dated now.
umm is there any way for exporting objects from blender to BRL-CAD? i have a .blend file which i want to see how it looks in BRL-CAD
@Sumagna Das yes, you can go through any one of our importers. you may need to rotate it as I believe they use +Y for up, but the model is probably a polygonal mesh and should import as a BoT primitive
simple tutorial here: https://brlcad.org/wiki/Tutorial/Blender_to_CAD
Screenshot_20200708-151702.png
Can this tutorial help in importing something like this?
I mean the model in here
Sean said:
simple tutorial here: https://brlcad.org/wiki/Tutorial/Blender_to_CAD
You have to export .blend file as a .obj file know?
What?
Sean said:
What?
You can't import directly the .blend file to BRL-CAD or convert blend-g, know?
Speaking of .obj files, @Sean you might remember, that I made the Lotus Tower of our country using BRL-CAD and I tried to convert geometry to object file using g-obj. I set the commands properly and it started to work, but it took a long time to export and after the process, I went to open the .obj file and it didn't open and it shows the file was '0 bytes'. What can be the problem? MGED-7.26.0-Graphics-Window-id_0-Upper-Right-6_23_2020-11_17_07-AM.png MGED-7.26.0-Graphics-Window-id_0-Upper-Right-6_23_2020-11_17_23-AM.png
Sumagna Das said:
anyone here uses vim for regular use?
Maybe not regular (any more), but often. It is my preferred editor at the command line. And, I wrote most of my thesis with it.
I have a server with an annoying slow graphic (but the speed of the web services is okay). I.e., I can understand your issue, and an editor for the command line could be a solution. To use the vi(m), you only need to know a few commands. However, there are a lot people who like Emacs. (I was never one of them.)
Good Morning @Sean! :mountain_sunrise:
Daniel Rossberg said:
Sumagna Das said:
anyone here uses vim for regular use?
Maybe not regular (any more), but often. It is my preferred editor at the command line. And, I wrote most of my thesis with it.
I have a server with an annoying slow graphic (but the speed of the web services is okay). I.e., I can understand your issue, and an editor for the command line could be a solution. To use the vi(m), you only need to know a few commands. However, there are a lot people who like Emacs. (I was never one of them.)
many of the blogs i read about transforming vim by installing packages used neovim
Thusal Ranawaka said:
Speaking of .obj files, ...it took a long time to export and after the process, I went to open the .obj file and it didn't open and it shows the file was '0 bytes'. What can be the problem? ```
There's not enough information to say what went wrong, but the fact that the output file is zero bytes means it failed or stopped. That can happen for any number of reasons, but one of the more common ones is not having proper region definitions and/or having objects that are near tangent. There's no universal solution. It's a really complex problem that has to be examined bit by bit.One thing you can try is to just output the tower one piece at a time, for example just the base, then just the needle without the petals, then just the petals, etc.
Hi @Daniel Rossberg
hey @Sean, is there a problem with BRL-CAD's website right now?
its down
looking
fixed! thanks @Sumagna Das
what happened?
looks like maybe one of the other admins was testing something and inadvertently shut down the web server, still looking
oh ok
Hi @Sean, Our School announced winner of BITS 2020 Intra School ICT Competition. https://acicts.github.io/BITS20/leaderboard.html
actually, no .. looks like apache crashed
:joy:
Sean said:
actually, no .. looks like apache crashed
ohh
Thusal Ranawaka said:
Hi Sean, Our School announced winner of BITS 2020 Intra School ICT Competition. https://acicts.github.io/BITS20/leaderboard.html
nice
That's awesome, congratulations @Thusal Ranawaka !
how long was the competition?
Thanks. @Sean
About a month.
do you know who set up the competition?
Yeah. The IT Society of our school. ;)
I've thought about trying to run something similar for the OpenCAx community, a modeling contest or bug fixing contest or similar.
oh. Really?
can I see your tasks? are there examples of them?
Yeah.
Like the lotus tower.
ah, cool!
I found the task listing
looks sort of like a version of GCI
except that they're really "big" tasks, some of them
And a phone advert I created using Blender, https://youtu.be/01JFl4nfqas
Sean said:
except that they're really "big" tasks, some of them
The ADVANCED Tasks.
All the videos on my YouTube Channel are related to contest.
Were there any prizes?
oh this is cool: https://drive.google.com/file/d/14Zk6zI5PoQvd5OTPYBzw1Jf15AcDDdzl/view
I think they offer us a certificate and a medal at the prize giving.
I thought about doing that when things started
Sean said:
oh this is cool: https://drive.google.com/file/d/14Zk6zI5PoQvd5OTPYBzw1Jf15AcDDdzl/view
I did it.
Lets see it
Blender-6_24_2020-8_31_40-PM.png Blender-6_24_2020-8_31_49-PM.png
It doesn't look like exactly the SARS CoV 2
Where's the model from?
Blender.
I created it.
you modeled it by hand??
What do you mean?
manual modeling or particles?
how did you create it?
is that a deformed sphere where you pulled up on the surface for molecules? or did you import something from another source? or ... ?
Manual.
nice
how? what does that mean? :)
describe how you manually modeled it
First you have to create a sphere.
Then there you can select the sphere and go to modeling tab and you can select one square or a triangle in that sphere and there is a setting that you implement called select random so you can select a number of triangles in the sphere.
Then you can extrude it
Bevel it
Shade Smooth
aha, excellent. that is helpful :)
Apply materials
you did an excellent job, especially if this was one of your first attempts at Blender modeling. better than I would have probably done manually. :)
nice
And last my blog, https://www.blogger.com/profile/16971171491417692083
All of the work done in a month.
Final rendering would have been nice -- did you try rendering it with cycles or luxrender or anything? some global illumination would have made that look awesome.
I didn't do any rendering of it
At that time I was getting used to Blender
i dont know much but you could've used the particle(hair) system for the randomized protein spikes(not an expert advice)
awww, I was hoping to hear you speak your name at the end of https://mybitsexp.blogspot.com/2020/07/intro-to-my-name.html .. haha that's great work.
I might try it later add some duplicates, lights, nice angle of the camera.
if you export that to obj or something, you can render in brl-cad pretty quickly with some simple global illumination
Sean said:
awww, I was hoping to hear you speak your name at the end of https://mybitsexp.blogspot.com/2020/07/intro-to-my-name.html .. haha that's great work.
What the hell? How's that gone over there. :nerd:
Ha Ha Ha
Sean said:
if you export that to obj or something, you can render in brl-cad pretty quickly with some simple global illumination
hey Sean, is it possible to do rendering like this in brlcad?
Sean said:
if you export that to obj or something, you can render in brl-cad pretty quickly with some simple global illumination
Yes.
But I exported it earlier, it's obj file is 44.2MB.
if you export it as obj and import it with obj-g, draw it in mged, turn on Misc->Perspective, position it how you like, then you should be able to run something like this: rt -c"set ambSamples=128" -c"set ambSlow=1" -A1.5 -C123/234/255 -s1024
me or thusal?
oh
that command should be interesting for both of you actually
but @Sumagna Das that donut you have has extra effects like texturing, maybe bump mapping -- brl-cad supports texturing and bump mapping but it requires some advanced rendering knowledge. I've been working on a tutorial, but it's not complete.
oooh that will be nice to try out
after blender i will try out brl cad's tutorial
@Sean I have trouble using obj-g.
Can you tell me the command?
Mine is wrong
it gives errors?
No. I think my command is wrong
you don't run obj-g inside mged
you run it outside on the command line
Yeah
I am on Command Prompt\
can you show a screenshot?
Sorry, I have to go to sleep. My parents are calling me.
See you later.
the command takes each space seperated word as arguments
Ah, I see. You've specified a couple arguments that don't make any sense
what are "SARS" and "cov" supposed to be as arguments?
er, "CoV"
the usage is typically just obj-g file.obj file.g
it might be the filename
aha! yes, I see now
so yeah, that's the problem. you can put the filename in quotes or use tab-completion and it'll escape it properly
I'm back.
Good Morning All!
Hey @Sean I turned obj-g, the first few seconds it went perfect, then suddenly it started to show nmg_class_pt_lu_except() ERROR errors, very fastly, about 10,000s of them.
It started to show so many errors I can't even see the command and the beginning part. :grinning:
@Sean image.png
But it created the geometry, I can't send it to you because of the size 26.2MB.
I can't send more than 25MB files via Zulip.
The Wireframe, image.png
@Sean I tried to ray trace the geometry using commands, rt -c"set ambSamples=128" -c"set ambSlow=1" -A1.5 -C123/234/255 -s1024
, but it got not responding.
I think due to the slow performance of my laptop. :thinking:
@Sean It just stops like this.
you also got the errors, didnt you?
Yes, But it created
same for me
those errors were shown to me but the file was created
Yep
But it didn't render.
right
Thusal Ranawaka said:
It shows this,
hm, yeah, that's all quite interesting. The output from obj-g indicated the object you created has topological errors, but that won't stop it from bringing in the triangles
not entirely surprising given Blender is not a CAD modeler. it doesn't try to keep geometry in a valid state.
Thusal Ranawaka said:
Thusal Ranawaka said:
It shows this,
what is your screen resolution?
@Sean 1920 x 1080
Sean said:
not entirely surprising given Blender is not a CAD modeler. it doesn't try to keep geometry in a valid state.
Hmm
Yeah, I had you render 1024x1024 to a window which probably should have been sent to a file instead.
try adding -o file.png to your rt command and maybe change ambSamples=32 instead of 128 so it'll finish faster.
Hmm
Will try it a second.
Windows does not like it when applications use all of the CPU sometimes. It's usually still rendering just fine, but it might not display until you minimize/unminimize or might even lock up everything until it's done.
On an online class.
Sean said:
Windows does not like it when applications use all of the CPU sometimes. It's usually still rendering just fine, but it might not display until you minimize/unminimize or might even lock up everything until it's done.
Correct.
You can control this if it's too much for your system -- if your computer has 8 cores, you might want to specify -P7 so that it leaves a core for Windows to use.
Sean said:
You can control this if it's too much for your system -- if your computer has 8 cores, you might want to specify -P7 so that it leaves a core for Windows to use.
My PC have only 4 cores.
so maybe try -P3
Hmm
it'll be 25% slower, but it shouldn't overwhelm your computer
Okay.
Does the GPU applies when rendering in BRL-CAD?
the processor being used at 100% cap doesnt make the ubuntu freeze until at the end of the render just when it froze tomorrow
it shouldn't be any problem for linux or mac. @Sumagna Das you saw something freeze??
i am talking about blender BTW, not BRL-CAD
it totally froze tomorrow
BTW, BRL-CAD somewhat freezes my computer while rendering
i have firefox, spotify and atom open always when i start the computer
Sumagna Das said:
it totally froze tomorrow
What? Tomorrow? Did you went to future?
sorry my bad
Sumagna Das said:
i have firefox, spotify and atom open always when i start the computer
Spotify is a big killer.
it should be yesterday
Thusal Ranawaka said:
Does the GPU applies when rendering in BRL-CAD?
That is what @Rishabh Suthar is working on now. Have you seen his work? It's pretty great. We're using the GPU via OpenCL, which he's working on expanding to more object types. Once we get them all, we can work on validation and merging into our main releases.
Great.
that means it currently uses cpu only?
Sumagna Das said:
it totally froze tomorrow
I think you maybe mean "yesterday" ... tomorrow is the next day, not the previous
i was talking to someone in front of me about tomorrow
Thusal Ranawaka said:
Sumagna Das said:
it totally froze tomorrow
What? Tomorrow? Did you went to future?
That's why I asked. ;)
so i accidentally wrote "tomorrow"
heh
it uses only cpu or some other resource with it?
what do you mean?
like ram or something like that?
are you asking about rt?
yea
Started the rendering, image.png
But I cannot find the png.
what should be up? Y axis or something else when importing from blender?
rt is one of the oldest multithreaded renderers (1984) so it is highly optimized to utilize all available cores. it's so efficient that this can stall out other applications and the operating system itself. rt can be compiled to use the simd unit, but usually isn't (the benefit is presently small). it can also be compiled to use the gpu, but not by default -- that's active development.
Screenshot-from-2020-07-14-09-17-31.png
these are the settings
Sean said:
rt is one of the oldest multithreaded renderers (1984) so it is highly optimized to utilize all available cores. it's so efficient that this can stall out other applications and the operating system itself. rt can be compiled to use the simd unit, but usually isn't (the benefit is presently small). it can also be compiled to use the gpu, but not by default -- that's active development.
ooh
Sumagna Das said:
what should be up? Y axis or something else when importing from blender?
BRL-CAD (and nearly all CAD) use +Z for up. Blender (and most film modelers) use +Y for up.
Sean said:
Sumagna Das said:
what should be up? Y axis or something else when importing from blender?
BRL-CAD (and nearly all CAD) use +Z for up. Blender (and most film modelers) use +Y for up.
No. In Blender 'Z' is up.
and the other settings which are shown in the screenshot?
Thusal Ranawaka said:
Sean said:
Sumagna Das said:
what should be up? Y axis or something else when importing from blender?
BRL-CAD (and nearly all CAD) use +Z for up. Blender (and most film modelers) use +Y for up.
No. In Blender 'Z' is up.
it shows like that
see the above screenshot as to which axis is denoted as up
I see
in the transform menu
that's because film focus is on the screen / view with the XY plane being the screen and Z being depth into the scene. with CAD focus is on the model / world with the XY plane being the ground and Z being elevation or height in the world.
hmmm
@Thusal Ranawaka run "pwd" -- that's where it put it
should i check the box saying triangulate all faces?
and curves as nurbs?
Yeah. But there isn't
Thusal Ranawaka said:
No. In Blender 'Z' is up.
Huh, I guess I assumed they had Y up because that's -- I think -- what at least some of their exporters write out. They must rotate or have an option.
Sumagna Das said:
see the above screenshot as to which axis is denoted as up
Did you set Y up or was that default or ??
See the ray traced .png, COVID.png
default
It took more than 10 minutes to ray trace.
@Thusal Ranawaka that's some really slow performance for a model that small... :smile:
Hmm
it's gritty because of the low ambSamples. Increasing it will improve the quality, but will take a lot more time. linearly more.
No, I was on a online class at that time.
ambSamples=128 is nice, ambSamples=255 would be even better, but at the rate it's going that'd probably take about 2 hours I think. it's also a little washed out, so you'd probably want to reduce the -A value a little bit.
can anyone give me the command used to render?
i checked the box that said triangulate faces
it depends on the model, but something like rt -o file.png -A1.4 -c"set ambSamples=200 ambSlow=1" -s1024
helps to turn on perspective and set up a proper camera position, but that's a bit advanced.
and it didnt give any error
what is "it"?
the obj-g converter
then what box are you referring to? obj-g is a command-line application. no boxes to check.
in the blender exporter
ahh, helps to have all the information :)
so what's the problem, did you open the model in mged? did you draw the object?
triangulate faces option removed all the errors which thusal and i had
yea
it has all the objects i need
Sean said:
ambSamples=128 is nice, ambSamples=255 would be even better, but at the rate it's going that'd probably take about 2 hours I think. it's also a little washed out, so you'd probably want to reduce the -A value a little bit.
Yes. If I have a super computer.
and all the objects i made
Thusal Ranawaka said:
Yes. If I have a super computer.
I've created some images using hundreds of cores across multiple days. just to get one image.
no errors
I saw Trump wearing a mask for the first time. What a person. :rolling_on_the_floor_laughing:
Sean said:
Thusal Ranawaka said:
Yes. If I have a super computer. ```` I've created some images using hundreds of cores across multiple days. just to get one image. ````` Will try it.
the raytrace was aborted
When I set ambSamples=128, it freezes my laptop.
Thusal Ranawaka said:
When I set ambSamples=128, it freezes my laptop.
Did you set -P3 again?
No
Sumagna Das said:
the raytrace was aborted
Need more info/output. There's nothing to help or diagnose.
using the rt command u provided
(deleted)
this is what it says
@Sumagna Das try putting a space after -c
windows and linux annoyingly parse differently (feel free to fix this!)
doing its job, i think, now
when you do ambient occlusion rendering, you should usually start with a small ambSamples value to make sure the -A value is okay. if it's too dark, you increase -A; if it's too light, you decrease -A. THEN you increase ambSamples to a higher number like 200 to smooth out the noise.
Trying ambSapmles=128
Will take a long time
if it's linear, it should be about 40 minutes
10 min for 32, 20 for 64, 40 for 128. roughly.
Look at my task manager.
how much time will it take for 128 on 4 processors?
that's with or without -P3 thusal?
Sean said:
it depends on the model, but something like rt -o file.png -A1.4 -c"set ambSamples=200 ambSlow=1" -s1024
helps to turn on perspective and set up a proper camera position, but that's a bit advanced.
how much time will it take for this command?
Sumagna Das said:
how much time will it take for 128 on 4 processors?
rendering is specific to model, resolution, and all the options specified... so whatever it is for thusal won't apply to your donut, even with the same options, because the model is different.
no idea, that's why I said you should start small. You can baseline performance by just running "rt" without any options. that will tell you how many rays/sec.
Sean said:
that's with or without -P3 thusal?
@Sean With P3
this is the render from blender
i am trying to render these models in brl cad
Screenshot-from-2020-07-14-09-51-49.png
these are the models in brl cad
doing the glass cup and saucer are easy -- you just have to make them glass. the donut is not going to look like that without a lot of material/texture setup, which doesn't come in obj import.
mtl?
code is in src/libgcv/plugins/obj if you want to implement mtl import support
it exported an mtl file along with it
ooh
Look at my task manager now, image.png
yours is 91?
Yes. 92%
Yours?
highest i think
only 52
what was your entire rt command?
me?
yea
rt -o file.png -c"set ambSamples=128" -c"set ambSlow=1" -A1.5 -C123/234/255 -s1024 -P3
actually, I meant both of you
@Thusal Ranawaka so you didn't lower the ambient?
the -A value
i used the one u provided
Sean said:
the -A value
Nah.
Sean said:
it depends on the model, but something like rt -o file.png -A1.4 -c"set ambSamples=200 ambSlow=1" -s1024
helps to turn on perspective and set up a proper camera position, but that's a bit advanced.
this one
so... then you didn't turn on perspective and set up the camera?
it makes a big difference :)
i did it
why is my render giving overlaps?
i set up the camera
because the model has errors, rt reports them
@Sumagna Das that's probably why you're at 50%... all the error printing
ohh
you can suppress it with the -R option
the other 40 % is taken by zoom
are the messages streaming by fast?
and other apps
Sumagna Das said:
the other 40 % is taken by zoom
ehhh... no way
check 'top' instead of that monitor app
zoom hogs up resources very much
hogging resources != sustained cpu utilization
Sean said:
so... then you didn't turn on perspective and set up the camera?
i just wanted to see if it renders or not
that's not what you asked it to do
you asked for a very expensive ambient occlusion rendering
that's not checking to see if it renders.
:speechless:
are messages streaming fast in mged?
ohh shift, here we go again
somewhat
if it's not too fast, you can send a kill -HUP to the rt process and it will report its progress
er, not HUP, USR1
killall -USR1 rt
should print something like "Pixel (123,32)"
Does BRL-CAD still used by the US Army Research Labrotary?
yes
Hmm
my net was gone for a minute
@Sumagna Das did you see my questions?
Sean said:
killall -USR1 rt
in brl cad or terminal?
terminal
signals are a posix/unix thing...
the output should be in the mged window though
Is Maya a CAD modeller?
frame 0, xy=621, 441 on cpu 3, samp=0
@Thusal Ranawaka most definitely NOT.. it's the quintessential example of a content modeler
it went up to 95% cpu usage
oh
Changed the profile pic. ;)
maya, softimage, blender, 3dsmax, ... all content modelers
examples of CAD would be Creo, NX, SpaceClaim, CATIA, Solidworks, AutoCAD
it was noticeable as it went from white to black
none of them are free
Sean said:
maya, softimage, blender, 3dsmax, ... all content modelers
examples of CAD would be Creo, NX, SpaceClaim, CATIA, Solidworks, AutoCAD
my sister uses autocad and solidworks and told me to learn them so that i can help her in her assignments
What is your sister's field?
architecture or more specifically B. Arch
Really? My mom is an architect.
@Sumagna Das if it's not near 100% cpu, then it's not right. but don't believe system monitor. it's a terrible estimator that looks at timeslices. look at something like 'top' instead...
nice
cpu is 100% but rt is using 95%
how many cores do you have sumagna?
4
then check top...
what does it show?
rt uses 380% of cpu
now that's better, more informative. it should be nearly four hundred% on a 4-core cpu. That percentage missing is likely from not using -R. every time it has to print a message, the kernel is interrupted.
ohh
Sean said:
now that's better, more informative. it should be nearly four hundred% on a 4-core cpu. That percentage missing is likely from not using -R. every time it has to print a message, the kernel is interrupted.
Can I check that too?
I am on Windows.
not on windows
windows processes are handled completely differently from linux
:frown:
the kernel is completely different
btw how to check if its nearly complete or not?
Why there are more rendering issues in Windows than Mac and Linux?
windows is TERRIBLE at efficient multithreading. that's why it's choking if we try to use all your cores.
it's always been terrible.
The world's most using OS.
amazing isn't it.
thats why i switched from windows to ubuntu
not entirely because i play all the games on windows
technically, I think Android now owns the title of most-used OS if you count all device types and versions
I am still working on the dual boot.
Sean said:
technically, I think Android now owns the title of most-used OS if you count all device types and versions
yeah. Phones?
I tried dual boot on my little bro's PC, ended up washing his entire Local Disk D.
sorry gotta go
phones, tablets yes.
Luckily, There was no harm to Windows
@Sumagna Das if you had more time, I would show you how to cancel the build, turn on an optimization, and re-run in a way so you know how long it'll take
I think it's a very late night for you, Sean.
not yet
It's now 1.00 AM????
@Thusal Ranawaka since you have a polygonal model, there is an option you can enable that should make it render faster, if you want to test it.
yeah?
Yes. Sure
is your render done?
Nah
how long ago was it started?
About 20-30 minutes ago. I think.
so probably close to done. we can test while it's still rendering.
Okay.
try just this: rt -R -P1 -s128
and tell me the RTFM line at the end
On MGED?
yes
Frame 0: 16384 rays in 1.18 sec = 13920.14 rays/sec (RTFM)
yikes... that's slow
you can close that window
Sean said:
yikes... that's slow
:worried:
oh right, I forgot it's just 1 core
Sean said:
you can close that window
It's automatically closing.
it's not automatic. you clicked in it.
Yes
I click it. Then it closed.
So, the conclusion?
you clicked IN it ... that behavior is set to close on right click in the window. if you click the title bar, you can move the window.
and it won't close.
if you right click, it'll tell you the pixel value
I clicked on the title bar.
So, the test shows my PC is slow?
so, conclusion is 14k rays per second per core
you're going to have to show me that window closing in a video, because that's not expected behavior if you didn't accidentally click somewhere else.
anyways, back to the performance point
14k times 4 is 56k rays/sec ... and yes, that's rather incredibly slow for a model that simple.
let's see if we can speed it up.
next run:
set env(LIBRT_BOT_MINTIE) 1
and then re-run: rt -R -P1 -s128
Sean said:
you're going to have to show me that window closing in a video, because that's not expected behavior if you didn't accidentally click somewhere else.
I tried. You are correct.
oh, The render is complete.
nice!
I did the second test.
Frame 0: 16384 rays in 0.12 sec = 137680.67 rays/sec (RTFM)
well that's a lot better
you see the difference?
Hmm
it went up from 14 k rays/sec to 138 k rays/sec
Soooo
It reduced.
Means?
so we can do the math. a 1024x1024 image is 1048576 pixels. you requested 128 ambient occlusion rays with is a multiplier. that means it's approximately going to shoot 134M rays.
at 14k rays/sec, times 3 cores, that's approx 53min.
at 138k rays/sec, times 3 cores, that same image should take about 5min
er scratch that there, fixed the numbers
WoW
can test that theory, now that it's done .. the env setting that made it faster will stay on until you quit mged or set it to 0
I suggest rotating it to a more interesting view, and zooming it in a bit
is there a rotation that's not got the proteins touching so much?
Umm.......
I can't rotate it. My system is not responding.
perspective may be confusing you. the controls are quite different when it's turned on. try turning perspective off, then rotate (assuming it responds)
To rotate it you have to select the object know?
Using primitive selection?
no....
you just rotate the view with the mouse. primitive selection will rotate the object. You don't want to do that!
usually ctrl+rightmousedrag
I figured it out.
shift is translate, ctrl is rotate, shift+ctrl is zoom
right/left clicking is zoom in/out
Is this good or have to scale it more?
do a quick "rt"
scale looks okay, that's hard to set until you turn perspective back on
get the rotation first
yeah, that's no good
did you try shaded mode?
do you know how?
No
turn on Misc->Lighting
I turn it on
But now I can't do the rt.
okay, then run Z to clear the view
Okay
I did
then re-draw with "draw -m2 yourobj"
is it shaded?
back
WooooooooooooooooooooooooWW, image.png
you were saying something about faster rendering to me
@Thusal Ranawaka great, now you can spin it to a view that looks more interesting and even, less touching, and no big empty gaps
@Sumagna Das yeah, so you have something up?
How about this, image.png
definitely better
what do you think?
Sean said:
turn on Misc->Lighting
WOW, I didn't know those options. Back in GCi days, these would be really helpful.
Sean said:
what do you think?
Cool.
@Thusal Ranawaka you could work on making lighting-on be the default in the code....
Oh.
:smile:
it's only going to do that for polygonal and nurbs models
it still won't for the basic shapes like a sphere and torus unless you use different commands
Hmm
rt view, image.png
zoom 1.8
Now, image.png
my rendering is still freaking going on
what' it look like with perspective on?
so any way i can cancel it
?
@Sumagna Das run killall again to see where it's at?
frame 0, xy=525, 472 on cpu 2, samp=0
@Sean It turned into a weird shape, image.png
what was the first time?
And rt isn't working again.
Sumagna Das said:
frame 0, xy=621, 441 on cpu 3, samp=0
first time
Thusal Ranawaka said:
Sean It turned into a weird shape, image.png
it didnt' change shape. you changed to a different type of camera.
what rt did you run?
Just rt
so what should i do to cancel?
@Sumagna Das hah, okay, so it's gone from line 441 to line 472 (of 1024)
:speechless:
thats still a long way to go
you can run "rtabort" to cancel
:relieved:
Started rendering
so now lets see how long it was going to take, run this @Sumagna Das : rt -R -P1 -s128
and let me know what the RTFM line says
now what?
Using command, rt -o file1.png -c"set ambSamples=128" -c"set ambSlow=1" -A1.5 -C123/234/255 -s1024 -P3
@Thusal Ranawaka wait... you should preview it first...
and lower to -A1.3
Ok
make sure the png file isn't the same
That's why I enter '1' after 'file'
have to use a new name each time (or delete -o file beforehand
I aborted it
So, Should I set -A1.5 to -A1.3 and start the rendering?
@Thusal Ranawaka try with ambSamples=2 first without -o file1.png, and maybe -s256 just to get a quick idea
and for the background, maybe try -C150/200/255 instead
Sean said:
Thusal Ranawaka try with ambSamples=2 first without -o file1.png, and maybe -s256 just to get a quick idea
You mean set -c ambSamples=128 to ambSamples=2 and -s 1024 to -s 256?
yeah
you just want to get a quick idea what the final render will look like, before you do the expensive ones
would be interesting to see -C5/37/23 to compare with that blue
what do you think about that?
it's rather close tot he camera, so there is some lens distortion
yeah, I think the blue is better
But what happened to virus
green could work, but you'd probably want to set a color on the virus too
The weird shape
that's the camera lens, it's like a fisheye
Oh. :grinning:
try: set perspective 60
you may need to zoom out some
did it
how's it look?
A little better.
you like the green more?
What do you think about teal, image.png
it's not easy to explain how to move the camera, so the best bet will be to zoom it out more (so it only fills half the window or less, and then render 2x
you pick whatever color you like best
zoom it out some (smaller)
What do you think?
Looks pretty nice to me
so now you can crank up the settings, try 250 ambSamples
include -R
rt -o file1.png -c.... -c.... -C... -R -A1.3 -s1500 -P3
Okay
On it.
Started Rendering.
@Sean The ray-traced image, COVID2.png
hah, now that was a bit faster wasn't it? :smile:
can really see the tessellation though
try this:
what's the name of your object?
Yes
what does "who" report?
default.1.4.b.c.s
Sean said:
what does "who" report?
What?
okay, so this:
bot_smooth covid.bot default.1.4.b.c.s
draw covid.bot
erase default.1.4.b.c.s
rt ....same rt as before ....
Sorry, the system got stucked and mged closed
I will reopen it
oof
we should have saved the view
Hmm
next time, once you get the view orientation, zoom, etc how you like it, you can run the "saveview" command to save it to a file. you can later reload that view with the "loadview" command.
hey
@Sean As soon as I type, bot_smooth covid.bot default.1.4.b.c.s
on MGED. The Command Window freeze image.png
it might take a little while
you remember to set LIBRT_BOT_MINTIE again?
No
set env(LIBRT_BOT_MINTIE) 1
whenever it responds
alright, catch up with you later!
Are you going to sleep?
Good Night! :goodnight:
maybe, I have some other stuff to take care of first
Thanks for help.
Hey @Sean
(deleted)
(deleted)
hey @Thusal Ranawaka
Hi, @Sean Today, I checked my laptop's system information and there are only 2 cores in my laptop, but I thought it was 4. :sad:
@Thusal Ranawaka they're probably hyperthreaded cores, which means the operating system pretends those 2 are 4
oh. I see.
right, that's what you have -- that's the difference between cores and "logical processors"
Dunno.
so for software purposes, you can just think of it as 4 cores, but it also means that something using 2 cores is not going to be half as fast as an app using 4 cores
Hmm.
hyperthreading lets the cpu "sometimes" schedule 4 things in parallel. In practice, it all depends heavily on the memory access patterns and CPU instructions.
oh
Another question, Will adding another RAM for my laptop make my PC run more fast and efficiently?
I already got 4GB
And with less number of not responding
typically, applications that are CPU intensive (like ray tracing), you'll see some benefit (maybe 20%-50%) from hyperthreading for applications that use traditional code, pointers, etc. If an application is highly tuned to using the SIMD unit or is otherwise already keeping that core super busy, that hyperthreading benefit drops to near 0%.
Like Adobe?
Thusal Ranawaka said:
Another question, Will adding another RAM for my laptop make my PC run more fast and efficiently?
if you see your task manager, it's saying you were immediately up into the 80% utilization range. So yeah, adding more memory will definitely help. Any time you're over 75%, the operating system will start making accommodations or you can end up hitting swap.
Adobe the company has nothing to do with hyperthreading ;)
Yes
It's already at 80% even when I was starting the computer.
that's what I said :)
Hmm.
I will add a new RAM.
But it's hard to find the right model. ;)
Just finished an online lesson.
Bye, got to sleep.
Hi @Sean , Rendering an animation in Blender, never seen my GPU has risen up like this, image.png
(deleted)
Hey @Sean, Check out my website, https://thusal06.github.io/
:grinning:
Hi @Sean , Did you see my website?
@Thusal Ranawaka Yes, I did -- nicely done! Is this your first website?
Are you ready to become BRL-CAD's website manager? :
:smiling_devil:
Sean said:
Thusal Ranawaka Yes, I did -- nicely done! Is this your first website?
@Sean Yes. I referred to a tutorial actually.
Sean said:
Are you ready to become BRL-CAD's website manager? :
:open_mouth:
This is my second website.
I did my first using only HTML and Jekyll.
But the second one with CSS and JS.
Hi @Sean , When ever you open BRL-CAD, command prompt opens up and it's kind of disturbing.
Is there are any code that you can close the command prompt after BRLCAD opens up/
Just like Blender.
In blender, command prompt opens up and dissapears in seconds.
Thusal Ranawaka said:
In blender, command prompt opens up and dissapears in seconds.
command prompt opens up in windows when opening blender?
Thusal Ranawaka said:
Hi Sean , When ever you open BRL-CAD, command prompt opens up and it's kind of disturbing.
there was a way you could stop command prompts from opening in gui apps
i just dont remember where i saw that
Yes. When I open blender it shows up for about 5 seconds and it dissapears.
Sumagna Das said:
Thusal Ranawaka said:
Hi Sean , When ever you open BRL-CAD, command prompt opens up and it's kind of disturbing.
there was a way you could stop command prompts from opening in gui apps
and it is possible through code
Hi @Sean , How's COVID going around there?
I heard Trump is trying to reopen schools there.
:hushed:
hmmm
now thats not good
Yeah. He said he will cut off the school funds for the schools that are not opening.
Very Cruel.
I was thinking about resuming to learn C++. What do you think?
I was thinking about resuming to learn C++. What do you think?
@Sumagna Das learning c++ sounds like a great idea
Hey @Sean What's up
hi @Himanshu Sekhar Nayak
how're you doing?
hello @Himanshu Sekhar Nayak
ahhh... online classes going on and I hating that
hey @Sumagna Das
Himanshu Sekhar Nayak said:
ahhh... online classes going on and I hating that
:grinning_face_with_smiling_eyes:
fun!
ahh... no fun btw @Sean Is there any android application of BRL CAD?
we are supposed to turn our cameras on in the class with uniforms but most of us(including me) dont wanna turn on our camera
hahahhaha I just mute mic and turn the camera off.
@Sean what about BRLCAD stickers :thinking:
our mics are muted by the teacher or else someone will start blowing air into the mic
there is no android of other tablet app of brl-cad yet
would be a fun project, but nobody has even tried
I am currently learning building android applications
would love to give a start for BRLCAD app
official language for android applications is Kotlin if i remember correctly
yeah
btw have you saw that now you can add README.md for your own profile in github
seriously?
yeah
Himanshu Sekhar Nayak said:
Sean what about BRLCAD stickers :thinking:
Stickers were put on hold with quarantining everywhere. I might start them back up soon, but hadn't considered it yet.
when should i give you the address to you if i can get one?
any time, just e-mail it and it gets added to the outgoing queue
where to email?i forgot the email address
btw you can have a look, I just made it yesterday. Just a simple page
Hi @Sean @Himanshu Sekhar Nayak and @Sumagna Das ;)
hey
hi
Sumagna Das said:
we are supposed to turn our cameras on in the class with uniforms but most of us(including me) dont wanna turn on our camera
Really?
yea
Your school is crazy, then.
Himanshu Sekhar Nayak said:
btw you can have a look, I just made it yesterday. Just a simple page
where did you get the option?
just create a repo of your github username
and you are ready to go
ok
Himanshu Sekhar Nayak said:
What is this?
I can't open your repos
My Wi-Fi was over. :(
Wow. That repo looks great. @Himanshu Sekhar Nayak
online classes will start from 11 am :oh_no:
3hrs online class :unamused:
oh
mine is 40 mins period with 20 mins break
wow
nice
@Himanshu Sekhar Nayak What happens when you create a repo with your username?
My online classes don't have a specific time. Random times.
Here you can have a read @Thusal Ranawaka https://www.aboutmonica.com/blog/how-to-create-a-github-profile-readme
I will be in a second, have to take my breakfast. :yum:
gtg ttyl
Hey @Sean , I updated my website. Check it out https://thusal06.github.io/
It looks good. Works section is great.
yeah, @Thusal Ranawaka the site looks great. no showcase of the primitives showcase you were working on? how's it coming?
btw, your link to brl-cad on wikipedia is wrong
Sean said:
yeah, Thusal Ranawaka the site looks great. no showcase of the primitives showcase you were working on? how's it coming?
@Sean I was working on it, but the last few are very hard and couldn't figure it out.
Examples will help. :happy:
which ones? There are some examples on the wiki for most of the complex primitives.
@Sean Like the bnuf, sketch, bot if I remember correctly.
ars, dsp, half, part, bot, nmg, binunif, sketch. @Sean
I did ars
Sean said:
btw, your link to brl-cad on wikipedia is wrong
I will correct it.
Corrected it.
@Thusal Ranawaka DSP tutorial at https://brlcad.org/wiki/DSP .. you can create your own pretty easily.
half can be made with the in command easily
another example for sketch: https://brlcad.org/wiki/Sketch
Thanks. @Sean
binunif you can combine with any of the objects that take data like dsp
https://brlcad.org/wiki/NMG example ... could use that to make a bot too using facetize command
bot could also be from an import,
e.g., classic teapot mesh
Oh
@Sean I tried to dual boot Ubuntu alongside with Windows, but I cannot do it. My BIOS changed to UEFI from Legacy, somehow.
I can't figure it out how to change it.
@Sean It was Legacy when I check my System Information last time about a month ago. But it changed to UEFI somehow.
(deleted)
I've not done dual-booting in a long time -- I have been using VirtualBox instead as it's easier to set up new systems and throw away old ones with it.
Thusal Ranawaka said:
Sean It was Legacy when I check my System Information last time about a month ago. But it changed to UEFI somehow.
in windows it changed from bios to uefi?
hey guys, i made this website. what do you think? -> https://sumagnadas.herokuapp.com
Sumagna Das said:
Thusal Ranawaka said:
Sean It was Legacy when I check my System Information last time about a month ago. But it changed to UEFI somehow.
in windows it changed from bios to uefi?
@Sumagna Das Yes.
@Sean Virtual Box is too much for my computer.
I tried it during GCI, ended up restarting my laptop.
@Sean Did you see, Run Linux in Windows.
Is that a new feature?
https://docs.microsoft.com/en-us/windows/wsl/install-win10
Yes I have seen -- they've been working on that a couple years now.
So, it works.
@Sean Might try it.
It actually works incredibly well. MS has been embracing Linux and open source fairly hard the past few years.
You actually can run Linux executables (i.e., without recompiling) directly on WSL. Of course, there's plenty of things an app can do and assumptions it might make that won't work on Windows (like assuming /proc exists), but even lots of graphical apps work without change.
Is BRL-CAD mostly C? or does it also contain a big part of C++?(i know there is C++ API of BRL-CAD)
not counting the c++ api, the codebase in the main repo is about half C and half c++
oh ok
why?
the APIs are mostly C
i thought it was mostly C and C++ is present in some parts
most new features end up in c++ or leveraging some dependency written in c++
that was the case a few years ago, but c++'s presence has been spreading. there's also a lot of predominantly C code but that was converted to C++ just so it can use STL containers or C++11 features or similar
So most of the C api is getting converted to C++
No
The APIs are mostly C and have remained C
i meant codebbase
note difference between interface and implementation
sorry for the confusion but i meant codebase
I mean it really depends what and how you count
ooh
the repo is being migrated to Github, right?
yeah, you can see the latest test upload at https://github.com/starseeker/brlcad_nonotes
note the languages on the bottom right
how much of it has been migrated?
yea i saw it just now
what do you mean how much??
meaning how much of the commits/revisions have been migrated?
all commits
then what is left of the migration? or is it complete?
plus a bunch of fake ones to support features of git
what's left is testing and validation, and ensuring a majority of authors are properly mapped
the CI part?
github only displays Contributors if they have a valid email and created a GitHub account, for exampl
yea
no, not the CI part -- we're only talking about the repository
ohh
on that page, you'll see it says we have 55 contributors
60?
we've had 86 unique users commit to svn, 99 unique account names, so we're trying to make sure at least 95% of commits are represented.
oh
that's the fourth test upload, we're up to 92% there, up from 89% in the third upload
the fifth upload should get us to 96%
cant it get to 100%
?
not realistically -- that would require us creating 22 or so github accounts
hmm
that's to import a repository
isnt this usable for the repo migration or does the same github account problem crops up
it's being used for the repo migration
ohh
the information is in the repository, but GitHub pretends they don't exist unless there is a GitHub account associated with the git committer e-mail
thats why there are multiple repos?
there are multiple repos because a repo is imported, and then we see what it looks like
we find issues or get more github accounts created, and then import again to see how it looks like with the updates
each is a testing iteration
and if the commits are correctly reprensented/mapped
that's additional validation that we're doing, yes
that was a major delay for this message
it's not a 1-1
hmm
so its going to take some more weeks or months?
I hope not months or weeks! maybe another week. it depends on the validation though. We just got through a major milestone with the contributors today.
ohh nice and congrats then
I have three issues to investigate, and if they all make sense, then we should be good to do one more upload and we'll be done with the repo itself and can start working on the other project data (trackers->issues, mailing lists, etc
we have 64 of 86 commiters, which is close to 75% which was my goal
and more importantly, those 64 committers represent 96% of commits, and my goal was to get over 95% representation
there are three issues I need to investigate, and then I can do more high-level sanity testing, then we can consider it done once all tests pass
ohh
i think those three issues should just take a day or two, same with the other testing. if you want to help, you can check out that nonotes repo and compare it with the svn repo
see if you can find any commits or other data missing
will try if i have time because i have two big exams coming
how to compare svn and git?
sorry if i am asking a silly question
are you manually comparing?
I'm doing a mixture of automated and manual. As with any testing, it's good to do a bit of both.
there's unlimited ways one can compare
diff?
diff is a tool for comparing files, so that's certainly one way
so that is one way i can do
at a minimum, it's possible to pull every svn revision and compare it with the corresponding one in the git conversion
using diff in a script, for example
hmmm
thats a good way
another could be to iterate over all or random svn revision log messages, and make sure they can all be found in the git history
the goal is to simply look for anything that can't be explained, might be wrong
ok
i can write the script, run it and let it run in the background while i study
that would be awesome
that nonotes repo has the svn revision number in the commit log message, so it's easy to find (but it also means you have to trim those lines if you compare log messages
does the revision number have r i front of it?
sorry my B
and N
keys do not work sometimes
you'll need to see the format
just look at any commit
ok
and look at the log message
let me clone them
@Sean Working on DSP.
Got something like this, image.png
It says something called, Duplicate...
Is that an error?
what created that png file?
A .pix file.
Sean said:
what created that png file?
What do you mean?
it doesn't look like an error -- it looks like it's warning you that the PNG file has a duplicate IDAT section, which could be an encoding mistake by whatever made that png
Hmm
Solutions?
I mean where did that PNG come from?
what made that file?
Actually, it was a .jpg before, but I exported it as a .png. :yum:
Using Paint 3D.
how did you export it to png?
You can do it in Paint 3D, Save as > PNG
so sounds like Paint3D might have simply written out a png file with some bad data
Hmm
it's only a problem if the image data isn't there
Will try another one
i.e., it's a warning you can probably ignore
run pix-fb -wWIDTH -nHEIGHT thusal.pix to see the image
It worked, image.png
:grinning_face_with_smiling_eyes:
Silly picture for a choose. :nerd:
Not silly at all @Thusal Ranawaka
Using personal pictures is a great way to start. Turn that into an EBM would be really cool.
@Sean Could you help me with this, btw. image.png
It shows some errors.
er, not sure -- maybe don't put an uppercase letter?
that's very odd for a username
What the hell,
Still the same, I used a lowercase letter.
It says adduser: Only one or two names allowed.
so yeah, could be anything... the initial termination message would be concerning to me. that usually means something went wrong before you even started.
maybe try searching that error message along with WSL
@Sean , It worked, I think, image.png
looks like it .. download brl-cad sources and try to compile ;)
Anyone here who has seen neowise comet?
(deleted)
hey
Thusal Ranawaka said:
Sean Today's update of Primitives.tcl, did DSP, EBM, part and extrude.
nice.
Thusal Ranawaka said:
i once made an ebm from one of my graphs
oh, really.
changing the background color to black and foreground to white
oh
then plotted the shape like i want
Yes.
but the pentagon didnt really work out
oh
@Sean Just asking, Do you know Brian Brushwood? Since you are in US. :wink:
how to go to shaded view in brl cad?
e -m1 obj.s
thanks
good bye
good night
Hey @Erik What's up? :happy:
@Sean @starseeker Is there a major difference between mged 7.26.0 and 7.30.8???
Define major difference
Like in the GUI, bug fixes so on...
fair number of bug fixes, no major GUI changes
oh
Then I will download that.
7.30.8
I had 7.26.0
anyone tried this out? -> https://github.com/cli/cli
it integrates Github and git together and its official
Thusal Ranawaka said:
Sean starseeker Is there a major difference between mged 7.26.0 and 7.30.8???
@Thusal Ranawaka In general, if the second number changes, it means there are a lot of significant changes and bug fixes. if the third number changes, then it's typically just a handful of bug fixes.
:hushed:
Sumagna Das said:
anyone tried this out? -> https://github.com/cli/cli
I haven't yet, but I did know about it. It was almost certainly going to become part of our release steps in HACKING
it may let us fully automate deployment
Sean said:
Thusal Ranawaka said:
Sean starseeker Is there a major difference between mged 7.26.0 and 7.30.8???
Thusal Ranawaka In general, if the second number changes, it means there are a lot of significant changes and bug fixes. if the third number changes, then it's typically just a handful of bug fixes.
Yeah, I saw it. Like when you open a database the screen turns in to blue color. ;)
Hi @Sean Doing my homework, school starts at the 10th of August. :unamused:
hey
@Sean does the background have to be black for png-bw or can it be transparent?
@Sumagna Das I believe transparent will convert to 0,0,0 values (or if there's some other encoded background color, I think libpng will use it)
oh ok
er, rather, value 0 (bw files are single-channel, not 3-channel)
that might be
@Sean Can i make a vol with the following layers?
Screenshot-from-2020-08-01-00-50-31.png
first layer
Screenshot-from-2020-08-01-00-52-02.png
second layer
Screenshot-from-2020-08-01-00-52-10.png
third layer
Screenshot-from-2020-08-01-00-52-13.png
all of the layers altogether
Screenshot-from-2020-08-01-00-50-31.png
first layer
Screenshot-from-2020-08-01-00-52-02.png
second layer
Screenshot-from-2020-08-01-00-52-10.png
third layer
Screenshot-from-2020-08-01-00-52-13.png
all of the layers altogether
yeah, certainly could. it'll be like the bird example with different layers at different depths
sorry for spamming but the layers and photo display got misaligned
note there is no color support -- you're defining the volume without any visual attributes
what?
oh ok
when you create a vol, you say "consider values between A and B as solid" and anything else becomes not solid
hmm
it's binary on/off
yea.. i saw the conversation in the primitives.tcl channel/topic
color and opacity would be nice, but right now it's all about solidity
that said, you can have a bw file with those layers, and you could create one vol with the interior white values, and another vol with the exterior black values using the same input file
then you could apply color and opacity to each vol independently
that will be a thing which i will do if this works properly
you'll what to specify a background color in the png file other than white or black for that to work (e.g., red)
it can still be transparent, but it will default to one or the other. usually there's an option when the png file is created, to pick the default color
so the vol was not created
it gave some errors
rt_vol_import4(skel.bw): Unable to read whole VOL, y=0, z=1
WARNING: unexpected VOL bytes (read 0, expected 480000) in skel.bw
rt_vol_import4(skel.bw): Unable to read whole VOL, y=0, z=1
WARNING: unexpected VOL bytes (read 0, expected 480000) in skel.bw
rt_vol_import4(skel.bw): Unable to read whole VOL, y=0, z=1
WARNING: unexpected VOL bytes (read 0, expected 480000) in skel.bw
now it somewhat worked but its more like a plane then a 3d grid
:sad:
Screenshot-from-2020-08-01-01-30-07.png
does png-bw handle multilayer png?
I don't think so.
Sumagna Das said:
now it somewhat worked but its more like a plane then a 3d grid
you only have like 4 layers. you could make the layers taller
taller?
non-uniform cell dimensions
3 layers in total
all of them have 400x400 dimensions, thats all i knwo
instead of 1 1 1, try something with a different z value like 1 1 3 ... that will make it 9 times thicker (3 x 3)
can just kill the object and up-arrow to the 'in' command, change the last number
now it looks more like and ebm
you'd need more layers to smooth it out. there's just not enough data in 3 layers
hmmm
what's the render look like?
i dont try rendering because it freezes my computer every time
any extra argument or option which makes it occupy lesser ram?
try "rt -P1"
with 1 processor?
yes
thats why it freezes?
are you on Windows?
no
linux
which one??
specifically ubuntu
that's shocking then... is it really slow or do you have little memory or something?
4 gb ram
chromebook?
nope
yeah, there's absolutely no reason it should hang up
is it an old linux?
this is an old laptop which my father bought for work
20.04
ubuntu 20.04
Screenshot-from-2020-08-01-01-47-12.png
this is my current ram usage
so?
i will do this tomorrow
i have to go to sleep
maybe you can take a video with your phone so I can see what you mean, what the problem is if you just run 'rt'
okay, and thanks for all your work on the validation -- that's helping a lot
i might do that but the video might be very shaky
i restarted the script
maybe tomorrow you can talk more about exactly what it's doing
yea
and see if we can tie it into https://brlcad.org/wiki/Github_Migration
i have no online classes tomorrow so will sleep a bit more
me too!
maybe..
anyways if u want, here is the script -> infochecker.py
i have commented the parts for my own understanding as much as i can
thanks! would be even better to have your description of what it's doing in simpler terms, faster
if some description i provided is confusing, just ask it
i will see that tomorrow and tell you the answer
Good Morning. guys!!! 1st of August. New Month. and my Wi-Fi package was renewed. :happy:
Still July here.
Heh
We
We're ahead.
You know, I was thinking. That work you went through to make the cup was pretty impressive.
It would be awesome to share it with others. :)
:heart_eyes:
VOL cup would be a fantastic tutorial in addition to being included in your primitives.tcl script.
As comments?
Do you think you could write up instructions in a google doc with the explanations and pictures you worked out? We could include it in the distribution as a guide, and it'd get published to the website.
Sean said:
Do you think you could write up instructions in a google doc with the explanations and pictures you worked out? We could include it in the distribution as a guide, and it'd get published to the website.
Okay. :happy:
(deleted)
So, the tutorial should add the steps that we did in Piskel App?
I will write in an MS Word Document and import it in Google Docs.
@Sean Just finished my school projects, started working on the tutorial. :sunglasses:
Thusal Ranawaka said:
So, the tutorial should add the steps that we did in Piskel App?
Sure all the steps from start to finish including any explanation or discussion so people understand would be great.
Thusal Ranawaka said:
I will write in an MS Word Document and import it in Google Docs.
Er, why not just write it in Google Docs??
oh, I forgot that they save the file data automatically. :face_palm:
@Sean Need to come up with a suitable topic, Setting up a cup using VOL data?
Or even more interesting topic names?
hey @Sean is there a way to put multiple png images to bw?
You mean put several images into a single bw?
yea
because this is not working
bw-png background.png back.png middle.png front.png > all_layers.bw
You can create a bw file for each image and combine all the bw files using copy /b
command.
oh i got it the wrong way
That is wrong
Let me show you
Wait a sec
i got it
Worked?
i went back to the conversation between you and sean and found the command
Great.
If you're on linux, it's just: cat *.bw > all_layers.bw
or mac
Sumagna Das said:
but i will not be much online from 14th august-5th september due to exams
Noooooooooooooooooooooooooooooooooooooooo
anyone uses Atom for C++ development (or for any use)? i am trying to configure it so it might be helpful if someone uses it and can help me
I think it would be easier to use an actual IDE for C++ development, because it helps you manage a lot of things. I don't really use Atom as anything more than a text editor, but I'd imagine that you'll have to manage a lot of things manually (configuring dependencies, writing make files, etc).
i do everything in atom actually
from editing small files to writing things for small to mid sized projects
and i found some package como for c++ development(atom-ide-ui + ide-ccls)
Jeffrey Liu said:
I think it would be easier to use an actual IDE for C++ development, because it helps you manage a lot of things. I don't really use Atom as anything more than a text editor, but I'd imagine that you'll have to manage a lot of things manually (configuring dependencies, writing make files, etc).
anyways any IDE suggestions for C++? (which is also available for linux)
I usually use Visual Studio, which is only for Windows, but I heard CLion or Code Blocks is pretty good for Linux.
Clion is great. I use it all the time even on windows. I prefer it to VS. It's free with github student pack
.
Thanks for the suggestions. I will try one out
The parent to child node transformation matrix in BRLCAD is not having [0 0 0 1] as the last row. Why is this the case?
How can I convert it into a standard matrix?
@Jeffrey Liu @Sadeep Darshana i was going to try out the suggested IDEs(CLion looks cool) when i came across some packages for C/C++ development for atom like the ones i said and packages for build with cmake but still going to try CLion out after my exams
Screenshot-from-2020-08-13-21-02-14.png
the packages offer cmake builds(at the bottom of the editor) and outline and error reporting(at the right of the editor)
Sadeep Darshana said:
Clion is great. I use it all the time even on windows. I prefer it to VS. It's free with github student pack
.
Wow, I have to try out CLion then - I didn't realize it was free with the student pack, so I never got the chance to try it out. I wanted to shift to working on Linux but I was hesitant because I was only familiar with Visual Studio.
That Atom extension does seem decent though @Sumagna Das
Jeffrey Liu said:
That Atom extension does seem decent though Sumagna Das
but it broke the atom shortcut from the apps section or the dock :cry:
i can only open it from alt-f2 dialog by running the atom
command
If you are looking for a Visual Studio like IDE on Linux, you may want to have a look at KDevelop. CMake has a generator for it, but is has a CMake plug-in as well. I.e., you can simply "open" any existing CMake project.
Will look into that
@Sean Didn't get any time to work on the VOL tutorial or on the Primitives.tcl, I have a lot of school homework and assignments because our schools started after 5 months. Will work on them as soon as possible. :worried: :grinning:
Maybe this week, I will have some time. :)
hey @Sean i got a render in .pix file and i dont know how to convert to a png file
@Sumagna Das run pix-png ;) or you can re-render with -o file.png
thanks
pix-png gives only streaks of color
Sadeep Darshana said:
The parent to child node transformation matrix in BRLCAD is not having [0 0 0 1] as the last row. Why is this the case?
How can I convert it into a standard matrix?
That is a standard 4x4 homogeneous matrix. Maybe you're thinking of a 3x3 matrix?
Thusal Ranawaka said:
Sean Didn't get any time to work on the VOL tutorial or on the Primitives.tcl, I have a lot of school homework and assignments because our schools started after 5 months. Will work on them as soon as possible. :worried: :grinning:
@Thusal Ranawaka Okay, good to know -- can you post the latest version of the script to a thread so we can commit it to the repository?
good luck with your studies, hope you can work on this more though ;)
Sumagna Das said:
pix-png gives only streaks of color
That's because you didn't specify the dimensions of the pix file. See the -w and -n option. Pix iles are raw data with no header -- you must specify what size the image is if it's not 512x512.
@Sadeep Darshana check out http://www.opengl-tutorial.org/beginners-tutorials/tutorial-3-matrices/ for some discussion about matrices
@Sean Okay. I'll send you the latest Primitives.tcl. Actually, I made some progress in VOL Tutorial. :)
Today
excellent! can't wait to see it get filled out
Me too. ;)
Screenshot-from-2020-08-31-14-14-17.png
anyone else getting this error while trying to access brlcad.org ?
@Sean look if you can fix this :up:
Hmm. Yes, image.png
:thinking:
looks like apache was stuck at 100%
restarted and it's back to life..
:+1:
looking at setting up monit or a script to detect unresponsiveness
Ah....
@starseeker It's fine how it is, but thought you should know that I'm of the opinion that GUI specifics like menu items, layout, organization, labels, etc, are non-contractual interface elements that typically (not always) fall under clause A.3
that's to say, there's no harm in deprecating, but I don't see it as necessary at least to the extent that we're not taking away functionality without a constructive readily discoverable alternative. It also has to result in some actual constructive difference, some change in terms of an actualized product (so a change to geometry, to rendered image, or some analytic value).
looking at that list, Lighting and Z-buffer, for example, have no actual product effect, so they can change at will without even so much as a minimally impacting notice. they'd just be NEWS when they go.
/me nods. Removing the sub-window rectangle rendering is probably the biggest candidate for a product removal
everything one can sweep can be selected in other manners, so one could argue that graphical sweep should be listed as minimally impacting change if it goes
I'm actually not sure what collaborate does...
display lists, depth cueing, key forwarding, and pane management are all in same camp as lighting -- no effect on product
even sub-window rendering, I'd argue that's covered (from a product perspective) by the raytrace control panel, so that's not even necessarily minimally impacting
the only thing in there I'm seeing is object picking
Sounds good - probably the thing to do then is to yank them after we've tagged the release.
Mostly trying to do it to start trimming down/cleaning up MGED's code wherever possible to make it easier to work with - just didn't want to miss the 7.32 release for deprecation listing if it was needed.
we should always enable lighting and z-buffer before yanking them.
I'm not a fan of depth cueing because our method is too basic, so that one's more problematic.
/me nods - yeah, I wasn't going to yank any of those until I'm sure they can be set via command line if need be and we get the defaults to be sane.
I tried forcing lighting on a few months back and ran into some minor snag. doable, but it was going to require rewiring something.
@starseeker can you elaborate on c76719 .. the change itself is fine, but the comment doesn't make any sense to me. I don't see how any shell would do anything with "-F/dev/debug" as an argument. Was the expansion somewhere else?
@starseeker another one to check is c76727 ... the conversions of "cmd < input > output" to "run cmd < input > output" don't look right.. if that's working, I'm not sure how. input redirected to a function shouldn't be getting passed to the command. redirections aren't positional args that get passed along.
the ones that redirect output should be fine as all output in the function is getting sent to stdout, so it can get captured from 'run'
it's the ones that are redirecting input that should be checked specifically (and even then, probably still undone even if zsh or bash are doing something exotic like automatically rewiring commands.
ah, and I see you later reverted/modified your approach -- but might help knowing it was the input redirections that broke it. there were just a few of those.
also curious what the plan is for replicating all of bn's vlist logic in bg... should finish that migration if it's intended to be a replacement so we don't have the duplication. what was wrong with bn?
So conceptually I don't think the vlists are a good fit for libbn, and I wanted to alter the API to hide some implementation details (among other things, getting bu_list out of the equation.)
Those changes are in a branch though - at least, they shouldn't have been merged. It's experimental at this point, mostly exploring what API makes sense.
The "-F/dev/debug" thing, IIRC, was something in the Git bash environment interpreting that as a "Linux" style file path and trying to auto-convert it to a Windows path. I didn't dig deep enough to absolutely confirm it, but that was the most probable interpretation of what I was seeing.
There may be a setting or something we can toggle to disable that behavior - it'll be more of a potential issue once we've migrated to Git and we've got more people using Git bash on Windows.
Looks like we're not the first ones to encounter the issue:
https://support.cloudbees.com/hc/en-us/articles/360033184131-KBEC-00420-Stopping-Path-Conversion-for-Git-Bash
http://www.mingw.org/wiki/Posix_path_conversion
Looks like we're tripping on this rule:
Argument from MSYS program Sent to native Windows program as
-I/foo -IC:/MinGW/msys/1.0/foo
Maybe set MSYS_NO_PATHCONV in our scripts somewhere?
starseeker said:
So conceptually I don't think the vlists are a good fit for libbn, and I wanted to alter the API to hide some implementation details (among other things, getting bu_list out of the equation.)
Those changes are in a branch though - at least, they shouldn't have been merged. It's experimental at this point, mostly exploring what API makes sense.
What's with the bu_list hate?
I don't care about ptbl or list going away, but curious why you're preferring one over the other. Familiarity?
Biggest concern I saw in the commits is that it seeming unlikely you'd want to or have time/energy/will to go through all the effort to remove all instances of bn_vlists and possibly ending up with two vlist APIs. That's admittedly unfair speculation -- primarily a concern because of the amount of work implied.
starseeker said:
Thanks, that is super informative (and absolutely asinine). Looks like there's an msys-specific solution; going to try that.
Okay, patch applied to benchmark! Please test if you still happen to have that config handy.
FWIW, really don't think adding sorting to search is a good idea as it violates pattern, scope, and opens up a can of worms. Might I suggest a different approach -- another command corollary similar to find/search, something like 'sort' that is object-aware (maybe gsort or gort or gorder, etc.)
Then you could do something like [gsort -size [search .]] and "mged -c file.g search . | mged -c file.g gsort -size" to get object sorting.
Windows Ninja/sh.exe build test underway (may have to kick it a couple times - the Windows github runner sometimes chokes for other reasons).
Regarding bu_list - I suppose familiarity is most of it. I find it very difficult to reason about those containers and macros. Since we're also looking at removing bu_list from other parts of the code for coherency reasons, it seems simpler to migrate towards bu_ptbl.
You may be right I wouldn't be able to do the migration, but maybe that can be the merge criteria - the experiment stays in the branch until bn_vlist can be completely removed from the codebase without functionality loss.
Like the idea of the gsort command - I agree it feels wrong as an option to search, but wasn't sure how else to achieve the effect (without Tcl scripting the output results or something similar.)
starseeker said:
Regarding bu_list - I suppose familiarity is most of it. I find it very difficult to reason about those containers and macros. Since we're also looking at removing bu_list from other parts of the code for coherency reasons, it seems simpler to migrate towards bu_ptbl.
Just a word of caution there, while most usages are O(n) for both, there are some calls into bu_list that are O(1). Not going to see the implication on most use cases because the lists are too small, but big lists and performance critical lists will likely be impacted switching to a hashed container from a linked list. ptbl behaves more like std::map whereas bu_list is more like std::list.
Looks like the benchmark fix worked.
@Sean regarding 77094, how recent is your build? I just fixed an issue with search -exec in trunk, and at least on Linux I get the following:
mged> search . -exec echo "OBJ: {}" ";"
OBJ: all.g
OBJ: light.r
OBJ: LIGHT
OBJ: tor.r
OBJ: tor
OBJ: ellipse.r
OBJ: ellipse.s
OBJ: cone.r
OBJ: cone.s
OBJ: box.r
OBJ: box.s
OBJ: platform.r
OBJ: platform.s
I think 77076 was the search -exec fix, at least for me...
Oh okay, cool. My mged is from three days ago. I've been spot compiling so I can review faster, and I'd already checked off on all recent commits -- wasn't obvious that one pertained to search or fixed that issue.
Heh - that's my bad with the message. The issue had potential generality for anything using that callback, but it was search -exec that actually triggered it - I should have noted it.
That search -exec echo test would actually make a good regression test for that command.
it's been my goto, that and search . -exec ls -la "{}" ";"
(deleted)
@starseeker if you run mged -c moss.g and then opendb some file, do you get a message about 'nu' and local commands? Bug related to the refactoring?
I do get the message - I'm not sure if it's related to the refactoring or has been there for a while. I'll have to try it on an older build.
7.30.2 does that as well.
huh, okay. so it's been at least a few months then.
starseeker said:
7.30.2 does that as well.
Looks like it was introduced in r69840 while fixing the background color initialization. Looks like the command isn't set, despite it supposedly getting set during init? So init isn't getting called perhap.
Also ran into this:
agua:.build morrison$ bin/mged -c test.g
BRL-CAD Release 7.32.1 Geometry Editor (MGED)
Tue, 15 Sep 2020 22:50:46 -0400, Compilation 19
morrison@agua.local
attach (nu ogl X)[nu]? X
Starting an X display manager
ERROR: alloc size=0 (cnt=0, sz=8) bu_copy_argv
ERROR: bu_malloc(0)
ERROR: bu_malloc(0)
Saving stack trace to mged-44623-bomb.log
Bomb appears to be on all platforms when responding to the prompt. I debugged and fixed it, but warrants an integration test. I'm not sure how we can test it, though. Can't just redirect a response as that will kick mged into script processing mode.
Any ideas?
Oof. Not offhand - nu doesn't trigger it, and the other options are graphical which we can't count on for testing environments.
can't count on them, but could still test them when they are available. e.g., an ogl test is enabled if glxinfo returns 0
I'm just not sure how we could even trigger it. It's annoying a separate code path from -a and 'attach'. maybe we could consolidate the code paths so testing -a would trigger the same
@starseeker serious code smell in r77171... the libged changes.. what's going on with openbsd??
We can't do a relative path lookup to find any of our files on that platform until after bu_setprogname is called. Since that doesn't happen before library initialization, we can't populate the libged command table on library load. I'm doing the same check in ged_cmd_valid and ged_exec
See r76746
Particularly like #5 and #8
https://www.learncpp.com/cpp-programming/eight-c-programming-mistakes-the-compiler-wont-catch/
those who want to participate in something which is like GCI, you can participate in this one
https://hacktoberfest.digitalocean.com/
found out about this competition recently
/me blinks - the opencl branch and trunk seem to be quite a ways apart - do we need to do something to trunk to make it easier to keep them close?
they aren't automatically mergeable, but there are worthwhile changes on the branch.
I'd need to review the commits myself -- a bunch of the changes were merged
@starseeker did you intend to wipe out brlcad/branches/thirdparty_rework/src/libdm/dm_obj.c ? just checking as it seemed unrelated to the rest.
Yes (sorry, that should have been a separate commit.)
different branch even
Started doing some maintenance and realized most of the branches were in a difficult merge state. Most of them I can deal with, but I'm not comfortable with opencl - don't have enough context
different branch?
gutting dm_obj .. that seems rather unrelated to 3rd party rework (the scope of the branch)
It's a missed merge from trunk
ahh, gotcha
that makes more sense
That happens on occasion - with these big merges I usually end up doing a manual diff between trunk and the branch to see if anything escaped. I think git will be better at it, but I've only ever gotten so good at the SVN merges...
anybody knows any extension in vscode which watches if the file in the active editor has changed or not and then shows if there are unsaved changes by the default symbol
i want to say that atom checks if the file has changes which are not on the disk and if there is it shows the default "unsaved file" symbol on the editor. i want to have that feature in vscode
so it is a feature request till now and it has not been added
This one? https://marketplace.visualstudio.com/items?itemName=appulate.filewatcher
it runs tasks but it doesnt seem like it can change the editor title bar
Looks like it was implemented a couple years ago: https://github.com/microsoft/vscode/issues/1723
maybe the discussion has clues on how to use/enable that
i saw this setting but i was talking about the tab's title bar inside vscode
which i dont think is configurable
https://github.com/microsoft/vscode/issues/919
i am talking about this issue
it is still a feature request
Hey @Sean What's up
@Himanshu Sekhar Nayak how's it going? you came online after so many days.
@Himanshu Sekhar Nayak howdy! deep in debugging and too many balls in the air, but going well!
Hey guys :wave: I am off for so many days. I want to get back into the track. @Sean can you tell me something so that I will be right be in the track?
@Himanshu Sekhar Nayak what's something that interests you a lot?
what should the const char *str
argument of bu_malloc
get?
@starseeker you know of any way i can know how many bytes are there in the unsigned char *
returned by icv_data2uchar()
? i tried using strlen((char *)data)
but it gives out 0 everytime though it is not zero.
@Sumagna Das looking at the implementation, it's preparing an array of size bif->height X bif->width X bif->channels
starseeker said:
Sumagna Das looking at the implementation, it's preparing an array of size bif->height X bif->width X bif->channels
thanks for that...
@Sumagna Das the str argument is just a label for debugging, so just convention it'll be something like "alloc mything" in bu_malloc() and "free mything" in bu_free(). then if you turned on debug logging, you'd be able to search for your mything memory allocations.
Sumagna Das said:
starseeker you know of any way i can know how many bytes are there in the
unsigned char *
returned byicv_data2uchar()
? i tried usingstrlen((char *)data)
but it gives out 0 everytime though it is not zero.
just fyi, strlen only works on strings (i.e., stopping on any '\0' byte), so it won't work on image or other binary data (where zero is quite common).
thanks for the info
Sean said:
Himanshu Sekhar Nayak what's something that interests you a lot?
Starting from scratch now where I am building brlcad from svn
wow brlcad version changed. Nice
Last time I left during GCI
Hey @Daniel Rossberg How's going?
Hello there
hey
what's up
nothing much.
Are you back online or will go offline for a few more days?
greetings @Himanshu Sekhar Nayak ! yep, we had a pretty big release, and we're due to have another soon
I am online now, but my wifi is over.
@Sean are there any stuff that I can contribute ? thnks
@scorp08 absolutely, we can use all the help we can get! the possibilities are literally endless though. knowing what interests you would help, but there are an endless supply of small things and big projects
Sean said:
scorp08 absolutely, we can use all the help we can get! the possibilities are literally endless though. knowing what interests you would help, but there are an endless supply of small things and big projects
@Sean I would start with easy & medium small staff. I do not know if there are issue track?
scorp08 said:
Sean said:
scorp08 absolutely, we can use all the help we can get! the possibilities are literally endless though. knowing what interests you would help, but there are an endless supply of small things and big projects
Sean I would start with easy & medium small staff. I do not know if there are issue track?
checked todo lists. I think ls-dyna keyword seems good, where should start ?
I added a couple updated links for models: https://www.nhtsa.gov/crash-simulation-vehicle-models and https://www.ccsa.gmu.edu/models
Existing ls-dyna converter code is at src/conv/k-g.cpp
It's been a while - I think it can do triangles, but there are other element types it can't do
First step is probably to get some idea of what's missing, and what would be easiest to add
@scorp08 yeah, implementing an ls-dyna importer and/or exporter would be a great place to start. There's the k-g.cpp that @starseeker started a few years ago, so you could start with that and pick his brain on what works and doesn't work -- that's probably the best place to start. Also could just grab an input file, see what doesn't import and work on importing it -- that's the bulldozer approach. Or you could start from scratch to get familiarized more incrementally.
Interesting resource I just came across: A-Short-Introduction-about-LS-DYNA-and-the-LS-PrePost.pdf and more comprehensively: https://ftp.lstc.com/anonymous/outgoing/jday/manuals/ls-dyna_database_Jan2016.pdf
I was checking out the features of the CMake extension in vscode and found this: image.png
Is this a work in progress? what is this supposed to do when its done or what does it do now if its not a WIP?
IWidgets is a set of Tcl/Tk scripts - there's no compilation to do, the project just copies files around. That may be why it shows empty.
Oh. I thought it was a work in progress and thats why it showed empty.
starseeker said:
First step is probably to get some idea of what's missing, and what would be easiest to add
starseeker said:
I added a couple updated links for models: https://www.nhtsa.gov/crash-simulation-vehicle-models and https://www.ccsa.gmu.edu/models
@starseeker @Sean I checked theory manuals and some docs of ls-dyna. I would say , briefly understand k-g.cpp and have some questions.
I think discrete and mass elements of ls-dyna have no equilavent primitive of brlcad ? also beam elements are same ? I also could not find a good doc showing all elements_solid notation (eg, node number) for example 20-10 - 15 nodes brick or prism, if there are ? 4-6-8 nodes are already done. So, I could not catch which elements are missing
I don't recall for certain, but I think the place to start is here: https://www.lstc.com/download/manuals
Specifically the *ELEMENT section of http://ftp.lstc.com/anonymous/outgoing/marleigh/manual/LS-DYNA_Manual_Volume_I_R12.pdf
Beams (IIRC) would need to be represented as a boolean combination of ARB solids. Some of them may have no direct equivalents, and some (like seatbelt) may be pretty tricky to create geometry for. I'd pick a simple case we don't support (maybe a type of beam?) that is also in one of the test models and start there.
scorp08 said:
I would say , briefly understand k-g.cpp and have some questions.
Excellent
I think discrete and mass elements of ls-dyna have no equilavent primitive of brlcad ? also beam elements are same ?
It depends whether there is geometric information implied. There are some non-geometric constructs that we support, but I don't think they are a priority.
For example, a DISCRETE_ELEMENT describes some sort of connection between two objects. That's a connection/association construct, but non-geometric. So you have options.. you could put the two objects (N1 and N2) into a combination together (unioned), or you could create a 'joint' object to represent the connection, or you could encode the parameters as an attribute, or you could ignore it for now since it's not geometric.
For MASS_ELEMENT, that one is also non-geometric, but it is a property that we support in a super-simplified form. So you could choose to ignore it or import it. BRL-CAD has a materiaID number -- it's a number that represents some material type and has an associated density (which can be used to calculate mass). So an object123 might have a materialID=3, which might be "Iron" with a density of "3.81239 g/cm^3". A MASS_ELEMENT is the inverse of that concept, so I'd probably just encode the mass as an attribute (e.g., dyna::mass_element.mass=123.321)
As for ELEMENT_BEAM ... I think that one may be geometric. It appears to implicitly describe an arb8 ... https://www.researchgate.net/figure/Coordinate-system-of-2-node-beam-element_fig4_283381413
I also could not find a good doc showing all elements_solid notation (eg, node number) for example 20-10 - 15 nodes brick or prism, if there are ? 4-6-8 nodes are already done. So, I could not catch which elements are missing
https://ftp.lstc.com/anonymous/outgoing/marleigh/manual/LS-DYNA_Manual_Volume_I_R12.pdf has ELEMENT_SOLID in detail.
this seems to have some nice examples: https://www.dynamore.de/de/download/papers/forum11/entwicklerforum-2011/erhart.pdf
oh cool -- https://www.dynaexamples.com/introduction/examples-manual/section/solid
Huh, hadn't noticed - we got flagged on HN back in 2019 https://news.ycombinator.com/item?id=21148247
Interesting - a comment toward the bottom cites older infrastructure as an issue for contributing...
I saw it when it was posted and followed, but there wasn't really anything worth chiming in on. I get alerts.
Hi @Sumagna Das what's up
hey
how's going?
Hey @Jeffrey Liu
you came online after so many months or a year :sweat: ?
Himanshu Sekhar Nayak said:
how's going?
online exams going on right now
getting ready for physical science :smile:
after some months I came here
Hey everyone! Hope you're all safe and doing well.
Jeffrey Liu said:
Hey everyone! Hope you're all safe and doing well.
you also dont come online that much now :smile:
btw I am currently enrolled in University
oh nice
so admission process and other areas took too much time due to COVID
so I was offline for many days
yea
now everything either being postponed or getting delayed due to COVID
hows Covid going on in your city tho?
Jeffrey Liu said:
Hey everyone! Hope you're all safe and doing well.
yeah I am fine. What's about you? Enrolled in university or not?
Sumagna Das said:
hows Covid going on in your city tho?
83 new cases today
oh
day by day it's rising
yea
now its spiking
yep
you are in class 10 right?
yea
cbse?
boards next year
Himanshu Sekhar Nayak said:
cbse?
naah
state board
oh...
how's classes are going on?
online for now
our school started offline classes
omg
then suddenly closed them for mock test
then online exams came
so no idea if it will resume again
yeah everywhere online exams
mine also
dont know what will happen for our boards next year tho
hmm.. it's strange what may come in future?
yea
like the boards got cancelled for cbse again this year
yeah
class 10 students are like :grinning: :grinning_face_with_smiling_eyes:
yea
it's been months I come today in chat
I was so much busy on those admission process and semester exams
yesterday saw a reel saying that its good that the boards got cancelled but if i (the creator) see anyone roaming around, then just see what will happen of you
Himanshu Sekhar Nayak said:
it's been months I come today in chat
yea
Sumagna Das said:
yesterday saw a reel saying that its good that the boards got cancelled but if i (the creator) see anyone roaming around, then just see what will happen of you
:rolling_on_the_floor_laughing: :joy:
seriously tho
they want the boards cancelled but they will go on trips at this moment
Sumagna Das said:
they want the boards cancelled but they will go on trips at this moment
lol
Hi @Sean @Daniel Rossberg I was offline due to admission process and semester exams in the university. Btw currently I am learning data structures and algorithms. Also I want to get back into the track for this org. It would be great if I get to know how BRLCAD is implemented or related to that so that if I got chance I can work on those. Also where I can start from the beginning to understand those. Thanks
Himanshu Sekhar Nayak said:
Hi Sean Daniel Rossberg I was offline due to admission process and semester exams in the university. Btw currently I am learning data structures and algorithms. Also I want to get back into the track for this org. It would be great if I get to know how BRLCAD is implemented or related to that so that if I got chance I can work on those. Also where I can start from the beginning to understand those. Thanks
@Himanshu Sekhar Nayak That sounds good. For what it's worth, there are literally hundreds of algorithms implemented in BRL-CAD, so it's not constructive to talk about a specific algorithm without also talking about a particular feature (and there are thousands of features).
Hope you and those important to you stay safe. I noticed the huge spike going on in .in right now. Hopefully the get it under control.
Sean said:
Hope you and those important to you stay safe. I noticed the huge spike going on in .in right now. Hopefully the get it under control.
yeah that's horrifying and I saw 2nd wave is coming.
Hi Guys, you missed me?
Hi @Himanshu Sekhar Nayak and @Jeffrey Liu! How's it going for everybody?
And by the way, sorry Sean, I was busy these days. Got some homework and my uncle's here, so we are on vacation.
And Congrats to @Himanshu Sekhar Nayak for University Entry! :tada:
Can brlcad convert .g to FE mesh importable by finite element programs?
Welcome back @Thusal Ranawaka !
scorp08 said:
Can brlcad convert .g to FE mesh importable by finite element programs?
@scorp08 Yes, but that is not a simple push button. FE programs require specially prepared meshes. So even if you have a CAD in Creo or NX or AutoCAD or whatever that exports as a mesh cleanly, those meshes typically still need more work before they can be used in a FEA.
As for BRL-CAD's support, our best FE exporter is probably our Cubit exporter (g-sat). It requires a custom compile and it requires a development license to Cubit (which used to cost $100) but that gave outstanding export results via ACIS.
Here's an example @scorp08 https://brlcad.org/gallery/picture.php?/33/category/3
Sean said:
Welcome back Thusal Ranawaka !
Thanks, Sean! I'll get back to work soon, can you please have a look at #general > primitives.tcl?, I posted some issues there recently.
Does anyone use the rtscale utility? It appears to be to the only user of the TIG plotting routines in libbn...
I've used it infrequently as a labeling mechanism. It's one of the few mechanisms available. Screen-Shot-2021-05-10-at-11.04.29-PM.png
Ick. Will have to see if I can set up something better...
I didn't try to make it pretty, just the concept. The text is actually oriented in 3D, which is pretty unique.
Thusal Ranawaka said:
And Congrats to Himanshu Sekhar Nayak for University Entry! :tada:
Thanks buddy. How's going?
Hi Himanshu!
Hello
I am doing fine, thanks for asking. But these days I am so busy with homework and stuff, exams are coming and a lot of other stuff too.
And I am too lazy to complete those. :sweat_smile:
welcome back himanshu
Hey @Sumagna Das How's going?
just doing homework
tuition teacher said that he will remove those who didnt submit their copy
Thusal Ranawaka said:
And I am too lazy to complete those. :sweat_smile:
:joy: it's okay sometimes
so going to do this weeks hw and onwards
:sweat:
lol
this pandemic in India getting worse day by day but also conditions are improving
Conditions?
yeah its improving and getting worse at the same time
I heard Odisha is a red zone in COVID.
on one side, the daily number of deaths is steady and on the other side, the active cases are decreasing
according to the covid graph I guess, Odisha is around 12 or 13 rank
@Thusal Ranawaka how's the situation there?
Himanshu Sekhar Nayak said:
according to the covid graph I guess, Odisha is around 12 or 13 rank
yea
It's been more than 6-7 months I guess, I am trapped inside home
btw, did you join the new matrix channel for brl-cad, himanshu?
matrix channel?
brlcad moved to new chat channel or something?
Himanshu Sekhar Nayak said:
brlcad moved to new chat channel or something?
well, they are thinking about migrating
Himanshu Sekhar Nayak said:
Thusal Ranawaka how's the situation there?
Well, we are bombarded with the 3rd Wave after New Year in April, 3000+ patients every day, 50+ deaths. Hospitals are almost 99.9%
Thusal Ranawaka said:
Himanshu Sekhar Nayak said:
Thusal Ranawaka how's the situation there?
Well, we are bombarded with the 3rd Wave after New Year in April, 3000+ patients every day, 50+ deaths. Hospitals are almost 99.9%
hold up
3rd wave :blushing:
Government is bringing CINOPHARM doses to immunize people, but that process is not very fast.
Sumagna Das said:
Thusal Ranawaka said:
Himanshu Sekhar Nayak said:
Thusal Ranawaka how's the situation there?
Well, we are bombarded with the 3rd Wave after New Year in April, 3000+ patients every day, 50+ deaths. Hospitals are almost 99.9%
hold up
3rd wave :blushing:
Yes
India gonna hit 3rd wave soon I guess
Thusal Ranawaka said:
Sumagna Das said:
Thusal Ranawaka said:
Himanshu Sekhar Nayak said:
Thusal Ranawaka how's the situation there?
Well, we are bombarded with the 3rd Wave after New Year in April, 3000+ patients every day, 50+ deaths. Hospitals are almost 99.9%
hold up
3rd wave :blushing:Yes
thats not good
btw anyone of you two are vaccinated or not?
First 2 waves were controlled, but this one nearly impossible. We were in a kind of a lockdown for almost 2 weeks now.
Himanshu Sekhar Nayak said:
India gonna hit 3rd wave soon I guess
the second wave is destroying everything right now....i pray that the 3rd wave isnt that deadly
Himanshu Sekhar Nayak said:
btw anyone of you two are vaccinated or not?
Nope, I think our age is not enough.
Himanshu Sekhar Nayak said:
btw anyone of you two are vaccinated or not?
we are under 18 so......
My parents got the first dosage of Sinopharm vaccine
I am above 18 but still not vaccinated
some of my friends are vaccinated two times
Himanshu Sekhar Nayak said:
I am above 18 but still not vaccinated
well they have started the vaccination process for 18+ olds
We are on a shortage of COVISHIELD second dose for about 7 lakhs
Thusal Ranawaka said:
My parents got the first dosage of Sinopharm vaccine
Sinopharm vaccine? SriLanka created Sinopharm?
India is not sending us vaccines, because India got 2nd Wave now.
Himanshu Sekhar Nayak said:
Thusal Ranawaka said:
My parents got the first dosage of Sinopharm vaccine
Sinopharm vaccine? SriLanka created Sinopharm?
It's the Chinese one.
India situation is worse. 18+ are not getting vaccine in major places due to shortage
Most of our relations are with China, almost everything in our lands were invested by China
I think our country will belong to China in near future.
Himanshu Sekhar Nayak said:
India situation is worse. 18+ are not getting vaccine in major places due to shortage
yea......
we are also having a shortage of vaccines
@Thusal Ranawaka btw you are talking about matrix channel? Brlcad moved to matrix channel or what?
somehow my family members who have a comorbidity got the 2 doses of covishield
But the Chinese vaccine is good, and US research showed that after 14 days of taking the 2nd dose of Sinopharm vaccine, it immunes the human body from becoming serious if you get COVID by 100%
Himanshu Sekhar Nayak said:
Thusal Ranawaka btw you are talking about matrix channel? Brlcad moved to matrix channel or what?
Yes
any link so that I can join too?
Himanshu Sekhar Nayak said:
any link so that I can join too?
brlcad::matrix.org or something like that
btw is this channel not active anymore or what?
or brlcad planning to move there
?
this channel is still active
there are some more bridgings in matrix according to sean.
but they'll eventually move completely to matrix.
Himanshu did you participate in GSoC?
yeah I am planning to contribute here and participate in upcoming GSoC
I came here to talk something about GSoC with Sean
looks like he is offline
He's idle.
He normally comes here at around 12AM - 10AM next day according to my analysis.
In local time
Thanks for info
I completely lost track after going to university
Is University opened now?
btw I completed my 1st year
yeah it is opned but online :grinning_face_with_smiling_eyes:
How do students get selected for University in India?
Himanshu Sekhar Nayak said:
btw I completed my 1st year
time flies...
Thusal Ranawaka said:
How do students get selected for University in India?
Here in India to get into prestigious university like IIT, IIIT or NIT you have to go through JEE exams
it's tough
Himanshu Sekhar Nayak said:
brlcad moved to new chat channel or something?
We haven't "moved" just yet. But probably soon.
Hello @Sean :high_five:
Thusal Ranawaka said:
Himanshu Sekhar Nayak said:
any link so that I can join too?
brlcad::matrix.org or something like that
it's #brlcad:matrix.org Go to matrix.org for the client (Element) and enter the #brlcad room, or you can search for BRL-CAD.
Himanshu Sekhar Nayak said:
Thusal Ranawaka said:
How do students get selected for University in India?
Here in India to get into prestigious university like IIT, IIIT or NIT you have to go through JEE exams
oh
Here, we have an exam called "A/Ls" Advanced Level Examinations where you face an exam EXTREMELY HARD EXAM for about 3 subjects and get selected for Universities.
Every year about 350,000+ students write the exam and less than 75,000 students get selected to Universities.
Some try the exam for the second time while others who got money go to Universities abroad.
There is so much competition that almost 25% of the people who write A/Ls each year gets As for all subjects, still only about 10% get selected to Universities.
@Sean where is the active build hosted? Like in svn or github
?
https://github.com/BRL-CAD/brlcad
Hey @Daniel Rossberg @Sean I am currently now in 2nd year year of University and really wanted to take part in GSoC next year in this org. So how can I start? :happy:
Also not in terms of GSoC but also I will contribute to this organisation
just want to get start point
Hi @Himanshu Sekhar Nayak, did you already succeeded to compile the programs from our GitHub repository?
For a project, you can look at the list of the ideas for this year: https://github.com/opencax/GSoC/issues?q=is%3Aopen+sort%3Aupdated-desc+label%3A%22GSoC+2021%22+label%3A%22Project%3A+BRL-CAD%22
Many of them are still available.
Daniel Rossberg said:
Hi Himanshu Sekhar Nayak, did you already succeeded to compile the programs from our GitHub repository?
yeah build is in process as my pc is dual core so fans spinning like aeroplane turbine engine :neutral:
so build completed and took 27 minutes 42 secs in my dual core pc
anyone here having 8 core cpu?
how much time it will take there? Like less than 8 mins or what :thinking:
I have 4 cores, when I compiled for the first time it took me 11 min iirc
My laptop is 8-core, but sometimes compile on the compile farm machines where some of them have 100+ cores. Compiles all of BRL-CAD in about 2 min.
I just want to confirm that anyone working on this issue? https://github.com/opencax/GSoC/issues/28
Because I want to work on it.
Himanshu Sekhar Nayak said:
Because I want to work on it.
Nice :big_smile:
This part of BRL-CAD is currently orphaned, which is also a bit my fault. Recommended readings are:
Daniel Rossberg said:
Himanshu Sekhar Nayak said:
Because I want to work on it.
Nice :big_smile:
This part of BRL-CAD is currently orphaned, which is also a bit my fault. Recommended readings are:
- https://brlcad.org/wiki/User:Ali_Haydar/GSOC19/project
- https://brlcad.org/wiki/Ali_Haydar_Dev_log
- Maybe, you can tests this Ali's open tickets: https://sourceforge.net/u/lois221/profile/
I will look into it.
Screenshot_2021-06-07_07-34-42.png
Am I doing anything wrong? When the ray trace is complete it is only showing a white box not the result that I expected from here https://brlcad.org/wiki/Tutorial/Newbie#Modeling
Also this page is 404 https://brlcad.org/gallery/diagrams/primitives
Himanshu Sekhar Nayak said:
Am I doing anything wrong? When the ray trace is complete it is only showing a white box not the result that I expected from here https://brlcad.org/wiki/Tutorial/Newbie#Modeling
Not anything wrong -- I believe that's a bug. It looks like the OpenGL context isn't drawing the background color (or perhaps the background color is the same as the transparency color) or something similar.
Himanshu Sekhar Nayak said:
Also this page is 404 https://brlcad.org/gallery/diagrams/primitives
That might have been our previous gallery. I think this is the link: https://brlcad.org/gallery/picture.php?/5/category/1
Sean said:
Himanshu Sekhar Nayak said:
Am I doing anything wrong? When the ray trace is complete it is only showing a white box not the result that I expected from here https://brlcad.org/wiki/Tutorial/Newbie#Modeling
Not anything wrong -- I believe that's a bug. It looks like the OpenGL context isn't drawing the background color (or perhaps the background color is the same as the transparency color) or something similar.
if thats a bug
then i think i also have that transparent background bug
Sean said:
Himanshu Sekhar Nayak said:
Am I doing anything wrong? When the ray trace is complete it is only showing a white box not the result that I expected from here https://brlcad.org/wiki/Tutorial/Newbie#Modeling
Not anything wrong -- I believe that's a bug. It looks like the OpenGL context isn't drawing the background color (or perhaps the background color is the same as the transparency color) or something similar.
Anything possible to fix it? Like something log or something?
Like if I can see log where it is failing.
@Daniel Rossberg So I went through all the links and here are my briefs. I went through the basic terms like annotations, wireframe view, and also about three features to be included like labels, notes, and dimensions. Also, I saw this project requirement is C/C++ and vector math. Since I have a little knowledge of vector math but I am eager to give a start on this so that I can contribute too. GSoC for next year is far away so I think in this mean time I will be available to learn and contribute to this project.
@Himanshu Sekhar Nayak You have a big hill to climb, but you are getting started the right way (early). Especially for GSoC...
As for the bug, that's not an easy one to debug if you don't know how to use a debugger... I suggest doing a tutorial on a debugger for your platform, and then stepping through rt's drawing code to see if you can figure out what's wrong.
gdb or lldb for linux or mac, visual studio's debugger for windows ... they all work well.
the code in question that does drwaing is in src/libfb/if_ogl.c
libfb is our framebuffer library, which is a fancy word for a library that draws into windows
Sean said:
As for the bug, that's not an easy one to debug if you don't know how to use a debugger... I suggest doing a tutorial on a debugger for your platform, and then stepping through rt's drawing code to see if you can figure out what's wrong.
Btw I know debugging and I think I used past 2 days during move constructor on vectors. So probably I think I will try to debug it.
if you run rt outside of mged, you'll probably see the same bug, but that's something to confirm. You can also confirm whether you see the bug when you run rt -F/dev/X (if you're on mac or linux) which makes it use the src/libfb/if_X24.c implementation instead of the if_ogl.c implementation.
I suspect /dev/X will work fine, which again reinforces / confirms the assumption that it's an issue in if_ogl.c
the ogl_open*() calls are likely candidates as they set things up
Sean said:
the code in question that does drwaing is in src/libfb/if_ogl.c
Btw when I list the directory of src/, there is no libfb/. So I located it using find but found it in a different directory src/libdm/glx/if_ogl.c. So are they same? I mean libfm is framebuffer library but what's the libdm?
and also if_X24.c found same in libdm/ dir.
that's correct (libfb and libdm were merged)
right, sorry, I'm still too used to their old location
I ray trace on simple cube structure and got the correct result Screenshot_2021-06-10_05-29-02.png
but when I combine with cube and sphere, the result seems weird
also I saw the frame buffer window is using dev/ogl
Try /dev/X
Himanshu Sekhar Nayak said:
I ray trace on simple cube structure and got the correct result
I don't know where my comment went, but this didn't look like the correct result. The framebuffer window appears to have some transparency to it or alpha channel blending going on, and it shouldn't.
Sean said:
Try /dev/X
try "rt -F/dev/X" in mged
If that's also horked, then it's almost certainly in the windowing setup. If it's fine, then it's either in ogl's windowing setup or in opengl setup.
Sean said:
Sean said:
Try /dev/X
try "rt -F/dev/X" in mged
Screenshot_2021-06-10_06-18-35.png
Previous window displays without any background but dev/X displays with a background that looks correct
But the result I wanted is not this. Screenshot_2021-06-10_06-42-13.png
btw got the radio geometry result fine Screenshot_2021-06-10_07-09-33.png
What result were you expecting? What is the CSG tree you are raytracing? (tree objname)
The transparency issue is annoying but most likely not a raytracing issue - we've see that before, and it has to do with the details of how the OpenGL window is created. A useful test is whether the GLFW demo apps also exhibit the transparency issue.
@starseeker when I rt I didn't get the expected result shown here https://brlcad.org/wiki/Tutorial/Newbie#Modeling
If you want the sphere to show outside the box, you have to make its radius bigger. Based on your wireframe the sphere is fully contained in the box.
starseeker said:
The transparency issue is annoying but most likely not a raytracing issue - we've see that before, and it has to do with the details of how the OpenGL window is created. A useful test is whether the GLFW demo apps also exhibit the transparency issue.
btw what's the difference between X and ogl? Just curious to know.
ogl is using OpenGL graphics. The X backend is a raw X11 implementation of a subset of the display logic - it can't do shaded views, but it can draw successfully even when the OpenGL stack isn't working.
starseeker said:
ogl is using OpenGL graphics. The X backend is a raw X11 implementation of a subset of the display logic - it can't do shaded views, but it can draw successfully even when the OpenGL stack isn't working.
What's the default frame view of rt? ogl or X? I suspect ogl.
ogl
Sean said:
Himanshu Sekhar Nayak You have a big hill to climb, but you are getting started the right way (early). Especially for GSoC...
SO where should I start the path? Like learning mged, vector maths which will give an edge on this project or any suggestions from your side will be grateful. :smiley:
yeah, @Himanshu Sekhar Nayak at a glance, I don't think the tutorial image is right. It clearly shows creating a sphere and a box using the make command without changing the view so the sphere will be inside the box. then it shows a sphere that is bigger than the box.
so I can see how you would expect to see that result. really there should be a zoom .5 or zoom 2 command in there before creating the second primitive so they're different sizes, and then unioned together properly. the state it left you with is overlapping primitives which isn't useful or correct. if anything, it misleads that having them overlapping is a proper union.
If you want, see if you can fix / improve the tutorial?
Sean said:
If you want, see if you can fix / improve the tutorial?
yeah I can improve the tutorial
Looks like it's out of date in several places in the screenshots
Hey @Sumagna Das what's up?
Online classes?
Himanshu Sekhar Nayak said:
Hey Sumagna Das what's up?
nothing much
just came online to check some chats on telegram
Himanshu Sekhar Nayak said:
Online classes?
nope
was chatting to my friends
whatcha doing right now....himanshu
Sumagna Das said:
whatcha doing right now....himanshu
some college stuffs
Himanshu Sekhar Nayak said:
Sean said:
If you want, see if you can fix / improve the tutorial?
yeah I can improve the tutorial
I am thinking giving an example of simple cube instead of that tutorial which was already posted. Is that fine?
I suppose, I guess it depends what the goal of the tutorial is. We have 2 or 3 other introductory tutorials, so the focus there may be adequate to just show a single primitive.
Sean said:
I suppose, I guess it depends what the goal of the tutorial is. We have 2 or 3 other introductory tutorials, so the focus there may be adequate to just show a single primitive.
It says for Newbies where it shows modeling of a simple primitive with instructions to install on windows. https://brlcad.org/wiki/Tutorial/Newbie
Screenshot_2021-06-12_21-32-14.png Am I missing something? After saving changes, it doesn't commit or restricting me to modify the pages?
If I'm guessing correctly, your webpage is not displaying the captcha box and since you aren't filling it, you are not able to commit changes
Maybe you could try from a different browser
@Vikram Atreya :thinking: btw I am using Firefox. May be chrome will fix it.
btw I used both chrome and firefox but still it doesn't allow me to do the modifications
Screenshot_2021-06-13_06-37-50.png
Its asking you the "square root" of 50+50 which would be 10. I think you missed the square root
Vikram Atreya said:
Its asking you the "square root" of 50+50 which would be 10. I think you missed the square root
omg what a noob I am. My attention directly goes to + operator :expressionless: . Thanks for pointing out.
@Sean When I was reading about annot so I came across some grammatical errors and typos. So I removed them. Here take a look https://brlcad.org/w/index.php?title=Annot&type=revision&diff=11917&oldid=10406
btw how to edit the radius of a sphere which is already created?
in mged
btw @Sean I created a new sphere with a new radius but I almost got it but not exactly looking like tutorial. Here is a look. Screenshot_2021-06-13_10-45-10.png
Take the diameter of the sphere to be ( side*root(2) ) for it to look like the given picture
Vikram Atreya said:
Take the diameter of the sphere to be ( side*root(2) ) for it to look like the given picture
Thanks and I got it :smiley: Screenshot_2021-06-14_06-35-23.png
btw slightly increased the radius and now looks perfect. Screenshot_2021-06-14_06-46-51.png
Himanshu Sekhar Nayak said:
btw Sean I created a new sphere with a new radius but I almost got it but not exactly looking like tutorial. Here is a look. Screenshot_2021-06-13_10-45-10.png
That looks good! So the question is... are you simplifying the tutorial to eliminate there being two primitives or are you adding the instruction (and updated image(s)) to explain how to make the bigger sphere?
Sean said:
Himanshu Sekhar Nayak said:
btw Sean I created a new sphere with a new radius but I almost got it but not exactly looking like tutorial. Here is a look. Screenshot_2021-06-13_10-45-10.png
That looks good! So the question is... are you simplifying the tutorial to eliminate there being two primitives or are you adding the instruction (and updated image(s)) to explain how to make the bigger sphere?
btw I think to add a Linux section on how to install because there is already an outdated part of the installation on windows and I want to keep windows documentation as like that before since I don't have any windows machine to take snapshots. Also, I want to change the tutorial only to single primitive(cube) and ray trace on it. Any suggestions?
@Himanshu Sekhar Nayak I think your suggestions there sound good. The screenshots are out of date, so anything you can do there would be an improvement.
Hey @Sean , can BRL-CAD do animations?
https://brlcad.org/wiki/Animation ?
Oh, yes.
We had a lot of direct animation features and tools in BRL-CAD too, but they were stripped out a few years ago as they were out of date. There were tools for flying a camera around a scene and creating keyframe interpolations and more, but it was all quite complex and not terribly well documented.
What Daniel linked is what we decided was best for now. Let animations occur via ouside scripting for now until there's enough interest and a developer willing to write and maintain new tools.
Just added a new section but still, it's a work in progress because I started today honestly. One doubt. I want to add a list for OpenGL:
inside Other development packages needed to build on Debian-based platforms
but it gives me a separate list. Anything I am missing?
Here is the link
https://brlcad.org/wiki/Tutorial/Newbie#Installing_on_Ubuntu.2FDebian
So you want to add a sublist under for openGL
?
I want to add for openGL
under Other development packages needed to build on Debian-based platforms
but idk why for openGL
has two bullets
Check now
You put 2 stars, you should put only 1
no, not like that.
Check again
yeah seems fine and I already tested that but the problem is the line spacings between two code snippets are like merged.
I want some space around it
but unable to do it and everytime I add new line it gives two bulletins
See the sublist of Before following the build instructions. You need
Yeah, got your point
https://en.wikipedia.org/wiki/Help:List
Check spacing between items, they suggest adding a pair of break elements
Now looks great https://brlcad.org/wiki/Tutorial/Newbie#Installing_on_Ubuntu.2FDebian
@Sean Just completed section of Ubuntu/Debian. I have been thinking to add the rest of the sections like Arch, Redhat/CentOS/Fedora. Then I will add new snapshots by removing the old one and also improving the Modeling
section. For now here is a look https://brlcad.org/wiki/Tutorial/Newbie#Installing_on_Ubuntu.2FDebian
@Sean Here are some of the progress https://brlcad.org/wiki/Tutorial/Newbie
Himanshu Sekhar Nayak said:
Sean Here are some of the progress https://brlcad.org/wiki/Tutorial/Newbie
@Himanshu Sekhar Nayak looks like a lot of good updates, but a couple questions. Looks like you added a prerequisite section, but then don't actually list prerequisites.. Instead, maybe just mention any details in each platform-specific section? Also, I see you completely wiped out the Windows installation section. That's literally the most frequent download, so it would be good to say something.
That intro paragraph feels very unhelpful... it's a lot of text that doesn't speak to a newbie.
I'm referring to this paragraph: "BRL-CAD is a powerful open-source cross-platform solid modeling system that includes interactive geometry editing, high-performance ray-tracing for rendering and geometric analysis, a system performance analysis benchmark suite, geometry libraries for application developers, and more than 30 years of active development. It allows you to design houses if you are an architect, design robotics part, or just draw and model things you find in the world."
Sean said:
Himanshu Sekhar Nayak said:
Sean Here are some of the progress https://brlcad.org/wiki/Tutorial/Newbie
Himanshu Sekhar Nayak looks like a lot of good updates, but a couple questions. Looks like you added a prerequisite section, but then don't actually list prerequisites.. Instead, maybe just mention any details in each platform-specific section? Also, I see you completely wiped out the Windows installation section. That's literally the most frequent download, so it would be good to say something.
Inside the prerequisites section, I added more sub-section for platform-specific options. I thought that prerequisites for all related distro before installing brlcad will be helpful. The windows installation is outdated on the page so I decided to add windows installation later. But I will surely add it back.
Sean said:
That intro paragraph feels very unhelpful... it's a lot of text that doesn't speak to a newbie.
I'm referring to this paragraph: "BRL-CAD is a powerful open-source cross-platform solid modeling system that includes interactive geometry editing, high-performance ray-tracing for rendering and geometric analysis, a system performance analysis benchmark suite, geometry libraries for application developers, and more than 30 years of active development. It allows you to design houses if you are an architect, design robotics part, or just draw and model things you find in the world."
Noted. I will remove it and make it simple to read.
I thought to add sections like Introduction, Prerequisite, Installation, and Modelling.
prerequisite will have sub-sections for specific distro on how to install prerequisite software before installing brlcad
and installation part will handle on how to install it after all the prerequisite for specific distro is installed.
Any suggestions @Sean ?
Currently, I don't have a windows machine but in July or August, I will probably buy and I will add the windows section also. For now, I will add Linux-specific prerequisites and installation.
Himanshu Sekhar Nayak said:
Inside the prerequisites section, I added more sub-section for platform-specific options. I thought that prerequisites for all related distro before installing brlcad will be helpful. The windows installation is outdated on the page so I decided to add windows installation later. But I will surely add it back.
Right, I got that but that's a bit confusing to read no? I mean if I'm reading this, i'm only concerned about one platform -- my platform. So having a prereq setion with N platforms listed followed immediately by another section with M platforms.. the reader has to jump over text in each section tediously. Instead of just reading their platform-specific section. I'm suggesting viewing prereq as simply an installation step that may or may not be necessary. There really aren't many actual prereqs for most platforms anyways...
Himanshu Sekhar Nayak said:
Currently, I don't have a windows machine but in July or August, I will probably buy and I will add the windows section also. For now, I will add Linux-specific prerequisites and installation.
I mean, that's the concern with removing the section. You removed potentially helpful text for the most popular download and aren't set up to provide a proper update. I would suggest reading through what was removed and put back what appear to be the most informative steps. Only some of the images were out of date. Some where entirely relevant.
Sean said:
Himanshu Sekhar Nayak said:
Inside the prerequisites section, I added more sub-section for platform-specific options. I thought that prerequisites for all related distro before installing brlcad will be helpful. The windows installation is outdated on the page so I decided to add windows installation later. But I will surely add it back.
Right, I got that but that's a bit confusing to read no? I mean if I'm reading this, i'm only concerned about one platform -- my platform. So having a prereq setion with N platforms listed followed immediately by another section with M platforms.. the reader has to jump over text in each section tediously. Instead of just reading their platform-specific section. I'm suggesting viewing prereq as simply an installation step that may or may not be necessary. There really aren't many actual prereqs for most platforms anyways...
Yeah, it will be too long to read and scroll down to reach the Installation section. Okay, I remove the prerequisite section and will add the Installation section with sub-sections of diffrent platforms. That's sound good?
Yeah, sounds good!
m35s_1024.png Made a pretty rendering of the 100k object (no instances) m35 borg cube.
valet of the year award? :D
Renders surprisingly nearly as fast as a single m35... slightly longer prep time (2s vs instantaneous).
I'd hope the shot time difference would be about as much as to raytrace a a 5x3x3 grid of axis aligned regular boxes that share faces and intersections... :D that's usually awfully quick
@starseeker can I know which app you use to make gif?
btw I used simple screen recorder. :grinning_face_with_smiling_eyes:
Hi Guys, how's everyone doing?
Hey @Sean how's going? Hope you are doing well. I am just hovering around GSoC projects and found an interesting one https://github.com/opencax/GSoC/issues/25
Looks like it is a higher priority project
I am just about to install BRL-CAD in windows 10. Should I install GnuWin32 for make or should I go through installing a Windows subsystem for Linux(WSL/WSL2)?
I am new to visual studio too since I code in vscode in linux so I switched to windows to check how to build in windows.
never mind. I am finally able to build and run it.
It should be easy to build BRL-CAD with Visual Studio 2019.
Daniel Rossberg said:
It should be easy to build BRL-CAD with Visual Studio 2019.
Yeah after build it's easy. I just bought a new laptop so testing how brlcad runs in windows too.
@Daniel Rossberg I went through https://github.com/opencax/GSoC/issues/28. Since I am currently studying BCA which is the bachelor of computer applications but still I will give a shot to this issue. I am exploring it and came to a conclusion after reading that only label support is there? Or may be I have to dig more or something to get started. Btw what I think the final solution might be looking like this? Screenshot-2021-10-12-022712.png
Here it has notes, labels, and dimensions too. Maybe something like this will be showing in mged window?
@Himanshu Sekhar Nayak, I don't like these labels, because they are all distorted. I admit that they look fancy, but if it is about reading, I prefer a straight print.
What do you think about https://sourceforge.net/p/brlcad/patches/535/? Is the last version of the patch okay?
Daniel Rossberg said:
Himanshu Sekhar Nayak, I don't like these labels, because they are all distorted. I admit that they look fancy, but if it is about reading, I prefer a straight print.
What do you think about https://sourceforge.net/p/brlcad/patches/535/? Is the last version of the patch okay?
Hi @Daniel Rossberg :grinning:, I am waiting for your reply. Looks like you are busy this whole week. Btw if I understood then the labels are those square boxes that make a rectangle box that contains some sort of dimensions right? and the notes are displayed in the left side of the image. Just want to make sure that I understood what these annotations means.
I haven't yet gone to the code part yet. Just trying to figure out these meanings first.
Yes, the labels are the sqare boxes with text, etc.. The notes in the upper left corner is the legend or key.
You can create simple annotations in BRL-CAD too: in <name> annot
Maybe, you should try this too.
I will take this week to get more familiar to primitive shapes and mged. I will then try on annot.
Learned how to assign material properties and ray tracing in MGED. I will be now jumping to issue from tomorrow onwards.
Hey @Daniel Rossberg Can you point me towards codebase to get familiar? I covered up to 5 units of mged tutorial to have an idea on the application.
The code base is big. Which feature are you interested in first?
Daniel Rossberg said:
The code base is big. Which feature are you interested in first?
like where the annotation primitive is implemented? So that I can know how the label feature is implemented.
You can find the implementation of the annotation primitive in the src/librt/primitives/annot/annot.c source file (the canonical place).
src/libged/typein/typein.c contains the logic of the in
command in mged. Look for p_annot
and annot_in
there.
What's the meaning of project not selected to build for this solution configuration
while building solution of BRL-CAD after I do Set Startup Projects
?
Should I worry about it?
I haven't seen this yet, but it looks like you tried to build a target which isn't part of the current configuration (e.g. Debug/x64). Probable a mistake(?) This shouldn't happen with ALL_BUILD or mged.
Daniel Rossberg said:
I haven't seen this yet, but it looks like you tried to build a target which isn't part of the current configuration (e.g. Debug/x64). Probable a mistake(?) This shouldn't happen with ALL_BUILD or mged.
My config is Debug/x64 while building the solution. What I got is something like this
259>Project not selected to build for this solution configuration
260>------ Skipped Build: Project: regress-rtwiz_m35_B, Configuration: Debug x64 ------
260>Project not selected to build for this solution configuration
261>------ Skipped Build: Project: regress-rtwiz_m35_C, Configuration: Debug x64 ------
261>Project not selected to build for this solution configuration
262>------ Skipped Build: Project: regress-rtwiz_m35_D, Configuration: Debug x64 ------
262>Project not selected to build for this solution configuration```
These Projects are in fact tests, i.e. if you build them you start a test, which are excluded from normal builds which create the binaries only.
anyone getting this while configure?
To clear this, replace "C:/Users/Himanshu/Desktop/brlcad/INSTALL" with "C:/Users/Himanshu/Desktop/buildBRLCAD/INSTALL.new" or find the source of the difference.
CMake Error at misc/CMake/BRLCAD_Util.cmake:104 (_message):
Configure haulted because INSTALL and/or configure script are out of date.
Call Stack (most recent call first):
CMakeLists.txt:2398 (message)
delete cache
solves
@Daniel Rossberg done some testing to check if the arguments that I passed are displaying in GUI are not. Screenshot-11.png Screenshot-12.png Screenshot-13.png
@Himanshu Sekhar Nayak As a rule that only happens when something changes in the third party options and the automatically built portions of those files change. What's the difference between those two files?
starseeker said:
Himanshu Sekhar Nayak As a rule that only happens when something changes in the third party options and the automatically built portions of those files change. What's the difference between those two files?
Both images are same typein.c
file. I am just having a quick look on how annot works.
You added two additional arguments, which won't be evaluated. What did you expect? Am I missing something?
Yeah those two args are not gonna work but I am just playing around it see if I am able to display those args. Tomorrow I am gonna test the patch to see the result. @Daniel Rossberg
Make a break in the annot_in()
function and investigate cmd_argvs[11]
and cmd_argvs[12]
there.
Daniel Rossberg said:
Make a break in the
annot_in()
function and investigatecmd_argvs[11]
andcmd_argvs[12]
there.
I applied the patch and found bunch of errors. Like 37 build errors. Now I got it why the patch was not applied.
Should I check what's going and make a fix of that patch if possible ?
@Himanshu Sekhar Nayak Absolutely, that would be amazingly helpful :)
Is this https://brlcad.org/docs/doxygen-r69426/index.xhtml correct to know about the namespaces, modules and data structures implemented in brlcad?
@Daniel Rossberg I may be wrong but I can't find the definition of bn_vlist_2string()
. Can I know where the definition is? VS not able to Go to definition
for that function.
Himanshu Sekhar Nayak said:
Is this https://brlcad.org/docs/doxygen-r69426/index.xhtml correct to know about the namespaces, modules and data structures implemented in brlcad?
It's probably not up-to-date. The page information says that it was created on February 14th, 2017.
Himanshu Sekhar Nayak said:
Daniel Rossberg I may be wrong but I can't find the definition of
bn_vlist_2string()
. Can I know where the definition is? VS not able toGo to definition
for that function.
It looks like this function was renamed to bv_vlist_2string()
, sometime.
Daniel Rossberg said:
Himanshu Sekhar Nayak said:
Is this https://brlcad.org/docs/doxygen-r69426/index.xhtml correct to know about the namespaces, modules and data structures implemented in brlcad?
It's probably not up-to-date. The page information says that it was created on February 14th, 2017.
Any link where I can get up to date information?
I think it can help to know the info well.
I'm afraid, there is no current Doxygen documentation online. But, you can build it yourself. If you have Doxygen installed, make dox
will create it. (However, this is easier to get on Linux than on Windows.)
Daniel Rossberg said:
I'm afraid, there is no current Doxygen documentation online. But, you can build it yourself. If you have Doxygen installed,
make dox
will create it. (However, this is easier to get on Linux than on Windows.)
btw I renamed to bv_vlist_2string()
, now the build finished with no errors.
I want to confirm one thing. After I applied the patch, now the annotation text can be moved and rotated or it was already there and I came to know now?
As far I know that primitives can be rotated and moved but don't know about annotations
The patch should add the rotation and scaling feature to the annotations. I.e., an angle and the size in mm.
Daniel Rossberg said:
The patch should add the rotation and scaling feature to the annotations. I.e., an angle and the size in mm.
Where it should display? bu_vls_printf(vls, " { label %s ref_pt %d position %s txt_size %.25g txt_rot_angle %.25g }", bu_vls_addr(&tsg->label), tsg->ref_pt, rel_pos, tsg->txt_size, tsg->txt_rot_angle);
After the annot txt is created?
It's already there: tsg->txt_rot_angle
and tsg->txt_size
There was a Jenkins job building the docs per commit, but it hasn't yet been updated for git -- so it's only up-to-date as of March. It's at https://brlcad.org/docs/api/
Hi, my name is Yuvraj Aseri. I am interested in contributing to BRL-CAD and learn more about high performance computing and graphics. Can someone help me to get started with BRL-CAD? Also, it will be very helpful if you could point to some good first issues to get started with BRL-CAD.
Yuvraj Aaseri said:
Hi, my name is Yuvraj Aseri. I am interested in contributing to BRL-CAD and learn more about high performance computing and graphics. Can someone help me to get started with BRL-CAD? Also, it will be very helpful if you could point to some good first issues to get started with BRL-CAD.
Hello @Yuvraj Aaseri . You can start with building BRL-CAD source from https://github.com/BRL-CAD/brlcad and for issues https://sourceforge.net/p/brlcad/bugs/?limit=250. Hover around MGED as it will be good way to start https://brlcad.org/w/images/c/cf/Introduction_to_MGED.pdf
Himanshu Sekhar Nayak said:
Yuvraj Aaseri said:
Hi, my name is Yuvraj Aseri. I am interested in contributing to BRL-CAD and learn more about high performance computing and graphics. Can someone help me to get started with BRL-CAD? Also, it will be very helpful if you could point to some good first issues to get started with BRL-CAD.
Hello Yuvraj Aaseri . You can start with building BRL-CAD source from https://github.com/BRL-CAD/brlcad and for issues https://sourceforge.net/p/brlcad/bugs/?limit=250. Hover around MGED as it will be good way to start https://brlcad.org/w/images/c/cf/Introduction_to_MGED.pdf
Thank you for your response
@Daniel Rossberg Enter text label: side 1
Looks like it only taking side as text but not 1 and 1 is going directly to Enter X:
hmm so far I go this. This is not too much but seems okay. Screenshot-19.png
the text label is only accepting string rather than like demo 1
. Idk if it's good way to have numbers in labels?
also while zooming the primitive, I came to know that the text label is invisible while zoom out but when I zoom in the text label appears.
Himanshu Sekhar Nayak said:
also while zooming the primitive, I came to know that the text label is invisible while zoom out but when I zoom in the text label appears.
Weird, can you provide us with the .g file?
Himanshu Sekhar Nayak said:
the text label is only accepting string rather than like
demo 1
. Idk if it's good way to have numbers in labels?
How is is with "demo 1"
?
Daniel Rossberg said:
Himanshu Sekhar Nayak said:
also while zooming the primitive, I came to know that the text label is invisible while zoom out but when I zoom in the text label appears.
Weird, can you provide us with the .g file?
Daniel Rossberg said:
Himanshu Sekhar Nayak said:
the text label is only accepting string rather than like
demo 1
. Idk if it's good way to have numbers in labels?How is is with
"demo 1"
?
Seems like if I give demo 1
for text label the demo
goes to text label and 1
goes to Enter X:
I mean to put the label's text (with spaces) in quotes.
Daniel Rossberg said:
I mean to put the label's text (with spaces) in quotes.
Now it works.
Now it accepts within double quotes.
but zooming out , the label disappears.
This is because of line 1058 in dm-generic.c. The labels don't have a real size in world coordinates.
BTW, what's the bv_scene_obj_hash() function (XXH64) good for?
Daniel Rossberg said:
This is because of line 1058 in dm-generic.c. The labels don't have a real size in world coordinates.
Is it mged/dm-generic.c
or libdm/dm-generic.c
?
libdm
looks like I don't have that? Screenshot-20.png
Okay, there was an update. Line 1026 now.
* Check for this object being bigger than
* dmp->i->dm_bound * the window size, or smaller than a speck.
*/
if (ratio < 0.001)
continue;
}```
The ratio depends on the size of the object in the 3D world space, but an annotation has no size there. (Only the minimal: 2)
sp->s_size
that's why it disappears
Yes, this algorithm thinks that it's too small.
From the user perspective, if the object zooms out the label disappears. Should the label stay there even if it zooms out? May be it should not be there I think.
It should stay there as long as the annotated point is visible.
So while zooming out, the annotated point is not visible due to which the text disappears from the screen.
So the text label should be adaptive to the object I think. So according to the object zoom in and out, the text should also be able to zoom out and in?
No, a label has always the same size on the screen. But, a label should move with the 3D world point it is associated with.
Daniel Rossberg said:
No, a label has always the same size on the screen. But, a label should move with the 3D world point it is associated with.
Since an annotation doesn't have size in 3D space so it disappears. So we should leave it as it is.
Hi All, I am an AI Developer and Undergrad Student at National Institute of Technology, Durgapur India. I would love to contribute to BRL-CAD. Are there opportunities to contribute in the field of AI?
Himanshu Sekhar Nayak said:
Daniel Rossberg said:
No, a label has always the same size on the screen. But, a label should move with the 3D world point it is associated with.
Since an annotation doesn't have size in 3D space so it disappears. So we should leave it as it is.
I've an idea: A flag in bv_scene_obj which signals that it contains elements in display context.
@Daniel Rossberg The XXH64 based hashing functions are what I'm using for the Qt interface to tell whether or not I need to trigger an update cycle after an event. That way I don't have to use the libtclcad-style per-command callout tables to know if any particular command might need to trigger a view refresh - I can just check the before and after hashes of the scene data and trigger if and only if something has changed, regardless of what command changed it.
Thanks for the clarification. I added a new flag to bv_scene_obj to signal a vlist with vertices in display coordinates. In this case, the s_size isn't as reliable as usual and e.g. a label should be drawn regardless. I added this flag to the hash too, similar to s_size.
@Himanshu Sekhar Nayak, you can give it a try with your annot8.g example.
Daniel Rossberg said:
Thanks for the clarification. I added a new flag to bv_scene_obj to signal a vlist with vertices in display coordinates. In this case, the s_size isn't as reliable as usual and e.g. a label should be drawn regardless. I added this flag to the hash too, similar to s_size.
Himanshu Sekhar Nayak, you can give it a try with your annot8.g example.
I will soon review it in coming 2 days. Little bit busy here. As soon I will be free, I will have a look.
@starseeker Screenshot-2021-12-28-195538.png ?
Daniel Rossberg said:
Thanks for the clarification. I added a new flag to bv_scene_obj to signal a vlist with vertices in display coordinates. In this case, the s_size isn't as reliable as usual and e.g. a label should be drawn regardless. I added this flag to the hash too, similar to s_size.
Himanshu Sekhar Nayak, you can give it a try with your annot8.g example.
Yeah now it is working fine. 2021-12-28-20-08-59.mp4
@Daniel Rossberg now what should I do next?
@Himanshu Sekhar Nayak Is there a more detailed error message in the build output?
starseeker said:
Himanshu Sekhar Nayak Is there a more detailed error message in the build output?
I can't find but I got this
3>CUSTOMBUILD : error : Distcheck cannot proceed until build files and repo are in sync (set
3> -DFORCE_DISTCHECK=ON to override)
3>
3>
3>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(241,5): error MSB8066: Custom build for 'C:\Users\Himanshu\Desktop\brlcadBuild\CMakeFiles\20739426ab8cc2d1d6b800e1b27b0e91\distcheck-repo_verify.rule' exited with code 1.
3>Done building project "distcheck-repo_verify.vcxproj" -- FAILED.```
Generally speaking that happens when the build logic is out of sync with the files in the repository. distcheck is normally run only as part of release prep testing, not during normal development, so if you're working on something you can just use the ALL_BUILD target to avoid running the distcheck build.
would re-running cmake "fix" it? (I think I'd advise purging the build dir and recreating to my folk, we've seen some oddness probably due to nfs and massive parallel (128 core build server, ib everywhere))
Erik said:
would re-running cmake "fix" it? (I think I'd advise purging the build dir and recreating to my folk, we've seen some oddness probably due to nfs and massive parallel (128 core build server, ib everywhere))
Yeah now it works. Re-running cmake fix the problem.
starseeker said:
Generally speaking that happens when the build logic is out of sync with the files in the repository. distcheck is normally run only as part of release prep testing, not during normal development, so if you're working on something you can just use the ALL_BUILD target to avoid running the distcheck build.
From next time, I will keep that in mind.
Himanshu Sekhar Nayak said:
Daniel Rossberg now what should I do next?
Create a pull request?
Daniel Rossberg said:
Himanshu Sekhar Nayak said:
Daniel Rossberg now what should I do next?
Create a pull request?
Here is the pr https://github.com/BRL-CAD/brlcad/pull/14. Let me know if anything need to be changed?
@Ayush Anand what did you have in mind?
Himanshu Sekhar Nayak said:
Daniel Rossberg said:
Himanshu Sekhar Nayak said:
Daniel Rossberg now what should I do next?
Create a pull request?
Here is the pr https://github.com/BRL-CAD/brlcad/pull/14. Let me know if anything need to be changed?
You wrote in your PR that you want to make some more tests first, right?
Daniel Rossberg said:
Himanshu Sekhar Nayak said:
Daniel Rossberg said:
Himanshu Sekhar Nayak said:
Daniel Rossberg now what should I do next?
Create a pull request?
Here is the pr https://github.com/BRL-CAD/brlcad/pull/14. Let me know if anything need to be changed?
You wrote in your PR that you want to make some more tests first, right?
Yeah now it's done but I have to do force push as I have accidentally merged all the previous commits of main.
@Himanshu Sekhar Nayak I reviewed and responded. Question on that screenshot…
anyone getting build errors Cannot open include file: 'tcl.h': No such file or directory
in the latest commit?
Build: 616 succeeded, 391 failed, 0 up-to-date, 0 skipped
Himanshu Sekhar Nayak said:
anyone getting build errors
Cannot open include file: 'tcl.h': No such file or directory
in the latest commit?
My bad, I have changed something in the path variable so it throws me errors. Now works fine.
@Daniel Rossberg thanks! Will do it.
@starseeker
1004>C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(242,5): error MSB8066: Custom build for 'C:\Users\Himanshu\Desktop\build\CMakeFiles\c3fa403aa1b0d6e3393fbfccb1ed7cc8\NIST_MBE_PMI_6.g.rule;C:\Users\Himanshu\Desktop\build\CMakeFiles\dacc8aa86a6192f9ca7b9d56f8fbbf5b\NIST_MBE_PMI_6.g.rule' exited with code -1073741515.
1004>Done building project "NIST_MBE_PMI_6.g.vcxproj" -- FAILED.
1005>C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(242,5): error MSB8066: Custom build for 'C:\Users\Himanshu\Desktop\build\CMakeFiles\c3fa403aa1b0d6e3393fbfccb1ed7cc8\NIST_MBE_PMI_5.g.rule;C:\Users\Himanshu\Desktop\build\CMakeFiles\dacc8aa86a6192f9ca7b9d56f8fbbf5b\NIST_MBE_PMI_5.g.rule' exited with code -1073741515.
1005>Done building project "NIST_MBE_PMI_5.g.vcxproj" -- FAILED.
1010>Generating ../../Debug/share/db/nist/NIST_MBE_PMI_1.g
1010>C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(242,5): error MSB8066: Custom build for 'C:\Users\Himanshu\Desktop\build\CMakeFiles\c3fa403aa1b0d6e3393fbfccb1ed7cc8\NIST_MBE_PMI_1.g.rule;C:\Users\Himanshu\Desktop\build\CMakeFiles\dacc8aa86a6192f9ca7b9d56f8fbbf5b\NIST_MBE_PMI_1.g.rule' exited with code -1073741515.
1010>Done building project "NIST_MBE_PMI_1.g.vcxproj" -- FAILED.
1006>Generating ../../Debug/share/db/nist/NIST_MBE_PMI_4.g
1006>C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(242,5): error MSB8066: Custom build for 'C:\Users\Himanshu\Desktop\build\CMakeFiles\c3fa403aa1b0d6e3393fbfccb1ed7cc8\NIST_MBE_PMI_4.g.rule;C:\Users\Himanshu\Desktop\build\CMakeFiles\dacc8aa86a6192f9ca7b9d56f8fbbf5b\NIST_MBE_PMI_4.g.rule' exited with code -1073741515.
1006>Done building project "NIST_MBE_PMI_4.g.vcxproj" -- FAILED.
1007>Generating ../../Debug/share/db/nist/NIST_MBE_PMI_3.g
1008>Generating ../../Debug/share/db/nist/NIST_MBE_PMI_2.g
1008>C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(242,5): error MSB8066: Custom build for 'C:\Users\Himanshu\Desktop\build\CMakeFiles\c3fa403aa1b0d6e3393fbfccb1ed7cc8\NIST_MBE_PMI_2.g.rule;C:\Users\Himanshu\Desktop\build\CMakeFiles\dacc8aa86a6192f9ca7b9d56f8fbbf5b\NIST_MBE_PMI_2.g.rule' exited with code -1073741515.
1008>Done building project "NIST_MBE_PMI_2.g.vcxproj" -- FAILED.
1009>Generating ../../Debug/share/db/nist/NIST_MBE_PMI_11.g
1009>C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(242,5): error MSB8066: Custom build for 'C:\Users\Himanshu\Desktop\build\CMakeFiles\c3fa403aa1b0d6e3393fbfccb1ed7cc8\NIST_MBE_PMI_11.g.rule;C:\Users\Himanshu\Desktop\build\CMakeFiles\dacc8aa86a6192f9ca7b9d56f8fbbf5b\NIST_MBE_PMI_11.g.rule' exited with code -1073741515.
1009>Done building project "NIST_MBE_PMI_11.g.vcxproj" -- FAILED.
1007>C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(242,5): error MSB8066: Custom build for 'C:\Users\Himanshu\Desktop\build\CMakeFiles\c3fa403aa1b0d6e3393fbfccb1ed7cc8\NIST_MBE_PMI_3.g.rule;C:\Users\Himanshu\Desktop\build\CMakeFiles\dacc8aa86a6192f9ca7b9d56f8fbbf5b\NIST_MBE_PMI_3.g.rule' exited with code -1073741515.
1007>Done building project "NIST_MBE_PMI_3.g.vcxproj" -- FAILED.
OK, that's the step-g convertor failing to run. That either means it didn't build successfully or its not running successfully. Check if the step-g build target succeeds.
starseeker said:
OK, that's the step-g convertor failing to run. That either means it didn't build successfully or its not running successfully. Check if the step-g build target succeeds.
It succeeds.
499> Creating library C:/Users/Himanshu/Desktop/build/Debug/lib/step-g.lib and object C:/Users/Himanshu/Desktop/build/Debug/lib/step-g.exp
499>step-g.vcxproj -> C:\Users\Himanshu\Desktop\build\Debug\bin\step-g.exe
499>Done building project "step-g.vcxproj".
What failed first -
72> Creating library C:/Users/Himanshu/Desktop/build/Debug/lib/libbu.lib and object C:/Users/Himanshu/Desktop/build/Debug/lib/libbu.exp
72>clang_rt.fuzzer_MDd-x86_64.lib(FuzzerMain.cpp.obj) : error LNK2019: unresolved external symbol LLVMFuzzerTestOneInput referenced in function main
72>C:\Users\Himanshu\Desktop\build\Debug\bin\libbu.dll : fatal error LNK1120: 1 unresolved externals
72>Done building project "libbu.vcxproj" -- FAILED.
@Himanshu Sekhar Nayak can you provide your CMakeCache.txt file? It's turned on fuzzing and it probably shouldn't have unless you're compiling with llvm on windows...
Sean said:
Himanshu Sekhar Nayak can you provide your CMakeCache.txt file? It's turned on fuzzing and it probably shouldn't have unless you're compiling with llvm on windows...
Sean said:
Himanshu Sekhar Nayak can you provide your CMakeCache.txt file? It's turned on fuzzing and it probably shouldn't have unless you're compiling with llvm on windows...
I don't have llvm installed in window, only msvc.
(deleted)
@Himanshu Sekhar Nayak the issue was fixed if you git pull to get updates
Sad part here is my new laptop gone for RMA. I will check it soon once I get it back.
@Sean Is this the right page to see project ideas? https://brlcad.org/wiki/Google_Summer_of_Code/Project_Ideas
@Himanshu Sekhar Nayak I mean that's a fine page to get an idea, but it's a little out-of-date (some of those projects are complete). We've not yet finished publishing our list of ideas for this year, but this is where they'll go https://opencax.github.io
Any previous GSoC effort is always a priority in my eye -- getting something that was worked on even more polished or better integrated, or simply completed... We have 10 years of partial integrations that weren't followed-through on, so any of them are fair game and can be found year-by-year at https://brlcad.org/wiki/Google_Summer_of_Code
Here's a nice article on the Linux kernel's use of linked lists... and they're basically describing LIBBU's linked lists too: https://lwn.net/SubscriberLink/885941/01fdc39df2ecc25f/
Well, I don't like macros :neutral:
I'm not claiming it's good or bad -- just amused me that it's almost exactly the same construct, same design, almost identical iterators (they use byteoffset's so the linked list can be anywhere in the struct, brl-cad uses aliasing)
I am trying to build brlcad in WSL but got some errors during build and it shows something related to ....
[ 4%] Creating directories for 'PNG_BLD'
[ 4%] No download step for 'PNG_BLD'
[ 4%] No patch step for 'PNG_BLD'
[ 4%] No update step for 'PNG_BLD'
[ 4%] Performing configure step for 'PNG_BLD'
-- PNG_BLD configure command succeeded. See also /mnt/c/Users/Himanshu/Desktop/LINUX/brlcad/build/src/other/ext/PNG_BLD-prefix/src/PNG_BLD-stamp/PNG_BLD-configure-*.log
[ 4%] Performing build step for 'PNG_BLD'
CMake Error at /mnt/c/Users/Himanshu/Desktop/LINUX/brlcad/build/src/other/ext/PNG_BLD-prefix/src/PNG_BLD-stamp/PNG_BLD-build-Release.cmake:37 (message):
Command failed: 2
'make'
See also
/mnt/c/Users/Himanshu/Desktop/LINUX/brlcad/build/src/other/ext/PNG_BLD-prefix/src/PNG_BLD-stamp/PNG_BLD-build-*.log
-- stdout output is:
Scanning dependencies of target genfiles
[ 1%] Generating pnglibconf.c
options.awk: bad line (10): com
-- stderr output is:
CMake Error at scripts/gensrc.cmake:68 (message):
Failed to generate pnglibconf.tf5
make[5]: *** [CMakeFiles/genfiles.dir/build.make:85: pnglibconf.c] Error 1
make[4]: *** [CMakeFiles/Makefile2:218: CMakeFiles/genfiles.dir/all] Error 2
make[3]: *** [Makefile:141: all] Error 2
CMake Error at /mnt/c/Users/Himanshu/Desktop/LINUX/brlcad/build/src/other/ext/PNG_BLD-prefix/src/PNG_BLD-stamp/PNG_BLD-build-Release.cmake:47 (message):
Stopping after outputting logs.
make[2]: *** [src/other/ext/CMakeFiles/PNG_BLD.dir/build.make:113: src/other/ext/PNG_BLD-prefix/src/PNG_BLD-stamp/PNG_BLD-build] Error 1
make[1]: *** [CMakeFiles/Makefile2:14466: src/other/ext/CMakeFiles/PNG_BLD.dir/all] Error 2
make: *** [Makefile:163: all] Error 2```
Is it due to WIndows using CRLF and it needs to convert into LF?
Yeah, I saw some others that ran into that issue. It's because you checked out the repo with the Git for Window GUI, which made options.awk have Windows line endings. They need to be unix line endings for it to work in WSL.
Alas, I think the only solution for that is to force it's eol encoding on export using .gitattributes
sigh
hm, maybe not the only solution, but definitely the path with least maintenance overhead (maybe, probably?).
given the error is in a 3rd party, I'm not digging the tar method .. though might be able to use another method
build failing for rt^3 in WSL 2? @Daniel Rossberg output.log
After an update of rt-cubed the vlist issues should be gone.
I saw the commit now. It's just complaining about not finding it, since it has been changed bv_list
.
https://github.com/BRL-CAD/brlcad/commit/fb7a5a80261d33b7dc4d53c7a1b7d04a5265e2c9 doesn't seem to be wise: It links the static libraries with shared libraries. If somebody want's however to use librt-static, they probably wants to get the static versions of libbu, libbn, etc. too.
On the other hand, linking with static libraries here would probably lead to multiple copies of the lower libraries (libbu, libbn) in the final binary. I.e., I think the old function without target_link_libraries wasn't so bad.
Himanshu Sekhar Nayak said:
I saw the commit now. It's just complaining about not finding it, since it has been changed
bv_list
.
Does it build now?
Daniel Rossberg said:
Himanshu Sekhar Nayak said:
I saw the commit now. It's just complaining about not finding it, since it has been changed
bv_list
.Does it build now?
Yes and I finally built it. Here is the output. Screenshot-1.png
Hmm....... that one is wrong one. But here is the final result. Screenshot-2.png
I think, this is how it looks like.
Daniel Rossberg said:
https://github.com/BRL-CAD/brlcad/commit/fb7a5a80261d33b7dc4d53c7a1b7d04a5265e2c9 doesn't seem to be wise: It links the static libraries with shared libraries. If somebody want's however to use librt-static, they probably wants to get the static versions of libbu, libbn, etc. too.
@starseeker did you see this?
@Daniel Rossberg @Sean I'll see if I can come up with an alternative solution for the specific case that prompted that. Be aware that if CMake find_package packages create imported targets carrying information needed by other static targets, the old logic will fail in those cases as well.
@Daniel Rossberg @Sean upon inspection the original motivation for adding that is OBE anyway - removed.
We are selected https://summerofcode.withgoogle.com/programs/2022/organizations/brl-cad :tada:
Thanks @starseeker, I'll check if the brlcad.dll builds now (and I need to update MOOSE too).
BTW, there is a bootstrap lib in misc/win32-msvc which can't be build (because there is no BRLCAD_ROOT anymore). However, I suppose that this library can be removed.
@Sean RELEASE is probably worth testing on your Mac now - I think we're zeroing in. It's majority your commits, but if you can check mine quick for any not already reviewed I'd appreciate it.
rogerwilco .. testing it now. As for commits, think I reviewed all yours, but I'll double-check.
Pushed a correction for docs file locations for Archer.
RELEASE compile worked, albeit opengl-non-functional
helllo
hows it going for everyone?
i am back after about an year of break due to studies
happy st pattys day!
Where can I find again castle.g file because I accidentally killed it while testing?
Simple method: Reinstall BRL-CAD (rebuild the INSTALL project in Visual Studio).
Otherwise, you can find a copy in your build directory (with Linux and gcc it's share/db).
@Himanshu Sekhar Nayak you can also generate it yourself by running asc2g castle.asc newcastle.g
( if you're on windows and go to your build dir, you can run something like: Debug/bin/asc2g.exe ../db/castle.asc newcastle.g )
@Sean As far as a db_tops() goes, I think you might be able to get what you want with the db_ls function and the DB_LS_TOPS flag?
Yeah, that's right -- thanks, I'd forgotten about db _ls() but you're right. Does it return a set of internals?
An array of struct directory pointers. I think I goofed a bit actually, looking at it again - the dpv parameter should be the first one as the returning param.
Not quite sure how to fix that... - deprecate the current signature and add a temporary db_ls2 with the right ordering to use until we can switch?
I think it’s probably fine. They’re properly marked const so it’s at least more clear than other places that it’s using inputs -> output.
dpv is not a context pointer being filled in too, so it’s not a big inconsistency. If we have to or want to fix it, could reorder on a future minor or could introduce a new name like db_list() but it’s fine I think.
@starseeker reviewing all the commits around the comb instance tracking (db_tree.cpp, db_recurse2 and friends) and am wondering about performance implications. seems like they could be significant, wondering if you checked. if I'm reading it right, looks like you've introduced memory allocations (syscalls) where they previously didn't exist. not something we'd likely see on test models, but could be an issue on the biggest with tens/hundreds of thousands of objects. Back of envelope, the new allocs could be making it about an order slower. probably won't matter if it's 0.01s to 0.1s or 0.1s going to 1s, ... but could be making 10s go to 100s, or 2 min to 20 min, etc as the models get really big.
probably warrants a quick check test on something big to see if there's a noticeable time or memory usage difference (looks like an additional alloc of all names).
that said, could be wrong and there may be some allocations hiding in there so really just needs to be a quick sanity check to make sure it's not detrimental unless you already checked
I need to recompile as I'm apple to orange build config wise, but ran a quick test with a script that creates just 1024 objects using head (debug) vs 7.26 (release), and got 4min vs 40s. didn't check, but the slowdown may be non-linear (my fans seemed to indicate so).
here's the script if you want to check on your end: sizetest.sh
Confirmed - seeing really bad performance behavior, although I don't have time right now to try and run it down. That's Not Good - some sort of instance tracking appears to be absolutely necessary for the interface to handle otherwise ambiguous comb tree instance specifiers correctly.
I'll have to see if I can figure out where the hot spots are and what an alternative might be...
Well that's... odd. When I slap perf on an mged call, the hotspot appears to be wai_getModulePath's bu_fgets call
I'll have to dig more later, got to run...
We should/could just design in proper instance tracking instead of relying on the user data pointer..
That said, it’s also possible libged loading is killing the invocation overhead and the performance drop is bigger than whatever instance changes were made. Might have to test it differently. I can play with that tonight.
@Sean I'm game to have a discussion, but I'll freely confess I don't have a "it should be designed like this" layout in my head for instance tracking.
Yeah, the wai_getModulePath call is hugely dominant. If I make it a fallback only if the exec based method fails, here's what I'm seeing:
7.32.6: 1m7.908s
main: 1m16.020s
It’s basically the same idea as the regionId for shootray, but applied to general tree walking and any object. I think you have the right idea, it’s just needing to be baked in at a lower level. Open nurbs has it with their oids, Appleseed, embree, and other codes use automatic ints. I’ve seen some apis use a hash. Dirbuild is what jumps out in my mind, something calculated on the fly and attached to the instance so there’s a numeric handle that can be leveraged . Would avoid the double alloc of all names.
Yeah, that’s interesting timings… those both suck!
Worst case implication is 0.1s to 8s; best case is probably 2s-4s.. hard to tell without subtracting mged’s startup overhead variablility
I’ll set up a better test here in a bit
Instrumenting both object creation and the g command, the libged init dominates even with the wai_getModulePath out of the picture - looks like it's a combination of the exec lookup and the dl loading logic.
Yeah, it’s muddying the waters because of how the script is set up
Well that's annoying - I must not have conditionalized the instance tracking quite right. It should be off unless the application specifically sets the variable that activates it...
The idea was for it to be off (and therefore of no consequence) unless the app specifically enabled it, so only qged (which right now is the only one that truly needs it) would be hit by any issues.
I noticed the ges dll slowdown separately a long while back. I have a fix, but there’s another patch in front of it and that’s deferred to after release
Or it is off and this is just init variability
Easy enough to test
Or some other change all together... few commits between 7.32.6 and main :-/
Seems unlikely but yeah maybe
It really could just be the init overhead; let me change the test… will be more informative
@starseeker gdal build is failing because there's apparently no test for std::isnan, so HAVE_STD_IS_NAN isn't set.
That causes gdal/port/cpl_port.h's fallback logic to assume glibc, which then fails the build because it's not a glibc environment. It looks like you supplied the build?
@Sean Yes, I wrote a CMake build for GDAL. I'll see if I can add a test for std::isnan, although I don't think I have ready access to a platform where I would expect that test to fail...
I see upstream has a CMakeLists.txt file now... will have to see what it would take to use a vanilla GDAL at some point. Last time I looked, it requires adding (IIRC) several dependencies that our copy doesn't require, because I disabled the plugins that needed them (which the vanilla GDAL sources couldn't do out of the box.)
https://gdal.org/build_hints.html sounds promising
Another post 7.34.0 project
If that build hints page has it right, we might be able to get a minimal experience out of the box. Will have to upgrade proj at the same time, but my recollection was that wasn't as hard to handle as GDAL... ancient history now of course, but hopefully still true.
@Sean see if e2871753ed does the trick
btw, it looks like the ttcp.c changes didn't agree with the Jenkins builder
almost did, but was always setting the flag which then broke on non-linux linker system. I wrapped it in the same flag so config gets set.
Hello Developers!
I am Ankita Sahoo. Currently, I am pursuing masters in computer application at Utkal University, India. I have been programming in C++ since my bachelor's and also have good knowledge of Data structure and algorithms.
I am new to open-source and have not had the opportunity to work on any real-world project and I am interested in contributing to BRL-CAD. Can anyone help me out with how to get started with BRL-CAD? It will be very helpful if anyone could point out how to begin that can help me better understand this organization.
BTW @Himanshu Sekhar Nayak of our university recommended me for BRL-CAD.
Hi @Ankita Sahoo, welcome at the BRL-CAD project!
To get started, you should install the BRL-CAD programs. You can find the necessary installation packages at https://sourceforge.net/projects/brlcad/files/ This will install over 200 programs. Most of them are small command line tools. The most interesting for you are our old but still heavily used GUI mged and the more modern GUI archer. Go through the mged tutorial https://brlcad.org/w/images/c/cf/Introduction_to_MGED.pdf.
Gain an overview of the existing documentation at https://brlcad.org/wiki/Main_Page.
To start with programming download the source code from https://github.com/BRL-CAD/brlcad and compile and install the programs (https://brlcad.org/wiki/Compiling). You can use https://brlcad.org/wiki/Deuces as a starter for small programming tasks. Another good reference for high priority tasks is our GSoC idea page https://github.com/opencax/GSoC/issues?q=is%3Aopen+sort%3Aupdated-desc+label%3A%22GSoC+2022%22+label%3A%22Project%3A+BRL-CAD%22.
If you have a question, don't hesitate to ask. The conversation here may be a bit slow, but don't be discouraged. Remember that the people here are living in different time zones.
Daniel Rossberg said:
Hi Ankita Sahoo, welcome at the BRL-CAD project!
To get started, you should install the BRL-CAD programs. You can find the necessary installation packages at https://sourceforge.net/projects/brlcad/files/ This will install over 200 programs. Most of them are small command line tools. The most interesting for you are our old but still heavily used GUI mged and the more modern GUI archer. Go through the mged tutorial https://brlcad.org/w/images/c/cf/Introduction_to_MGED.pdf.
Gain an overview of the existing documentation at https://brlcad.org/wiki/Main_Page.
To start with programming download the source code from https://github.com/BRL-CAD/brlcad and compile and install the programs (https://brlcad.org/wiki/Compiling). You can use https://brlcad.org/wiki/Deuces as a starter for small programming tasks. Another good reference for high priority tasks is our GSoC idea page https://github.com/opencax/GSoC/issues?q=is%3Aopen+sort%3Aupdated-desc+label%3A%22GSoC+2022%22+label%3A%22Project%3A+BRL-CAD%22.
If you have a question, don't hesitate to ask. The conversation here may be a bit slow, but don't be discouraged. Remember that the people here are living in different time zones.
Thanks for the response
Welcome @Ankita Sahoo ! Feel free to ask questions if you need any help and glad to have you here.
Welcome @Ankita Sahoo to our organization. :sunglasses:
Hello! @Sean @Daniel Rossberg @Himanshu Sekhar Nayak
Successfully built and installed mged
Screenshot.png
Very nice! The next step would be to go through the tutorial and learn about the program.
Welcome and congrats @Ankita Sahoo ! Please do feel free to ask questions as you have them. If you need some pointers on tutorials, we have several you can start with.
<grin> Apparently we were ahead of our time: https://www.atlassian.com/continuous-delivery/continuous-integration/trunk-based-development
I have created a BVH but it takes too much time for the GPU to render. Is there any way to transfer BVH into the GPU in one moment not by traversing the node by node? Is it possible?
@Himanshu Sekhar Nayak anything is possible, but in generally you really want to minimize the number of times you switch from cpu to gpu and back. For the situation you describe, it might help to traverse some level of the BVH on the CPU, but then do the bottom halves on the GPU.
To those of you, who are interested in Google Summer of Code: Be sure to subscribe to the #Google Summer of Code stream. Please make yourself familiar with Zulip. E.g., if you hover over a stream name and hit the three points on the right, you can click "Stream settings" there. Now, you can see the streams you have subscribed and the ones you have not yet.
Why we always need to mention BRLCAD_VERSION
while building rt-cubed
? Is not it suppose to know itself? @Daniel Rossberg @Sean
I never set it, but then I ran into different errors that I fixed by modifying the CMakeLists.txt file
There's probably some room for improvement there where it's extracted from FindBRLCAD but can be overridden
Rendered a sphere using ray marching in shadertoy.
Awesome @Himanshu Sekhar Nayak ! Would be interesting to see if you could recreate the same orbital camera setup (with some scripting) using the 'art' appleseed renderer in BRL-CAD, especially with similar lighting.
vec3 lightPos = vec3(0, 5, 6);
lightPos.xz += vec2(sin(iTime), cos(iTime))*2.;
Here is my light pos and the rotation of light. I am exploring more and more, implementing and wow :smiley:. I am actually working on creating a differentiable renderer and writing with Dr.Jit.
Himanshu Sekhar Nayak said:
Why we always need to mention
BRLCAD_VERSION
while buildingrt-cubed
? Is not it suppose to know itself? Daniel Rossberg Sean
rt-cubed is not the BRL-CAD core. Therefore, it somehow has to ask the BRL-CAD core about its set-up. For systems with /bin/sh (Linux, UNIX, ...), there is the brlcad-config script. If for such a system the bin directory of the BRL-CAD installation in contained in the PATH variable, there is nothing to set in CMake. If not...
@Himanshu Sekhar Nayak That's really interesting. I know Mitsuba pretty well but had not heard of Dr. Jit. Looks like it's a deferred evaluation graph that underpins Mitsuba. It would be really interesting to see if Dr. Jit could be applied to some area of BRL-CAD, whether ray tracing or some other area..
You could animate a light in BRL-CAD with very similar code (though not as simple as +=, it'd probably be a couple lines to translate it to the new position.
Daniel Rossberg said:
rt-cubed is not the BRL-CAD core. Therefore, it somehow has to ask the BRL-CAD core about its set-up. For systems with /bin/sh (Linux, UNIX, ...), there is the brlcad-config script. If for such a system the bin directory of the BRL-CAD installation in contained in the PATH variable, there is nothing to set in CMake. If not...
Definitely sounds like an area that could be improved in the FindBRLCAD.cmake logic. In addition to brlcad-config runtime script (which could be made into a prog for portability), the version number could be extracted from the installed brlcad_config.h header or from libbu directly. Really should just have a typical single variable for the BRLCAD_Root and everything is determined from that.
FWIW - the most recent work I did with the FindBRLCAD.cmake is here: https://github.com/BRL-CAD/geomcore/blob/main/CMake/FindBRLCAD.cmake
I don't know that it addresses any of the issues under discussion, but it does make an attempt to define imported CMake targets.
Sean said:
Himanshu Sekhar Nayak That's really interesting. I know Mitsuba pretty well but had not heard of Dr. Jit. Looks like it's a deferred evaluation graph that underpins Mitsuba. It would be really interesting to see if Dr. Jit could be applied to some area of BRL-CAD, whether ray tracing or some other area..
You could animate a light in BRL-CAD with very similar code (though not as simple as +=, it'd probably be a couple lines to translate it to the new position.
Where should I look?
There's several different ways to get that effect. You can either just rotate the camera, which is simply running rt with the -a azimuth option in a loop, or you can manually move the light like you were doing. To do the latter, you'd probably want a script. You'd back up your database, but then something like this would modify the geometry one time step:
proc rotateObj { obj iTime } {
# get translation keypoint, take last entry
set kp [lrange [split [search /$obj] "\n"] end-1 end-1]
# enter edit mode
oed / $kp
# translate the object
tra [expr sin($iTime)] [expr cos($iTime)] 0
# write the change(s) to disk
accept
}
then you'd issue something like this to load the script and render your frames:
set glob_compat_mode 0
source myscript.tcl
for {set angle 0} {$angle < 360} {incr angle 30} {
rotateObj mylight.r [expr $angle / 360.0] # rotate the light
rt -o "frame[expr $angle / 30].png" # render to file
}
Note that in this particular instance, it's far far simpler to just move the camera as that specific scene is indistinguishable. To do that, it's simply a shell or tcl script that rotates through the desired azimuths:
for az in `seq 0 30 359` ; do
out="`printf frame_%03d.png $az`"
rt -a $az -e 25 -s 256 -R -o $out file.g myscene > /dev/null 2>&1
done
# use imagemagick to convert to animated gif
convert frame_*.png animation.gif
As you can see, the scripting is pretty trivial... Constructing a scene like that using BRL-CAD entities and shader settings so that 'rt' or 'art' can render it are where it gets a bit interesting..
@Sean So this is written in Tcl? Don't know about it. Currently my goal is given in internship is to learn Signed Distance Function by building a differentiable renderer with support for the camera, lights, scene geometry, and BRDFs and also learn neural network representation of SDF by rendering.
mged (BRL-CAD's main production GUI) is a Tcl shell environment, so it can be scripted. All the modeling commands you learned when you first ran it actually run through the tcl interpreter (and bind through to C/C++ code in src/libged where all the geometry modeling commands are implemented)
Tcl's a pretty simple language, but also wasn't the point ... that was just an example how to do that animated rotation you were showing
the second example I showed you was how to get the same effect using a plain shell script
Sean said:
mged (BRL-CAD's main production GUI) is a Tcl shell environment, so it can be scripted. All the modeling commands you learned when you first ran it actually run through the tcl interpreter (and bind through to C/C++ code in src/libged where all the geometry modeling commands are implemented)
Never knew about that mged is actually a Tcl shell environment.
Yeah, Tcl is actually pretty powerful and useful imho... it's Tk that's a bit of a pain in the ass, hence the desire to move the GUI to Qt. We'll retain Tcl for some things, just not Tk.
Sean said:
Yeah, Tcl is actually pretty powerful and useful imho... it's Tk that's a bit of a pain in the ass, hence the desire to move the GUI to Qt. We'll retain Tcl for some things, just not Tk.
C++ based toolkits lack the simplicity and power of Tk. Is that so? Mentioned in tcl doc. So Tk is a cross-platform widget toolkit used for building GUI in many languages.
And Tk created to be a GUI toolkit for Tcl.
@Himanshu Sekhar Nayak Tk has some advantages when it comes to creating bindings to it in other languages, and is perhaps the most liberally licensed of the desktop GUI toolkit frameworks. It also lends itself fairly well to interactive, scripted interface creation (as opposed to needing the compile/run cycle of C++.) That has resulted in a lot of its footprint in the development community being in those niches - it's not too unusual for the first hits on a Tk interface question search to be returned in something like the Python bindings for Tk, not Tcl or C.
When you move beyond "scripted" interactive GUI development, however, the Qt C++ toolkit is quite powerful, having a number of significant "built-in" features Tk does not. There are also considerations not related directly to toolkit feature sets - my two main issues with trying to apply Tk for "large scale" desktop application development are 1) it doesn't keep up very well with "modern" user interface styling (the development community using it doesn't have a strong need to do so, unlike Qt's community) and 2) any non-trivial graphical interfaces implemented in Tk are rather difficult to test and debug. I've found GDB and/or LLDB to be invaluable in my own user interface work the last few years, and the Tcl/Tk environment doesn't really have an equivalent. Nor is it possible to use all the Tk features from C without involving Tcl.
In a broader sense, the push to migrate from Tk to Qt also serves to illustrate another important design principle we are striving for - to move as much as possible of our non-toolkit-specific logic into libraries that are tookit agnostic. After considerable effort over many years we have now managed to decouple our core libraries up through the libged layer from Tcl/Tk. That means any logic we migrate down to those lower levels is available to be reused by ANY interface communicating with our libraries - be it Tcl/Tk, Java, Qt, FLTK, etc. That way, in another twenty years when we may very well have to migrate from Qt to some other solution, we minimize the amount of rewriting we will have to execute. We cannot afford to remain completely aloof from the ebbs and flows of community focus when it comes to interface layers - we lack the resources to maintain our own solution to the general problem of cross-platform desktop GUI frameworks, nor is such development our purpose as a project. However, the more we minimize our own logic's entanglement with any particular framework, the easier, faster, and cheaper those migrations become.
greetings! I have most of the information for the proposal ready is there any specific format that I need to adhere to?
Thanks @starseeker for a general overview. Got to know well. :grinning:
Abhiram said:
greetings! I have most of the information for the proposal ready is there any specific format that I need to adhere to?
Hello @Abhiram there is not a specific format, and that is an opportunity for you to demonstrate how well you can organize and communicate your thoughts on the project proposal (as opposed to us dictating a particular template). If you would like examples of what to include, nearly every past accepted proposal is available on our wiki through the year links at https://brlcad.org/wiki/Google_Summer_of_Code
Hello
@starseeker just in case you also didn't know (I didn't), Git for Windows has patch.exe ... Not thinking that changes any thing, but food for thought.
@starseeker have you seen this: https://github.com/petervas/bsdifflib ?
I didn't spot the patch.exe, actually - good catch. Agree it doesn't change anything, as we still want the tarball to be buildable without git, but good to know
bsdifflib I don't think I knew about (thanks!). I think the binary diffing capability itself sounds familiar from I was investigating options for calculating diffs for version control for meshes... I didn't think of it for current purposes because I figured we would want something that was focused on unified text diff patches, but it may be an option if we adjust the patch creation workflow away from that.
Here's some procedural geometry I was toying with -- torus rotated through space creating another toroidal entity: Screenshot-2023-03-24-at-4.24.07-AM.png Screenshot-2023-03-24-at-4.09.47-AM.png
They actually seem to tessellate just fine so I just might try to 3D print them..
@Sean Physically based rendering materials are there in our mged?
Just curious to know.
Found this one https://www.pbrt.org/
I am just curious how games are able to ray trace and with 60 FPS. I rendered a cornell box and it took too much time to ray trace even it is a one frame. Yes, it is unoptimized code but how graphics devs are able to achieve more than 60 FPS even they are using rasterization?
Are they using some trick inside rasterize so that it will show us like ray trace?
Most games don’t use ray tracing, they rasterize in hardware on the GPU and that’s where they get their performance. That said real time ray tracing is possible with many models, especially if they are triangles or simple solids. There are lots of issues involved to make it interactive like ray bundling, cache coherency, vectorization, etc
Hmm interesting and cyberpunk 2077 ray tracing looks awesome.
Rasterization is a completely different method so it’s not really helpful to directly compare with ray tracing. A lot that you get for free with ray tracing has to be faked with raster, and the more real you try to make it the slower it will be. Ray tracing also wins as the model begins to exceed the amount of available gpu memory.
I worked on real time ray tracing using librt and ospray a couple years ago and pretty much all of our models were 5-500 fps with most sitting abound 100fps. Which is to show the boost that’s given through bundling and coherency. It’s pretty amazing actually and something I’m hoping to integrate into the GUI eventually.
Here’s an example of it in action albeit with ambient occlusion turned on and at a ridiculously large resolution: https://www.facebook.com/brlcad/photos/pb.100064619476769.-2207520000./10155240309078873/?type=3
So in rasterization there are no rays, only we have to project the triangles right?
So what nvidia is showcasing about ray tracing is all about how real you can make in rasterization in games. Even the light bounces looks real in rasterize.
I could be wrong, but I had the impression nvidia was working on GPU accelerated raytracing technologies for games. As Sean mentioned real time raytracing can be done with the right hardware and careful design, but since the predominate technique in most technology stacks is rasterization it's usually not a "flip of the switch" to make a good realtime raytracing game (i.e. it's expensive.)
Personally GPUs are of limited interest to me at this stage of our development - what Sean's already demonstrated is quite impressive and doesn't rely on GPU acceleration, so there's no particular incentive to invest more effort in hardware-specific efforts yet when we can get such a big (and across the board) win from that. The key right now is to get our graphical interface stack to a point where it's practical for us to integrate and maintain features like that fast realtime raytracing capability.
Sorry that wasn't to suggest there aren't games using ray tracing -- there absolutely are and have been a handful for over 10 years now. Nvidia has ray tracing in hardware (RTX) and is working to mainstream it as it greatly simplifies coding for game developers if they don't have to resort to rasterization techniques to get things like reflections, subsurface scattering, caustics, multiple lights, etc. That's all quite a pile of hacks to do in opengl, but is very simple in ray tracing. So yes, some games definitely are taking advantage of it.
If you're interested in GPGPU ray tracing, we've had others work on that in the past with decent albeit unfinished progress:
https://brlcad.org/wiki/User:Vasco.costa/GSoC15/logs
https://brlcad.org/wiki/User:Marco-domingues/GSoC17/Log
Two others attempted, but didn't make as great progress. Marco (2017), however, did his PhD thesis on GPGPU ray tracing using BRL-CAD and made even more progress. The results showed considerable potential, making things like havoc go from 5fps to 200fps at a given resolution.
Hmm then what I wrote code using taichi
to ray trace object inside a cornell box is a kind of GPGPU raytracing.
Probably. My understanding, taichi is a framework that compiles it's jit kernels into cuda or vulkan, and can use gpu or cpu for processing. You did ray tracing in a weekend? Peter Shirley's book is really awesome, and good.
Sean said:
Probably. My understanding, taichi is a framework that compiles it's jit kernels into cuda or vulkan, and can use gpu or cpu for processing. You did ray tracing in a weekend? Peter Shirley's book is really awesome, and good.
Yeah I followed ray tracing in a weekend series. Out of 3, I covered 2 books. Its great that so much of information is compiled in an overview.
Peter is a really good teacher. He's given tutorials at siggraph for years.
You know him like met him personally? :open_mouth:
Hello, how can I contribute for GSoC?
Himanshu Sekhar Nayak said:
You know him like met him personally? :open_mouth:
Oh yeah, we've talked a number of times over the years 1-on-1, and I've attended his talks at least a half dozen times, probably more. That's what conferences are for. :)
Vagabond said:
Hello, how can I contribute for GSoC?
Hello @Vagabond and welcome. See https://brlcad.zulipchat.com/#narrow/stream/111975-Google-Summer-of-Code/topic/general/near/339394535 for helpful suggestions on getting started.
Thank you. I hadn't used Zulip chat before, and it's still difficult to navigate around.
Abhiram said:
Hi! a general question, In the proposal should i mention BRL-CAD as the organisation that I am applying to or can I directly mention Appleseed
You can directly mention appleseed.
Currently I saw a video from Cppcon where they are showcasing dat oriented programming vs object oriented programming. Didn't knew that data oriented can help in some areas to make even more faster.
Himanshu Sekhar Nayak said:
Currently I saw a video from Cppcon where they are showcasing dat oriented programming vs object oriented programming. Didn't knew that data oriented can help in some areas to make even more faster.
Yes, standard class hierarchy constructions one is taught in OOP (not always but) often leads to a lot of pointer chasing and data stalls due to non-locality. Data-oriented programming aims to specifically code for locality as a primary concern and structure your classes and data structures around that instead, which can lead to vastly different performance characteristics (2+ orders of magnitude faster when done well). Of course devil is very much in the details and nothing really happens without profiling.
@Sean @Daniel Rossberg how BRL-CAD use to track in old days like about 39 years ago? I saw a commit which shows 39 years ago. https://github.com/BRL-CAD/brlcad/commit/2686445fedcfeadcbc8a2960fd8690f2d0ccbf47
@Himanshu Sekhar Nayak before git it was svn, before svn it was cvs, before cvs it was rcs. RCS was released in 1982.
Through each of those migrations, care was taken to make sure the original history was preserved and migrated to the new version control system.
There are some indications that the BRL-CAD devs may have used SCCS before RCS too, which goes back to 1972, as the project started in 1979 before RCS, but haven't found that repository yet if it did/does exist. I have some 10" data reels from the early 80's that might have them on it, but there's not many devices remaining that can read them. Would have to mail them out to see if they're even still readable, and not a cheap endeavor.
:astonished: wow so much of commits back in the days to today. :raised_hands:
Screenshot-2023-06-10-202126.png
Created a my first triangle using OpenGL, GLAD and GLFW. :grinning:
@Sean The BRLCAD_INCLUDE_DIRS CMake function uses a variable "SYS_INCLUDE_PATTERNS" to decide when to use -isystem to include a path, and that pattern is appended to in the various src/other CMakeLists.txt and *.cmake files. At a glance, it looks like it should already be including the openNURBS headers as system headers...
I see that...
On the surface, seems like maybe complexity that could be reduced, maybe even eliminate BRLCAD_INCLUDE_DIRS altogether. The sorting/reducing of include dirs shouldn't be needed I'd think.
IIRC that sorting serves (at least) the purpose of making sure our directories are prioritized over system directories when there are headers in the system includes that match our bundled versions...
That should be fairly easy enough for me to test. I think we may have resolved at least some of those header naming issues in other ways too.
Wow the ray reconstruction introduced by nvidia is something new. https://youtu.be/sGKCrcNsVzo
I am astonished like how they are able to do that.
I want to learn how to build a real time renderer.
they've basically trained a neural net to fill in the gaps during ray tracing so they can render at a lower resolution (apparently about 1/2 resolution, hence the ~4x speedup). that coincidentally can take advantage of previous frame rays and doubles as a denoiser, which was proven back circa 2016
what's the latest on updated GUI development?
I recall there was archer, some QT one, and I think the rt^3 branch....
The most recent work is in src/qged
It's coming along, but the model part needs at least one more design iteration and doesn't have proper editing support yet.
Right now the focus is on other areas, so there hasn't been much recent activity, but I do hope to get back to it and mature it further
Passing BRLCAD_ENABLE_QT=ON to CMake should build its current state
Is Lee's VSL still a thing? I assume that was the "QT one" that Nathan asked for
@Alexis Naveros I've not heard about VSL recently
The "Qt one" might refer to a couple different efforts over the years on Qt GUI work for BRL-CAD specifically - the two "current" efforts are https://github.com/BRL-CAD/arbalest and https://github.com/BRL-CAD/brlcad/tree/main/src/qged
https://brlcad.org/~starseeker/2023-12-09_qged_hubble.png is the current state of qged
I need help Im running Pop OS and Im trying to download/compile/install BRL Cad and I have look every where that I know to look online/readme file/BRL Cad's website. I still can not figure out how on God's green earth to get this to work. Please I need some step by step instructions on how to get this up and running please.
Hi @John David Cochran, I assume, that you have the BRL-CAD sources? If not or if you want a recommendation which one you should use, I recommend to download the latest soure tar.gz from https://github.com/BRL-CAD/brlcad/releases.
The steps to build the binaries from the sources are listed here: https://brlcad.org/wiki/Compiling Pop! OS is an Ubuntu derivative.
Some personal hints:
cmake-gui
. It makes it easier to set up everything right./home/john/bin/brlcad
. Set the value of the CMake variable CMAKE_INSTALL_PREFIX accordingly and install BRL-CAD there (make install
).Daniel has the right resources - if the instructions there aren't sufficient, please let us know which step(s) specifically are causing trouble and what errors you are seeing. Fortunately, Ubuntu-based platforms should be one of the easier places to build.
Ok following the stuff I have fould this is the list of command I have used so far
Sudo apt install build-essential
Sudo apt install make
Sudo apt install cmake
Sudo apt install libc6-dev
Sudo apt install libfreetype-dev
Sudo apt install libfontconfig-dev
Sudo apt install xserver-xorg-dev
Sudo apt install libx11-dev
Sudo apt install libxi-dev
Sudo apt install libglu1-mesa-dev
and all that goes fine
I then download the file and that goes fine and I make 2 directories one that is /home/john/brlcad and the other one is inside it called build so /home/john/brlcad/build
at this point I copy the downloaded file to /home/john/brlcad
then I navigate to that directory and this is the command I was told to run and it will not compile it correctly
Sudo cmake .. -DBRLCAD_ENABLE_STRICT=NO -DBRLCAD_BUNDLED_LIBS=ON -DCMAKE_BUILD_TYPE=Release
Then I run
sudo make -j8
sudo make install
Can someone point out where I am going wrong? Now the earlier batch of commands I know can be run together as 2 commands I just broke them apart to make sure 1 I didnt miss anything and 2 make sure if any error happened then they would be easier to spot
You unpacked the downloaded source archive to /home/john/brlcad ?
The commands I expect if you're using the 7.38.0 source tarball provided by github would be:
mkdir /home/john/brlcad
tar -xvzf <wherever you downloaded it>/brlcad-rel-7-38-0.tar.gz
mkdir build
cd build
cmake ../brlcad-rel-7-38-0 -DBRLCAD_ENABLE_STRICT=NO -DBRLCAD_BUNDLED_LIBS=ON -DCMAKE_BUILD_TYPE=Release
make -j8
sudo make install
The second argument to CMake is the path of the directory containing the BRL-CAD source code.
Should those lines of code work?????
I would expect them to if the paths are correct - what is the error you are seeing?
Im away from home at the moment I will try it when I get home about 3:00
Ok I just ran the compile step what from the results do you need is there a file?
It reported failure?
Not sure yet the computer I believe is in the process of dieing so Ive changed gears and Im doing everything I can to get my data off safely while I can still. I will test it as soon as I possibly can.
Ok I tested it and it fails to run. This is nuts the provided instrutions are a joke and fail to work no mater what you do.
@John David Cochran would love to try and help you figure out what is wrong honestly more information is needed. Would help if you can provide a complete output of what you’ve typed and what those commands output.
Those command are indeed a possible solution but there are some baked in assumptions like whether you have your environment set up unusually, what all is in you path, versions of tools, permissions issue, or even some inane compilation issue if you got that far. What’s the error (and command and any other output) you’re seeing?
When run the output goes by so fast does it also create a log file or files with that info? If so I will gladly provide them if that would help if you tell me their names and locations.
There are log files for specific parts of the build process but right now there is no info to know which steps are or are not working for you. For example, did the tar.gz expand successfully when you ran the tar zxvf command?
If that succeeded, did cmake succeed (successfully)?
You can just screenshot the last 20 or 30 lines of cmake’s output and that will typically indicate if it was successful.
Happy new year to everyone. :confetti:
Happy new year to you too @Himanshu Sekhar Nayak !
And to everyone else too... I know I've been awol of late -- end of year cleanup, vacation, family time, house project, holiday lights, etc. Worked on lots of different coding things, but in other codes. Playing a lot with llms of late!
Sean said:
And to everyone else too... I know I've been awol of late -- end of year cleanup, vacation, family time, house project, holiday lights, etc. Worked on lots of different coding things, but in other codes. Playing a lot with llms of late!
llm is so buzzing right now these days.
llms, autoencoders, deep nets, neural rendering, ..
happy new years! :D
Hey Erik! Many happy new years to you as well :)
@Sean Not sure if it notifies - I added a couple review requests for you to look at in pull requests on github.
Also - should we go ahead and merge the latest Gist pull request, or does it need more work first?
I've been working on the gist pull review
I get the notifies, I'll take a look
Is BRL-CAD still used by the U.S. military? It seems that nowadays CAD work is more done by contractors using proprietary CAD software.
@Christophe Groulx Yes indeed, every day. BRL-CAD is absolutely used in concert with other CAD software, but it also underpins analytic tools and will unlikely be supplanted there anytime soon. BRL-CAD's specialization is supporting the needs of those analytic tools.
Wow... https://github.com/vosen/ZLUDA
Sean said:
Interesting as it runs on AMD GPU. I wanted to start with gpu programming but never wrote CUDA directly. Indirectly I wrote CUDA using taichi and dr.jit.
I'm not a fan of CUDA because it's a closed proprietary system, prefer OpenCL
but this is an apache-licensed kit that transforms your CUDA code onto AMD GPUs.
Would be really cool if it could be used to bypass the nvidia driver, but it does open up some possibilities. Slight deconstruction of the proprietary wall.
Interesting, the entire implementation is in Rust.
Suppose I have a STEP file. I want a method to create a correlation dictionary that maps the faces of a 3D
model to the corresponding faces in its 2D projections. I came to know recently that there is a python-occ
library which can help but I am not able to figure how to? Any idea how I can start?
You mean like texture mapping? Sounds like texture mapping...
Sean said:
You mean like texture mapping? Sounds like texture mapping...
Not texture mapping. I want to correlate 3D model faces to 2D projection faces in basic orthographic projections (top, side, and front views).
Hm, I'm still not sure I understand still, but also don't think I can help you figure out what STEP entities would be most appropriate or how to encode it in STEP. I'm not aware of it having projection mapping features that would support that. I mean I know how you can do what you're saying with ray tracing as that's literally an orthographic projection, and you can go in either direction.
That is, you can of course render the ortho views which effectively projects the 3D model onto the 2D view plane. You can also use the same technique to project a 2D image onto the 3D model -- the projection shader in BRL-CAD does exactly that for mapping images onto any geometry.
@Sean hello sir i am web developer how cani help in this project please let me know i am very begginer
Parv said:
Sean hello sir i am web developer how cani help in this project please let me know i am very begginer
Hello @Parv happy to help but you're going to have to be more specific than that. Have you looked over our list of project ideas or past projects? That's probably your starting point and then we can discuss which of those is more interesting to you. There are links to our project ideas on the GSoC website.
@starseeker looks like you yanked all of the pkgconfig support in 48bc30b152c6867deea393a0a6a03d4db4f10fe3 ??
that is/was working afaik...
I would definitely consider that deprecation-worthy since it's been in there for years, even if the intent is to remove it for simplicity. Otherwise, I think you'll need to supply a replacement pkgconfig implementation that provides it. It's been a few years since last testing as it was developed for 3rd party devs, but it was and has been working as far as I know.
@starseeker also, did you valgrind 1602a19e0b32f9261f348fe3893b6f86efc6b954 ? My understanding is that 'tp' nmg_kr() is not the same region as killing 'r'. Doesn't tp have the original tree and 'r' is the current one being worked on? I would expect removing the kill to result in memory leaking.
@Sean Hmm. I'll have to double check. I don't think I would have pulled the nmg_kr calls without a reason - my vague recollection is of some sort of double-free issue - but it might be that change was in the context of facetize branch...
As far as pkgconfig is concerned... We can restore them if you prefer, but from my perspective they're effectively untested and unmaintained, and have been that way for a long time. They may work, but it would essentially be accidental. There isn't a pc file for libbv, for example - libpc isn't an output in the current code, so that shouldn't be there... may be other issues if I look more closely. The most annoying thing to me about those (aside from having not tests to confirm whether they work or not) is their lists of -lbu -lbn etc. library files are manually created rather than autogenerated, so any changes to the build setup aren't automatically reflected in them.
I'm not opposed to them per say, but if we're going to provide them I want some way to make sure they're valid, current and working with minimal effort on our part.
Apparently doing it automatically isn't simple: https://stackoverflow.com/questions/44292462/how-to-auto-generate-pkgconfig-files-from-cmake-targets I'm for sure in no position to complain about "evil" CMake solutions, so we can probably figure something out if there's a motivation to do it, but minimally I'd like to have some way of knowing whatever pkgconfig files we're producing are correct.
@Sean I reverted the removal commit for now.
Yep, good catch on the nmg_kr - reverted. That change is specific to the new facetize logic - my bad.
Actually, it might even have been an intermediate state of the facetize work... testing now.
starseeker said:
As far as pkgconfig is concerned... We can restore them if you prefer, but from my perspective they're effectively untested and unmaintained, and have been that way for a long time. They may work, but it would essentially be accidental. There isn't a pc file for libbv, for example - libpc isn't an output in the current code, so that shouldn't be there... may be other issues if I look more closely. The most annoying thing to me about those (aside from having not tests to confirm whether they work or not) is their lists of -lbu -lbn etc. library files are manually created rather than autogenerated, so any changes to the build setup aren't automatically reflected in them.
I get it and not opposed to deprecation, but the new things (of which libbv wouldv'e been on you, heh) and non-existent things (like libpc) aren't going to break anyone by removal. Most likely use cases (librt, libbn, libbu) are almost certainly still working from the looks of what my build last generated.
It was also tested and working when originally set up, and seeing no reason to believe they aren't still working for those core cases. It's also not robust to relocation, but that doesn't matter afaik for pkgconfig. I don't think awareness or lack thereof should really matter when it comes to removing published configuration, but I do have recollection having seen pkgconfig in some external builds. More about giving proper notice to not lose whatever good will and integrations that are out there. Do unto others and such also.
IDK if this is the right place to ask about this, but the BRL-CAD website is throwing an https error and saying the license expired yesterday. Is anyone else having this issue?
Thanks for reporting it! Will be fixed in a minute.
Hi @shahid patel, you are probably looking for this one: https://github.com/BRL-CAD/brlcad/releases
How can I save a frame render in some image format?
Easiest is rt -o file.png
Using the GUI, you can enter the file name also typically fine. It’s easier just to type RT command and add options.
Rt can be run in and outside mged. There’s a man page detailing all the options.
@Sean I'm very happy to find you as a mentor for the projects. I'm a react based front end developer currently switching into Next.js, I have a bit of background in C but not on an industrial level. I'm here to help and contribute as best as I can. I hope a great learning experience at BRLCAD. Thanks for having me here Sean.
Welcome @Kan_ai0 ! There's lots of ways to get involved and projects for just about any tech stack. What are you most interested in? If you're interested in web dev, there's lots you can do to help get OGV further developed. For learning C/C++, there's a lot of attention currently going into geometry conversion with lots of potential projects.
Thanks @Sean I have a good hand in development so I can be a good fit over there. But I want to push myself forward and learn C to contribute at this level. Can you suggest me a good first issue or moderate issue in C ? As I haven't contributed in C previously so I want to learn as much as I can. After that I'm willing to take any developmental role to learn new things and help others. Looking forward to working with you Sean.
@Kan_ai0 That's awesome, great to hear. There's certainly an abundance of C issues that span everything from newbie-first-C-proggie to PhD-thesis-level work.
@Sean Alright i am already checking out the codebase to see where i can be useful. if you have any suggestion of a particular problem for me please let me know.
@Sean Alright i am already checking out the codebase to see where i can be useful. if you have any suggestion of a particular problem for me please let me know.
@Kan_ai0 would you rather work on something that helps you get familiarized, fun, but not necessarily a user-facing feature OR would you rather work on something specific that will help others?
The codebase is like a large city, so just wandering the codebase looking for something to work on is not recommended (you'll get lost and possibly discouraged). There are literally thousands of things so just a matter of picking something simple to get started. It's typically easier to start with something non-user facing, generate geometry with code for example. But then of course the ones that make an impact are the user-facing improvements.
@Kan_ai0 here's a relatively easy one you can work on -- implement a function that takes the name of a database and returns that top-level objects in that database file. You can only use librt, not libged. You can see example code that does this in src/libged/tops/tops.c and a test program that calls that libged function in src/libged/tests/test_tops.c, which you can run to see what it looks like. Your task, though is extracting that core logic into a non-libged function, no option parsing, just report back the top level objects. That's phase one of three...
Thanks a lot @Sean . I will try to complete this project within this week it might take a bit longer but i will complete it. i would try to solve most of the issues on my own but if i run into a big issue that i couldn't solve anyhow, i guess you have to do your hands dirty a bit. Thanks again for the help @Sean .
@Kan_ai0 feel free to open another stream to discuss your progress -- tasks like this are meant to be a learning opportunity and discovery, but not one that you have to do in isolation. This task is what I'd probably call "step 1 of 5" on developing a useful feature that will help users. starts with something simple like figuring out tops, and once you get that working, we can talk about the next step. Each step will present new learning opportunities.. ;)
A message was moved here from #brlcad > (no topic) by Sean.
Will a GUI soon be released? I am interested in learning about BRL-CAD but if the UI changes significantly in the coming months I might wait.
There won't be a production release of a new GUI in the next few months.
starseeker said:
There won't be a production release of a new GUI in the next few months.
Alright thank you. Follow up question, where can I get access to some models to experiment with? There are some impressive ones here but none of them appear to be public.
There are sample models present in the BRL-CAD distribution itself - in a compiled binary they are in share/db and in the source tree they are at https://github.com/BRL-CAD/brlcad/tree/main/db
For the .asc files you'll need to use asc2g to translate them into binary .g files
There are also a few models here: https://github.com/BRL-CAD/models/
https://github.com/BRL-CAD/models/tree/main/NASA/Hubble is fairly nice visually
starseeker said:
https://github.com/BRL-CAD/models/tree/main/NASA/Hubble is fairly nice visually
It is indeed fairly nice. It is however quite slow since it is single threaded. I thought BRL-CAD was optimized for parallel computing, so maybe it's an issue on my side.
@Christophe Groulx Did you compile yourself? BRL-CAD's ray tracer uses all available cores by default.
The wireframe view in Archer was very slow because it only used one thread. The RT view is in fact multi threaded.
Unless you turned it parallel, that could result in single threaded, or the render could have completed and it's bottlenecked on something else. You can rule out the display, for example, by rendering to a file instead of to a window.
That said, it does have 1.5M triangles, so it's not a simple model depending on your hardware. There is a higher-performing ray tracer you can try if that's your slow point (i.e., in mged can "set env(LIBRT_BOT_MINTIE) 1" or LIBRT_BOT_MINTIE=1 in shell before running MGED).
Ahh, sorry just saw you're referring to the wireframe!
Turn on display lists and drawing shaded will be dramatically faster -- turn on Display Lists on the Modes menu. Draw shaded with "draw -m1 all.g"
I'm not sure the display list toggle is in Archer - MGED allows you to turn it on and off, but I don't know if Archer does.
Ah, Archer. Even still, shaded will typically display faster than wireframe (and often unexpected how much).
I do believe archer is display lists only already, and a quick test seems to confirm that.
@starseeker from a theory perspective, per cpu arrays is always going to be faster than a shared-thread container. fun test, still interesting to hear any stats you uncover.
@Sean Are you referring to the rtbotqueue branch? I'm not really expecting that to be the answer, was just exploring to see if it was an option to replace the bu_thread_id mechanism as a drop-in.
Our old BoT code used a local variable the way Chris's recent commit does, but we weren't sure if doing that messes with the speed-ups
starseeker said:
Sean Are you referring to the rtbotqueue branch? I'm not really expecting that to be the answer, was just exploring to see if it was an option to replace the bu_thread_id mechanism as a drop-in.
Yes, that branch.. but that's exactly what my point was. The bu_thread_id() "mechanism" is for accessing per-cpu memory. There's nothing from a theory perspective that is faster than per-cpu memory other than not reading/writing memory altogether.
Even that particular implementation we have is a function call to a function that returns a precomputed int. Might slow a debug build, but those function calls inline on optimized and all accesses are O(1) direct for both read and write.
We need to fix the bug, not implement a workaround...
Chris's recent comment points at a potential release-halting bug imho... I definitely would not work around it as it implies something is critically wrong either in the build testing, code, or compiler.
If it's not returning a unique int per thread, that's a bug full stop. Might mean there's something wrong in the thread.cpp implementation, or in the cmake tests that determine which method it uses on windows.
@Sean As mentioned, hlbvh changes aren't in the 7.40 RELEASE branch - we split off 7.40 into RELEASE and started working on 7.42 in main while waiting for the cfarm testing to finish up
When you've got time if you can help us dig into how that bu_thread_id should be working and what it's doing instead it would be helpful.
Sean said:
We need to fix the bug, not implement a workaround...
Chris's recent comment points at a potential release-halting bug imho... I definitely would not work around it as it implies something is critically wrong either in the build testing, code, or compiler.
If it's not returning a unique int per thread, that's a bug full stop. Might mean there's something wrong in the thread.cpp implementation, or in the cmake tests that determine which method it uses on windows.
It's not a bug, it's Windows being Windows. The Thread ID's being returned are correct (and unique at that snapshot in time). The problem lies in Windows immediately reusing an ID after a thread terminates.
@Christopher How's it leading to corruption then? I mean conceptually, that's what IDs and per-cpu buffers are still supposed to ensure that there's no contention reading/writing from them using an ID because they ultimately (should) associate with a particular core/thread and you'll never have two cores/threads concurrent.
So even if IDs are reused because a thread is short-lived, that should be fine..
Now what I could see is the IDs growing larger than maxcpus, and a code assuming they're modulo that would be in trouble.
e.g., if it made per_cpu_arrays[maxcpus], and bu_thread_id() going outside that range
Sean said:
Christopher How's it leading to corruption then? I mean conceptually, that's what IDs and per-cpu buffers are still supposed to ensure that there's no contention reading/writing from them using an ID because they ultimately (should) associate with a particular core/thread and you'll never have two cores/threads concurrent.
So even if IDs are reused because a thread is short-lived, that should be fine..
Good point... Maybe the problem is with the modulo?
Thinking through it - a thread id 100%4 and 104%4 would both be writing to the same hit array. Perhaps Windows is just exaggerating the problem since it doesn't increment id's
Oh, yeah wow, no -- that's totally NFG...
I hadn't looked at the code yet, but modulo is definitely no bueno. If I had a 2-core system and got thread id's 0, 1, and then thread 1 ends and thread 3 starts, it will conflict with thread 0.
yeah. Can't believe it took me that long to see it
Same can/will happen if more threads than cores are created as the thread_id is just increasing. Easy solution will be to make the per-cpu container be size MAX_PSW
That's supposed to be the hard limit indexable, such that all IDs should be in that range. I don't think we have all the necessary code protections to ensure someone kicking off 10k threads doesn't end up with a bad time, but that's how rt operates.
what would be the index then - the thread ID itself? Also, we're upfront allocating the arrays which seems like it could cause problems
you can/should up-front allocate MAX_PSW -- it's a nominal waste of memory, but that's what makes it semaphore-free
just shouldn't be a huge allocation (hopefully)
but yes, then the id is the index into the array
the id is set in parallel.c during thread creation, so it should be some value from 0 to MAX_PSW-1 iirc
the id is just an int, but it's parallel's job to only hand out one per available compute core. so when a thread exits, parallel can either re-issue a previous id or the next available.
been a long time, but the magic happens in parallel_mapping() where it keeps track of everything including recursive parallel invocations. that was part of work years ago to make bu_parallel robust to applications kicking off N threads, and each of those N threads potentially kicking off their own N threads, and works hard to handle that robustly.
I see what they were trying to do now. They used bu_thread_id(), which is the literal os thread ID, instead of bu_parallel_id() which is the CPU number.
AHHhhh.. yeah, that'll do it.
That's not MAX_PSW ranged...
I think you added that for the temp file debugging a while back, yes?
exactly, hench where my indexing question came from heh. MAX_PSW + the right function appears to do the trick - grabbing some speed metrics now
Yeah, per-cpu buffers would be problematic if the index were even uint16_t for some cases, definitely not uint32 or 64
Sean said:
I think you added that for the temp file debugging a while back, yes?
I added it to generate pseudo-random temp file names in a parallel run.
might be a good candidate for migration to temp.c as a static to avoid confusion, or at least updating the header to make it clear it shouldn't be used with parallel as an index
I think functionally it moreso belongs in parallel. But definitely needs some better header documentation
Agree it functionally belongs in parallel if it's going to be public API.
Static would just be to reduce API footprint if that's the only use. All public API should (ideally) be used in multiple places too to justify them, but that's long-term maintenance and of course conflicts with works in progress that might only have 0 or 1 places in use. Will just have to keep an eye out for some place to leverage it meaningfully.
If we had proper logging, I'd want thread ID and parallel ID prefixed on the log lines to know who is saying what
something I've had in mind for yearss, and reminded of just recently with Dwayne's comment about not wanting rt to output anything.
@Sean I saw while doing cmake for brlcad, sub-modules are being downloaded. Is it necessary?
@Himanshu the repository was reconfigured so that it no longer contains 3rd party dependencies. with lots of major new features coming that introduce more/bigger dependencies, they no longer "fit" like they did in the past in src/other. Now they're all in a "bext" repo, and if you don't download and install them yourself, they're downloaded and compiled automatically during cmake.
You can clone the bext repo, compile, and install it yourself, then point to it during compilation of the brlcad repo with the -DBRLCAD_EXT_DIR=path/to/bext_output_dir cmake option
It still takes a lot of time and space to compile all the 3rd party deps, but if you do it in advance, then you can re-use the bext build over and over whereas the 'brlcad' repo will download the deps every time you start over with a fresh build dir.
Is the bounding volume hierarchy algorithm already implemented in brl-cad?
Matteo Balice said:
Is the bounding volume hierarchy algorithm already implemented in brl-cad?
I guess not. I have tried to find the documentation before
yes, search for bvh in src/librt
you'll find one implementation in cut_hlbvh and another inside src/librt/primitives/bot that is our new usage
@Sean Chris asked me earlier, and I realized I don't actually know... RT_DBNHASH is deprecated, so what is the recommended/approved way to iterate over all directory pointers open in a database?
I have to admit I usually just use the double for loop a.l.a. https://github.com/BRL-CAD/brlcad/blob/main/src/libged/lint/cyclic.cpp#L148 - with RT_DBNHASH on the removal list, I was wondering what such iterations should look like instead?
How can I import a gltf in brl-cad?
Matteo Balice said:
How can I import a gltf in brl-cad?
you can use the geometry conversion (gcv) tool with the assetimport library. Something like
gcv --input-format=assetimport IMPORT_FILE.gltf OUTPUT_FILE.g
Christopher ha scritto:
Matteo Balice said:
How can I import a gltf in brl-cad?
you can use the geometry conversion (gcv) tool with the assetimport library. Something like
gcv --input-format=assetimport IMPORT_FILE.gltf OUTPUT_FILE.g
I have convert my chess.gltf in brlcad chess.g and now I have to do ray tracing with this model. So I have imported chess.g in mged, I did the command tops to see all the objects and it outputs me:
The problem is that, when I specify the object of chess.g, the terminal outputs me this:
image.png
What does it mean?
It looks like something may have gone wrong with the conversion and the object does not have any geometry. Are you able to draw default.1.3.b.o.s in mged? Also, what does ‘list’ show?
Ah nevermind - I see your ‘l’ output. The reason it wont raytrace is because it converted as a surface. This means the mesh is not ‘closed’ (manifold).
I think that should still raytrace?
Maybe not...
How can I convert in the right way?
Should I import in blender and fix it there?
@starseeker could he use any of the bot tools?
If it's not solid, importing it into blender or some other tool is probably the way to go
It depends a bit on what the modeling intent is. If it's a bot that's supposed to be a solid but isn't, then there are a few things (particularly in the latest BRL-CAD release) you can try. If it's a mesh intended to represent a thin "skin" - like an airplane's exterior - then to get a raytrace you can mark it as being a plate mode bot
if it came in as a surface despite being a manifold, that might be an issue with the importer
There may be something else going on here though - a quick test turning a plate mode into a surface mode BoT and raytracing it, I still get an image
mged> l test.bot
test.bot: Bag of triangles (BOT)
20 vertices, 10 faces (unoriented)
This is a surface with no volume
use -v (verbose) for all data
If someone wants to reproduce, I'm using the Generic_Twin.g example in BRL-CAD. More or less at random, I picked 7852.1.t0 to test:
mged> cp 7852.1.t0 test.bot
mged> bot set type test.bot surf
mged> bot get type test.bot
surface
mged> e test.bot
mged> rt
For me, that raytraces. So I'm not sure why the gltf import wouldn't...
I checked in blender the mesh I wanted to import and there were a lot of issues: face intersections, holes in the mesh... I couldn't even resolve with the auto tool in blender.
For this reason I have changed the mesh, now it seems to work :)
(I have to raytrace just one of the mesh of this paper https://weiphil.s3.eu-central-1.amazonaws.com/neural_bvh.pdf, just for comparison purposes)
@Sean Hello, could you point on k-g to do list ? I used lsdyna before and wondering what can I do and see how mesh can transform between structures
@scorp08 Sorry for the late reply -- I was traveling last weekend. Are you looking for something specific? The idea is to support the import of geometry described in lsdyna's k-file format. It's being actively worked now by @Louis Googl under his GSoC effort: https://summerofcode.withgoogle.com/programs/2024/projects/y7LyLUtV
@scorp08 Hello there. yes I am currently working on the k-g converter. we have the shell element already implemented by @Daniel Rossberg and I have added the implementation of a solid element and beam element with tubular cross section. Currenlty I am working on the resultant beam with various types of cross-sections. Here is a link to the development repo.
Let me know if you have any specific questions.
Hi, I'm trying to access the wiki (https://brlcad.org/wiki) but anything that points to it returns HTTP 500. Is it down?
Hi, the wiki is getting upgraded
Hi, I am looking for how to serialize into memory buffer instead of file. It seems that I can deserialize from memory buffer using db_dirbuild_inmem() but I cannot find function for serialization.
@Sean when the wiki will be up?
@Himanshu great question. there's still more work. the server is operating in a degraded state with a bad hard drive so everything takes an excruciatingly long time. backing up files and database took a couple days, just to give an idea, and no way to make it faster. this is a bandaid until we migrate to the new server.
Hey @Sean Do we have the support of BRL-CAD on mac os, i have tried running the cmake so many times but it fails, do we have a release of BRL-CAD for mac os, i found there are releases of linux and windows only.
Screenshot 2024-09-28 at 11.58.35AM.png
@Stewi What's the CMake failure? I'm not typically set up to build with Mac, which is why the binaries are usually linux and windows, but it should build on Mac... we have a Github CI that runs on Mac regularly.
@Stewi have you tried adding the cmake option -DBRLCAD_BUNDLED_LIBS=ON ? You're likely running into conflicts with system versions of Tcl/Tk -- it needs to use the newer versions that ship with BRL-CAD.
We do need to make it so the default build works (it doesn't) on Mac, but that is a workaround.
hello everyone, I am parv . I am intrested in contributing in brlcad .
can anyone please help ?
Hello @Parva jain and everybody else interested in contributing to BRL-CAD, you should install BRL-CAD first. The installation packages can be found at https://github.com/BRL-CAD/brlcad/releases. They will install over 200 programs. Most of them are small command line tools. The most interesting are our old but still heavily used GUI mged and the more modern GUI archer. Go through the mged tutorial https://brlcad.org/w/images/c/cf/Introduction_to_MGED.pdf.
Gain an overview of the existing documentation at https://brlcad.org/wiki/Main_Page.
To start programming, download the source code from https://github.com/BRL-CAD/brlcad, compile, and install the programs (see https://brlcad.org/wiki/Compiling).
I am getting an error while doing cmake to build brlcad. From the latest commit, I pulled out.
CMake Error at misc/CMake/BRLCAD_Util.cmake:102 (_message):
Unable to successfully build bext dependency repository
Call Stack (most recent call first):
misc/CMake/BRLCAD_EXT_Setup.cmake:270 (message)
misc/CMake/BRLCAD_ExternalDeps.cmake:112 (brlcad_ext_setup)
CMakeLists.txt:2148 (include)
Came to know now that we have submodules now? Never saw in version 7.34.0
.
Yes, the dependency management of BRL-CAD has changed.
My suggestion would be to try building the bext repository independently, to first identify any problems there. See https://github.com/BRL-CAD/bext/blob/main/README.md
If you're on one of the BSD platforms, we still need to integrate the geogram patches for that platform.
Hello everyone,
I am new to BRL-CAD and open-source,
I'm encountering issues while configuring and building BRL-CAD using CMake on Windows.
I was trying to set-up BRL-CAD repository locally (https://github.com/BRL-CAD/brlcad) and I ran into this issue while executing this (cmake .. -DENABLE_ALL=ON -DCMAKE_BUILD_TYPE=Release)
i have also tried this ---> cmake .. -G "MinGW Makefiles" -DBRLCAD_ENABLE_STRICT=OFF -DCMAKE_BUILD_TYPE=Release
Any guidance on resolving these issues would be greatly appreciated!
Thanks!
Hi @Jigyasu Rajput, as far as I know, currently only MS Visual Studio can build BRL-CAD on Windows. Unfortunately, I haven't build it on Windows for a long time. But I know that the build scripts were altered lately, and the MSVC test build after the last change was successful. I.e., its's worth to retry the build, may be without options, just cmake with the source directory.
Thankyou @Daniel Rossberg for replying,
I resolved the issue by setting it on Visual Studio
I am Indranil, a first-year BCA student at RVU with hands-on experience in Node.js, JavaScript, MongoDB, and React. I am passionate about technology and problem-solving and am eager to contribute to projects that align with these interests. I am actively seeking guidance on how to further develop my skills and make meaningful contributions to open-source and tech-driven initiatives.
I am Gufran Khan, a Second -year student at BIT Sindri , I am well aware python, C++,C. Could you recommend any beginner-level projects, resources, or issues within for me to get started?.
I am actively seeking guidance on how to further develop my skills and make meaningful contributions to open-source and tech-driven initiatives.
Hello everyone, I am Ravish. I am currently studying at Polaris School of Technology, where I am in my first year. I have knowledge of Python and few of its libraries, Java, JavaScript, Html , Css, C++ as well as MERN Stack basics. Rest skills I am definitely sure, I will learn while doing it very rapidly. I am eager to contribute to the organization . As Open source provides an excellent opportunity to learn a lot by working on various tasks together so I am very excited and eagerly want to work and ready to give my 100%.
So, will you please help me in the journey of open source and contributing to the org? like:- I want to work on the project then which type of project is coming?
And also you can assign a work to me I keep my full effort to make it happen. I have explored the options and found a keen interest in contributing to the organization. I will be great full to you.
I am having problems installing cmake and brlcad, with a number of failed library, compiler installations.
image.png
image.png
Note that I am using VS Studio C. I would really appreciate if someone could help!
These failed checks aren't usually a problem. They help setting up your build files by testing, which flags are supported by your compiler, which operating system features are available, etc.. Don't panic when seeing these messages.
The serious error messages are the red ones.
Thanks so much! I proceeded to click generate but it said that the process failed:
Could you give direction on what the problem could be?
The bad news is that there seems to be exactly one case, where the MS Visual Studio build succeeds: The check/test compilation on github. It works on the Visual Studio 2022 command prompt and uses the provided CMake (i.e., not the GUI). The executed commands can be seen here: https://github.com/BRL-CAD/brlcad/blob/main/.github/workflows/check.yml. Look for "Windows Latest MSVC - Standard Tools" there. All other attempts, especially on own hardware, seem to have failed.
However, I'm doing my own builds on Debian stable (bookworm). It's much easier there.
I don't really understand how the workflow works; what was the process for using Debian stable? I'm new to workflows and complex installation processes.
The general category of failure was the bext repository being unable to successfully build as part of the configure process - it's not clear from that image what specifically failed.
The environment I usually use to build is the Visual Studio Command Prompt (power shell version). I have occasionally tried building within Visual Studio, but at least for me there is a problem with Tcl's nmake setup - although it DOES work from the VS Powershell prompt, it will not build successfully from within the Visual Studio environment. I don't know if that's what your specific failure is, but that is definitely one I have seen.
The first thing I would recommend is building the bext repository separately and see what fails, rather than having configure do it behind the scenes with the BRL-CAD build proper. See https://github.com/BRL-CAD/bext for more info.
If anyone can figure out why the Tcl nmake build doesn't work inside Visual Studio, that would be very helpful - I'm not skilled in the arcana of VS build files and nmake inputs, so I don't know what is going wrong there. I do know it's been like that for a VERY long time, though - it was an issue circa 2010 as well.
I conferm that you can build the bext using visual studio but the Tcl build fails because of the nmake error and you can build it in the powershell using : cmake --build . --config Debug --target TCL_BLD then to use it with brlcad you can use
cmake .. -DBRLCAD_EXT_DIR="D:\summer\bext_output\install\bext_output" -DBRLCAD_ENABLE_QT=ON -DCMAKE_BUILD_TYPE=Debug
image.png
this works for the main branch. but the configuration fails with devel_k-g
image.png
@starseeker any advices?
You may need to merge main into devel_k-g, before the build works with the current bext. (However, because devel_k-g was merged into main, this should be the same as main?)
That's what is so weird about it, you merged devel_kg to main and we haven't changed anything since that but it doesn't configure. Also I built bext and used it to configure the main branch, then I used the same bext build to configure devel_k-g but it doesn't work.
That's right, the last change to devel_k-g was on October 21st. But there were changes to bext and brlcad/main since then. Maybe, the brlcad/devel_k-g build work with the bext version from October 21st.
well I think you are right, I just cloned the branch recursivly and it configures and builds with no problems (I didn't use bext separate build). Thanks
@Arya Paliwal for me with VS it works by opening the Developer PowerShell as adminstartor and
1- cloning
git clone --recursive https://github.com/BRL-CAD/brlcad.git
2-creating a build directory inside the cloned directory
3-inside the build directory running this line
cmake .. -DBRLCAD_ENABLE_STRICT=NO -DBRLCAD_BUNDLED_LIBS=ON -DCMAKE_BUILD_TYPE=Debug
then you can build using visual studio normally by opening the solution and building the ALL_BUILD project.
The build now works with VS by using git clone --recursive. Thanks for you help!
I have looked at the first "deuce" for closing tabs only when both windows are closed, but could not find the /bindings.tcl or the /openw.tcl in my /tclscripts/mged directory. Is that a problem?
Edit: actually nevermind I found the files!
@Sean Just a general question - I noticed you were removing end-of-file line returns in the recent cleanup. Given POSIX defines a line as characters ending with a terminating newline charcter (https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206) would it be better for us to have a newline at the end of files? I doubt it matters practically speaking, just curious if there are theoretical implications.
@starseeker Do you have an example? I only see removal of double newlines. There were just a handful of files that have a stray additional blank line or three after the last line. They should all be newline terminated.
Last updated: Jan 09 2025 at 00:46 UTC